master
md 13 KB

IBM i (AS/400) Monitoring Solutions Comparison

This document provides a comprehensive comparison of IBM i monitoring solutions and their capabilities.

Solutions Overview

1. Netdata IBM.d AS400 Module

Repository: https://github.com/netdata/netdata Language: Go Connection: ODBC (unixODBC + IBM i Access ODBC Driver) Architecture: Direct ODBC connection with configurable reset statistics IBM i Version: 7.2+ (enhanced features for 7.3+, 7.4+) Unique Features: - Real-time, high-resolution metrics - Statistics reset control - Cardinality management - Extensive network, disk health, and HTTP server monitoring

2. Datadog IBM i Integration

Repository: https://github.com/DataDog/integrations-core/tree/master/ibm_i Language: Python Connection: ODBC (IBM i Access ODBC Driver) Architecture: Subprocess-based query execution with connection pooling IBM i Version: 7.2+ (enhanced support for 7.3+) Unique Features: - Message queue monitoring with severity filtering - Job queue detail breakdown (released, scheduled, held) - Normalized CPU metrics - Job queue duration tracking

3. Prometheus JDBC Exporter (ThePrez)

Repository: https://github.com/ThePrez/prometheus-exporter-jdbc Language: Java Connection: JDBC (IBM JT400 bundled) Architecture: Multi-threaded metric collection IBM i Version: Any version with JDBC support Unique Features: - Custom SQL queries - Multi-row/single-row modes - Service Commander integration - Interval-based or point-in-time collection

4. IBM i Remote Prometheus Monitoring (Chadys)

Repository: https://github.com/Chadys/ibmi-remote-prometeus-monitoring Language: Python Connection: ODBC (pyodbc) Architecture: Prometheus client library with continuous refresh IBM i Version: 7.2+ (gracefully handles version differences) Unique Features: - Prometheus-compliant naming - Automatic unit conversion - Graceful downtime handling - Multi-server support

5. Check_AS400 Nagios Plugin

Repository: https://github.com/cjt74392/check_as400 Language: Java Connection: Telnet (optionally SSL/TLS) Architecture: Command-line plugin for Nagios IBM i Version: 5.3+ (adaptations up to 7.3) Unique Features: - Multi-language support (EN/FR/DE/IT) - iCluster/MIMIX high availability monitoring - Job-specific checks and troubleshooting - Problem management integration

6. IBM Nagios for i (Official) - ARCHIVED

Repository: https://github.com/IBM/nagios-for-i (No longer maintained) Language: Java Connection: JDBC (IBM JT400) Architecture: Daemon server or standalone process IBM i Version: 7.1+ (DiskConfig not supported in 7.5+) Unique Features: - SQL Services based monitoring - Daemon mode for efficiency - HMC monitoring support - Nagios XI wizard integration

7. New Relic AS/400 Integration

Repository: https://github.com/newrelic-experimental/nri-as400 Language: Java Connection: JT400 native APIs Architecture: 5 separate OHI for New Relic Infrastructure IBM i Version: Any version supporting JT400 Unique Features: - Message queue checkpoint management - Separate OHI components for modular deployment - Detailed job-level monitoring with MSGW status - Storage pool thread transition metrics

8. Uptime Infrastructure Monitor AS/400 Plugin

Repository: https://github.com/uptimesoftware/ibm-as400-monitor Language: Java Connection: JT400 native APIs with program calls Architecture: Plugin for Uptime Infrastructure Monitor (v7.3-7.7) IBM i Version: Any version supporting JT400 Unique Features: - PTF (Program Temporary Fix) monitoring - Multiple specialized monitor types - Custom command execution (DRIFT/RTVASPPERC) - Simple plugin-based deployment

9. Zabbix AS/400 Templates

Repositories: - https://github.com/zabbix/community-templates - https://github.com/muutech/zabbix-templates Language: N/A (template configurations) Connection: SNMP or Agent emulator (requires external implementation) Architecture: Templates for Zabbix monitoring system (v3.0+) IBM i Version: Depends on SNMP support or agent emulator Unique Features: - Process discovery - Output queue monitoring - SNMP-based memory monitoring - Note: Templates only - requires separate implementation

Metrics Comparison

Legend

  • ✅ = Fully supported
  • ⚠️ = Partial support
  • ❌ = Not supported
  • 🔧 = Configurable/Custom
  • 📊 = With performance data

System & CPU Metrics

Metric Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
CPU Utilization ⚠️¹
CPU Configuration
CPU Capacity
CPU Rate/Activity
Min/Max CPU
Per-Job CPU 🔧 ⚠️¹
Top CPU Jobs ✅² 🔧 ⚠️¹

