Native Prometheus Exporter for IBM AIX
AIX-exporter brings modern observability to your IBM Power Systems infrastructure. Written in C with libperfstat, it runs as a lightweight single binary with zero external dependencies.
22 Collectors
Comprehensive coverage of your AIX systems:
Core Metrics
- CPU – per-CPU utilization: user, system, idle, wait
- Memory – real/virtual memory, page faults, paging rates
- Disk – read/write ops, transfer rates, busy% per hdisk
- Network – bytes/packets in/out, errors per interface
- Partition – entitled capacity, virtual CPUs, weight, capped/uncapped
Storage
- Fibre Channel – frames, bytes, errors per fcs adapter
- Disk Adapter – adapter-level I/O statistics
- Disk Path – multipath I/O per path (MPIO)
- Volume Groups – free/total PPs, stale PVs
- Paging Space – usage per paging space (LV and NFS)
System
- Uptime – boot time, uptime seconds
- Processes – total count, threads, zombie detection
- Error Report – errpt entries grouped by class and type
- Load Average – 1/5/15 minute load averages
- LPAR Config – SMT, shared/dedicated mode, entitled capacity
Network
- Protocol – TCP/UDP/IP/ICMP counters
- Net Interface – detailed stats: collisions, queue lengths
- Net Buffer – network buffer pool utilization
- Net Adapter – adapter-level network statistics
File Systems & NFS
- File Systems – total/free/used per mount, inode usage
- NFS – NFSv3, NFSv4, RPC client/server statistics
Configuration & Runtime Options
AIX_exporter is designed for enterprise flexibility. Every aspect of the agent can be configured via command-line flags or a simple configuration file (/etc/aix-exporter/aix-exporter.conf).
| Feature |
Description |
| Configurable TCP port |
Listen on any port with -p <port> (default: 9100) |
| Bind address |
Restrict to a specific interface with -l <addr> (default: 0.0.0.0) |
| Sampling period |
Adjust scrape interval with -s <seconds> (default: 30s) |
| Selective collectors |
Enable only the collectors you need via config file – choose from 22 collectors or use all |
| Configuration file |
All options in /etc/aix-exporter/aix-exporter.conf – no flags needed |
| Syslog integration |
All events logged to syslog (facility local3) – startup, shutdown, timeouts, errors |
| SRC managed |
Registered as an AIX SRC subsystem – start/stop with startsrc/stopsrc |
| Auto-start on boot |
Inittab entry created automatically – survives reboots |
| Graceful shutdown |
Clean signal handling (SIGTERM/SIGINT) with syslog notification |
| Collector timeout protection |
Individual collector timeouts prevent one slow collector from blocking all metrics |
| Standard BFF package |
Native AIX installp installation – no dependencies, no compilers needed |
Complete Metrics Reference
Browse all 137 metrics exported by AIX_exporter, organized by category. Each metric generates multiple time series depending on the number of CPUs, disks, filesystems, and network interfaces on your LPAR.
CPU & Load – 20 metrics
| Metric |
Description |
aix_load1 |
1-minute load average |
aix_load15 |
15-minute load average |
aix_load5 |
5-minute load average |
aix_lpar_cpucap_max |
Maximum CPU capacity (x100) |
aix_lpar_cpucap_min |
Minimum CPU capacity (x100) |
aix_lpar_cpucap_online |
Online CPU capacity (x100, 200 = 2.0 cores) |
aix_lpar_cpucap_weightage |
Variable capacity weight for uncapped mode |
aix_lpar_lcpus |
Number of logical CPUs |
aix_lpar_phys_cpus_pool |
Physical CPUs in the shared processor pool |
aix_lpar_vcpus_desired |
Desired virtual CPUs |
aix_lpar_vcpus_max |
Maximum virtual CPUs (DLPAR ceiling) |
aix_lpar_vcpus_min |
Minimum virtual CPUs (DLPAR floor) |
aix_lpar_vcpus_online |
Number of virtual CPUs currently online |
node_context_switches_total |
Total number of context switches. |
node_cpu |
Seconds the cpus spent in each mode. |
node_forks_total |
Total number of forks. |
node_intr_total |
Total number of interrupts serviced. |
node_load1 |
1m load average. |
node_load15 |
15m load average. |
node_load5 |
5m load average. |
Memory & VMM – 23 metrics
| Metric |
Description |
aix_client_fs_no_fsbuf |
client filesystem I/Os blocked with no fsbuf |
aix_client_pages |
client pages |
aix_compressed_pages |
compressed pages |
aix_compressed_percentage |
compressed percentage |
aix_ext_pager_fs_no_fsbuf |
external pager filesystem I/Os blocked with no fsbuf |
aix_file_pages |
file pages |
aix_free_pages |
free pages |
aix_fs_no_fsbuf |
filesystem I/Os blocked with no fsbuf |
aix_lpar_mem_desired_mb |
Desired memory in MB |
aix_lpar_mem_max_mb |
Maximum memory in MB (DLPAR ceiling) |
aix_lpar_mem_min_mb |
Minimum memory in MB (DLPAR floor) |
aix_lpar_mem_online_mb |
Memory currently online in MB |
aix_lruable_pages |
lruable pages |
aix_maxperm_pct |
maxperm percentage |
aix_maxpin_pct |
maxpin percentage |
aix_memory_pages |
memory pages |
aix_memory_pools |
memory pools |
aix_minperm_pct |
minperm percentage |
aix_numperm_pct |
numperm percentage |
aix_pct_mem_compute_pages |
percentage of memory used for computational pages |
aix_pending_disk_io_no_pbuf |
pending disk I/Os blocked with no pbuf |
aix_pinned_pages |
pinned pages |
aix_remote_pageouts_scheduled |
remote pageouts scheduled |
Filesystem – 6 metrics
| Metric |
Description |
node_filesystem_avail_bytes |
— |
node_filesystem_files |
— |
node_filesystem_files_avail |
— |
node_filesystem_files_free |
— |
node_filesystem_free_bytes |
— |
node_filesystem_size_bytes |
— |
LPAR – 15 metrics
| Metric |
Description |
aix_lpar_ams_capable |
1 if Active Memory Sharing capable |
aix_lpar_ams_enabled |
1 if Active Memory Sharing enabled |
aix_lpar_capped |
1 if LPAR is capped (cannot exceed entitled capacity) |
aix_lpar_dlpar_capable |
1 if DLPAR (dynamic reconfiguration) is supported |
aix_lpar_donate_capable |
1 if capable of donating cycles |
aix_lpar_donate_enabled |
1 if enabled for donating cycles |
aix_lpar_drives |
Total number of drives |
aix_lpar_entitled_proc_capacity |
Entitled processor capacity (x100) |
aix_lpar_lpar_capable |
1 if system supports LPARs |
aix_lpar_nw_adapters |
Total number of network adapters |
aix_lpar_processor_mhz |
Processor frequency in MHz |
aix_lpar_shared |
1 if LPAR uses shared processor mode (0 = dedicated) |
aix_lpar_shared_capable |
1 if shared processor mode is supported |
aix_lpar_smt_enabled |
1 if SMT is enabled |
aix_lpar_smt_threads |
Number of SMT threads per physical core |
Network – 19 metrics
| Metric |
Description |
aix_icmp_errors_total |
ICMP errors |
aix_icmp_received_total |
ICMP packets received |
aix_icmp_sent_total |
ICMP packets sent |
aix_ip_ierrors_total |
IP input errors |
aix_ip_ipackets_total |
IP input packets |
aix_ip_iqueueoverflow_total |
IP input queue overflows |
aix_ip_oerrors_total |
IP output errors |
aix_ip_opackets_total |
IP output packets |
aix_tcp_connections_accepted_total |
TCP connections accepted |
aix_tcp_connections_dropped_total |
TCP connections dropped |
aix_tcp_connections_established |
TCP connections currently established |
aix_tcp_connections_initiated_total |
TCP connections initiated |
aix_tcp_ierrors_total |
TCP input errors |
aix_tcp_ipackets_total |
TCP input packets |
aix_tcp_opackets_total |
TCP output packets |
aix_udp_ierrors_total |
UDP input errors |
aix_udp_ipackets_total |
UDP input packets |
aix_udp_no_socket_total |
UDP packets dropped (no socket) |
aix_udp_opackets_total |
UDP output packets |
NFS & RPC – 40 metrics
| Metric |
Description |
aix_nfs_client_badcalls_total |
Failed NFS client calls |
aix_nfs_client_calls_total |
Total NFS client requests |
aix_nfs_client_clgets_total |
NFS client handle gets |
aix_nfs_client_cltoomany_total |
NFS client too many handles |
aix_nfs_server_badcalls_total |
Failed NFS server calls |
aix_nfs_server_calls_total |
Total NFS server requests |
aix_nfs_server_v2_calls_total |
NFS server v2 calls |
aix_nfs_server_v3_calls_total |
NFS server v3 calls |
aix_nfsv3_client_calls_total |
NFSv3 client total calls |
aix_nfsv3_client_commit_total |
NFSv3 client commit requests |
aix_nfsv3_client_create_total |
NFSv3 client create requests |
aix_nfsv3_client_getattr_total |
NFSv3 client getattr requests |
aix_nfsv3_client_lookup_total |
NFSv3 client lookup requests |
aix_nfsv3_client_read_total |
NFSv3 client read requests |
aix_nfsv3_client_readdir_total |
NFSv3 client readdir requests |
aix_nfsv3_client_remove_total |
NFSv3 client remove requests |
aix_nfsv3_client_setattr_total |
NFSv3 client setattr requests |
aix_nfsv3_client_write_total |
NFSv3 client write requests |
aix_nfsv3_server_calls_total |
NFSv3 server total calls |
aix_nfsv3_server_getattr_total |
NFSv3 server getattr requests |
aix_nfsv3_server_lookup_total |
NFSv3 server lookup requests |
aix_nfsv3_server_read_total |
NFSv3 server read requests |
aix_nfsv3_server_write_total |
NFSv3 server write requests |
aix_nfsv4_client_close_total |
NFSv4 client close operations |
aix_nfsv4_client_commit_total |
NFSv4 client commit operations |
aix_nfsv4_client_lock_total |
NFSv4 client lock operations |
aix_nfsv4_client_open_total |
NFSv4 client open operations |
aix_nfsv4_client_operations_total |
NFSv4 client total operations |
aix_nfsv4_client_read_total |
NFSv4 client read operations |
aix_nfsv4_client_write_total |
NFSv4 client write operations |
aix_nfsv4_server_close_total |
NFSv4 server close operations |
aix_nfsv4_server_open_total |
NFSv4 server open operations |
aix_nfsv4_server_operations_total |
NFSv4 server total operations |
aix_nfsv4_server_read_total |
NFSv4 server read operations |
aix_nfsv4_server_write_total |
NFSv4 server write operations |
aix_rpc_client_badcalls_total |
RPC client rejected calls |
aix_rpc_client_calls_total |
RPC client total calls (stream+dgram) |
aix_rpc_client_timeouts_total |
RPC client timeouts (stream+dgram) |
aix_rpc_server_badcalls_total |
RPC server rejected calls |
aix_rpc_server_calls_total |
RPC server total calls (stream+dgram) |
Paging Space – 6 metrics
| Metric |
Description |
aix_pagingspace_active |
1 if paging space is active, 0 otherwise |
aix_pagingspace_free_bytes |
Free paging space in bytes |
aix_pagingspace_io_no_pbuf |
paging space I/Os blocked with no psbuf |
aix_pagingspace_percent_used |
Percentage of paging space used |
aix_pagingspace_total_bytes |
Total paging space size in bytes |
aix_pagingspace_used_bytes |
Used paging space in bytes |
Processes – 3 metrics
| Metric |
Description |
aix_processes_total |
Total number of processes |
aix_processes_zombie |
Number of zombie processes |
aix_threads_total |
Total number of kernel threads across all processes |
System – 2 metrics
| Metric |
Description |
aix_node_boot_time_seconds |
Unix timestamp of last system boot |
aix_node_uptime_seconds |
System uptime in seconds |
errpt – 1 metrics
| Metric |
Description |
aix_errpt_count |
Number of errpt entries since last check, by class and type |
Other – 2 metrics
| Metric |
Description |
aix_maxclient_pct |
maxclient percentage |
aix_numclient_pct |
numclient percentage |
📊 137 unique metrics · 600+ time series per LPAR
Quick Start
Get AIX_exporter running in under 5 minutes:
# 1. Install the BFF package
installp -aXYgd /path/to/aix-exporter.1.0.0.2.bff all
# 2. (Optional) Edit configuration
vi /etc/aix-exporter/aix-exporter.conf
# 3. Start the exporter
startsrc -s aix-exporter
# 4. Verify metrics are available
curl http://localhost:9100/metrics
That’s it. Add the target to your prometheus.yml and import the included Grafana dashboard.
System Requirements
| Operating System |
IBM AIX 7.1, 7.2, or 7.3 |
| Architecture |
IBM Power Systems (POWER7 and later) |
| Disk Space |
< 2 MB |
| Memory |
< 5 MB RSS |
| CPU Overhead |
< 1% (single-threaded, event-driven) |
| Dependencies |
GCC runtime libraries (gcc-libs) – install via dnf install gcc-libs |
| Network |
One TCP port (default 9100) for Prometheus scraping |
| Prometheus |
2.x or 3.x (OpenMetrics compatible) |
| Grafana |
8.x or later (dashboard JSON included) |
Frequently Asked Questions
Does it work with Prometheus 3.x?
Yes. AIX_exporter fully supports both Prometheus 2.x and 3.x, including the OpenMetrics exposition format with proper Content-Type headers.
Can I select which collectors to enable?
Yes. Use the configuration file to enable only the collectors you need. For example, collectors = cpu, mem, disk, filesystems will only activate those four collectors.
What is the performance impact on my LPAR?
Minimal. AIX_exporter uses less than 1% CPU and under 5 MB of memory. It’s a single-threaded C binary that queries libperfstat – the same kernel interface used by topas and nmon.
How do I update to a new version?
Simply install the new BFF over the existing one: installp -aXYgd /path/to/new-version.bff all. Your configuration file is preserved. The agent restarts automatically.
Is a Grafana dashboard included?
Yes. A production-ready Grafana dashboard with 20+ panels is included – CPU, memory, disk, filesystem, network, FC adapters, load average, and more. Import the JSON file and you’re set.
What’s included in the free trial?
The trial includes CPU, memory, and partition collectors – enough to evaluate the agent on your infrastructure. The full version unlocks all 22 collectors and 600+ metrics. No time limit on the trial.
Can I deploy it with Ansible?
Yes. We provide a ready-to-use Ansible playbook for mass deployment across your AIX fleet. It handles pre-flight checks, version comparison, installation, configuration, and verification.
Enterprise-Grade Integration
- SRC subsystem – managed via
startsrc/stopsrc
- BFF packaging – standard AIX
installp install/uninstall
- Auto-start – inittab entry created at install
- Config file –
/etc/aix-exporter/aix-exporter.conf with per-collector toggles
- Bind address – restrict to localhost or specific interface
Grafana Dashboard Included
A ready-to-import Grafana dashboard with 60+ panels is included. Visualize all 22 collectors out of the box – CPU heatmaps, memory trends, disk I/O, FC throughput, error reports, and more.
Compatibility
- AIX 7.1, 7.2, 7.3
- IBM Power Systems (POWER7 and above)
- Prometheus 2.x and 3.x
- Grafana 9.x, 10.x, 11.x, 12.x
Licensing
Perpetual license – pay once, use forever. First year of maintenance (updates + support) included. Per-LPAR pricing with volume discounts.