¹ Depends on agent emulator implementation ² Enable collect_active_jobs to capture top CPU jobs

Memory & Storage Metrics

Metric Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
Memory Pools ⚠️¹
Pool Threads
Main Storage ⚠️²
Temp Storage ⚠️
Storage Buckets
Address Usage

¹ Depends on agent emulator ² SNMP version supports via HOST-RESOURCES-MIB

Disk & ASP Metrics

Metric Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
Disk Busy 🔧 ⚠️¹
Disk I/O 🔧 ⚠️¹
Disk Space 🔧
Disk Health 🔧 ⚠️²
SSD Metrics 🔧
ASP Usage 🔧
ASP Storage 🔧

¹ Depends on agent emulator ² Not supported in 7.5+

Job & Workload Metrics

Metric Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
Active Jobs 🔧
Job by Type 🔧
Job Status 🔧 ⚠️¹
Job Queues 🔧 ⚠️¹
Subsystems 🔧
Job Temp Storage 🔧
Job Threads 🔧

¹ Depends on agent emulator

Network & Messaging

Metric Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
Network Connections 🔧
Network Interfaces 🔧
HTTP Servers 🔧
Message Queues 🔧
Output Queues 🔧
Message Checkpoints

Special Features

Feature Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
HA Monitoring ✅¹
PTF Monitoring 🔧
System Values 🔧
Plan Cache 🔧
Custom SQL ⚠️ ⚠️ ⚠️²
Problem Detection
Long Running SQL 🔧
Login Test

¹ MIMIX and iCluster support ² Custom commands like DRIFT/RTVASPPERC

Implementation Comparison

Aspect Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
Deployment Plugin Agent Standalone Standalone Nagios Plugin Nagios Plugin NR OHI Plugin Template
Multi-Server ❌¹ ⚠️²
Statistics Reset N/A N/A ⚠️²
Auto-adapt Version ⚠️²
Daemon Mode ⚠️²
Security 🔒 🔒 🔒 🔒 ⚠️³ 🔒 🔒 🔒 ⚠️²
Maintenance ✅ Active ✅ Active ✅ Active ✅ Active ✅ Active ❌ Archived ⚠️ Experimental ❓ Unknown N/A⁴

¹ One remote server at a time ² Depends on agent emulator implementation ³ Telnet unencrypted by default, SSL/TLS optionalTemplate only, requires implementation 🔒 Encrypted connection

SQL Services & APIs Used

Service/API Netdata Datadog Prometheus Chadys check_as400 IBM Nagios New Relic Uptime Zabbix
SYSTEM_STATUS() 🔧
SYSTEM_ACTIVITY_INFO() 🔧
ACTIVE_JOB_INFO() 🔧
MEMORY_POOL() 🔧
MEMORY_POOL_INFO 🔧
SYSDISKSTAT 🔧
MESSAGE_QUEUE_INFO 🔧
NETSTAT_INFO 🔧
HTTP_SERVER_INFO 🔧
SYSTMPSTG 🔧
QWCRSSTS API
QUSRJOBI API
Telnet/Screen Scraping
SNMP ⚠️¹

¹ SNMP version available 🔧 Configurable via custom SQL

Unique Capabilities by Solution

Netdata: - Network interface and HTTP server monitoring (exclusive) - SSD health and age monitoring - Comprehensive temporary storage tracking with buckets - Plan cache monitoring - Message and output queue metrics with cardinality safeguards - Built-in cardinality limits to prevent metric explosion - Statistics reset control

Datadog: - Message severity filtering - Job queue duration tracking - Normalized CPU metrics

Prometheus JDBC: - Full custom SQL support - Multi-row/single-row collection modes - Service Commander integration

Chadys: - Automatic unit conversion to Prometheus standards - Graceful downtime handling

check_as400: - HA monitoring (MIMIX/iCluster) - Problem detection and management - Multi-language support (EN/FR/DE/IT) - Login test capability

New Relic: - Binary message queue checkpointing - Storage pool thread transition metrics

Uptime: - PTF (Program Temporary Fix) monitoring (exclusive) - Custom command execution (DRIFT/RTVASPPERC)

Zabbix: - Template-based configuration - Process discovery - SNMP support option

Notes on IBM i Version Compatibility

All solutions adapt functionality based on IBM i version: - 7.2: Basic functionality for all solutions - 7.3+: Enhanced queries, active job info, subsystem monitoring - 7.4+: Full SYSTEM_STATUS() detailed info (Netdata) - Legacy (5.3-7.1): Only check_as400 fully supports