AIX monitoring

It si coming in XorMon 2.4.0 in the middle of Oct 2026

XorMon OS agent for AIX

The XorMon OS agent for AIX replaces the older LPAR2RRD (Perl) agent on AIX servers.
It collects the same data set but puts a much lower load on the monitored LPAR and is handled far more efficiently on the XorMon server side, which matters in environments with thousands of agents.
New features will be inytroduced only ion XorMon agent, the old LPAR2RRD is not further being developed.

It is written in Go and shipped as a single static binary for AIX on POWER (ppc64).
Unlike the LPAR2RRD agent it does not run from crontab: it runs continuously as an SRC subsystem (System Resource Controller, the native AIX service manager) and collects data every minute.

The agent is distributed as one tarball.

Requirements

  • AIX 5.3+ or VIO server on IBM POWER (ppc64)
  • Root privileges for installation
  • Opened TCP communication from the LPAR to the XorMon server on port 8162 (connections are initiated from the LPAR side)
Nothing else: no Perl, no extra packages.

Download

xormon-agent-<version>-aix-ppc64.tar.gz : AIX / VIOS agent (ppc64)
Contents of the tarball:
  • xormon-agent: The agent binary
  • agent.yaml: Configuration file (XorMon server address, etc.)
  • xormon-agent-run.sh: Small launcher used by SRC (changes to the install directory and starts the binary)
  • install-aix.sh: Installer script (used only by the scripted install)

Installation with the installer script

  • Extract the agent:
    mkdir -p /tmp/xormon-agent
    cd /tmp/xormon-agent
    gunzip -c /path/to/xormon-agent--aix-ppc64.tar.gz | tar xf -
    
  • Run the installer as root
    Behaviour can be controlled with environment variables set before the command (applied on a fresh install only):
    • TARGET_IP: XorMon server IP or hostname. Several servers can be passed as a comma-separated list, each with an optional :port (default 8162).
    • RUN_AS_USER: default 'xormon' : Existing user the agent runs as. When not set, the xormon user is created.

    Basic install:
    TARGET_IP=192.168.1.100 ./install-aix.sh
    
    # Run under an existing user instead of creating "xormon"
    TARGET_IP=192.168.1.100 RUN_AS_USER=myuser ./install-aix.sh
    
    # Send data to more XorMon servers
    TARGET_IP="192.168.1.100,192.168.1.101:9000" ./install-aix.sh
    
  • Clean up
    cd / && rm -rf /tmp/xormon-agent
    
    You can change the server address at any time by editing /opt/xormon-agent/agent.yaml and restarting the agent (see [Service management](#service-management)).

Troubleshooting

  • Testing the connection (debug mode)
    To verify a fresh install can reach the XorMon server, run the agent once with -d (or --debug).
    It tests the connection to each server in agent.yaml, collects one minute of samples and sends them immediately, then exits, instead of running continuously.
    cd /opt/xormon-agent
    ./xormon-agent -d
    
  • Agent logs
    /var/log/xormon-agent.log         # standard output
    /var/log/xormon-agent.err         # errors
    
  • Check that the LPAR can reach the XorMon server on port 8162:
    telnet  8162
      Connected to 192.168.1.1.
      Escape character is '^]'.
    
    Then run the agent in [debug mode](#testing-the-connection-debug-mode).

  • The agent is not running after a reboot
    Check that the inittab entry exists:
    lsitab xmagt
    
OS agent (LPAR2RRD agent) is add-on feature for monitoring from operating system level.
It is monitoring CPU, memory usage , paging, LAN and SAN traffic on all adapters.
It requires the OS agent deployment to every monitored LPAR.
The agent is written in Perl and calls basic OS commands to obtain required statistics like vmstat, lparstat and svmon.
You can even use already installed LPAR2RRD agents and direct them to XorMon host.

Operating systems

  • AIX 5.1+
  • VIO server

Implementation

it is implemented as a simple client/server application.
There is XorMon daemon listening on the host where XorMon server is running on port 8162.
Each LPAR has a simple Perl-based agent installed. This agent is started every minute from the crontab and saves memory and paging statistics into a temporary file.
The agent contacts the server randomly every 10-20 minutes and sends all locally stored data for that period.

Usage

perl ./lpar2rrd-agent.pl [-d] [-x] <XorMon server hostname/IP>[:<PORT>]

 -d  forces sending out data immediately to check communication channel (DEBUG purposes)
 -m  using sudo for multipath (only root can run it): sudo multipath -l", put this into sudoers: xormon  ALL = (root) NOPASSWD: /usr/sbin/multipath -ll
 -x  use Transport Layer Security (TLS)

 no option - agent collects & sends standard OS agent data
Crontab entry for scheduling, use non-admin account preferably
* * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <XorMon server hostname/IP> > /var/tmp/lpar2rrd-agent.out 2>&1
The agent collects data and sends them every 5 - 20 minutes to the XorMon server
If you use other than standard XorMon port, then add it after SERVER, separated by the ':' delimiter
* * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <XorMon server hostname/IP>:<PORT> > /var/tmp/lpar2rrd-agent.out 2>&1
If you want to send data to more XorMon server instances (number is not restricted)
* * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <XorMon server 1 hostname/IP> <XorMon server 2 hostname/IP> > /var/tmp/lpar2rrd-agent.out 2>&1

Prerequisites

  • Perl on each VM (each OS already contains it, no special modules are necessary)

  • Opened TCP communication between each VM / LPAR and XorMon server on port 8162.
    Connections are initiated from VMs / LPARs side.

  • Create preferable dedicated user xormon on each host with minimum rights
    # useradd -c "XorMon agent user" -m xormon
    
  • IBM Power Systems: VIO server:
    • Do not use 'padmin' account and mkuser cmd, it does not work!
      Create the account under root in the same way as on usual AIX (like above useradd).

    • In case you use VIO hardening 'viosecure -level low -apply' and higher levels, you must assign 'xormon' user 'ViewOnly' role under root:
      # chuser roles='ViewOnly' default_roles='ViewOnly' lpar2rrd
      
      Note: hardening prevents to run 'entstat' cmd, so LAN statistics will not be available.
      There is no any workaround we are aware of except run the agent under root.

OS agent installation (client)

  • Get the latest OS agent from download page

  • AIX / VIO
    # rpm -Uvh lpar2rrd-agent-7.60-0.ppc.rpm
    # rpm -qa|grep lpar2rrd-agent
      lpar2rrd-agent-7.60-0
    
  • Schedule its run every minute from the crontab on every LPAR.
    This line must be placed into xormon crontab:
    # su - xormon  
    $ crontab -e
    * * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <XorMon_SERVER.your-domain.com> > /var/tmp/lpar2rrd-agent.out 2>&1
    
    Replace <XorMon_SERVER> by hostname of your XorMon server.
    Use preferably FDQN in XorMon hostname, hostname only might have a problem with resolving.

    In case you want to direct the agent data to more servers (or ports) add second or more hosts on the cmd line
    Bellow cfg will collect data once and sends it to 3 Hosts (Host1 port 8162, Host2 port 8162 and Host3 port 7162)
    * * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <Host1>  <Host2>  <Host3>:7162   > /var/tmp/lpar2rrd-agent.out 2>&1
  • You might need to add xormonuser into /var/adm/cron/cron.allow (AIX) under root user if above "crontab -e" fails.
    # echo "xormon" >> /etc/cron.allow
    

Troubleshooting

Client (agent) side:
  • AIX 7.3 TL3+ Dynatrace OneAgent coexistence, read more

  • Test if communication through the LAN is allowed.
    $ telnet  <XorMon_SERVER> 8162
      Connected to 192.168.1.1   .
      Escape character is '^]'.
    
    This is ok, exit either Ctrl-C or ^].

  • Check following agent files:
    data store: /var/tmp/lpar2rrd-agent-*.txt
    error log: /var/tmp/lpar2rrd-agent-*.err
    output log: /var/tmp/lpar2rrd-agent.out

  • run the agent from cmd line:
    $ /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl -d <XorMon_SERVER.your-domain.com>
      ...
      Agent send     : yes : forced by -d
      Agent send slp: sending wait: 4
      OS/HMC agent working for server: <XorMon_SERVER>
      store file for sending is /var/tmp/lpar2rrd-agent-<XorMon_SERVER.your-domain.com>-lpar2rrd.txt
    
    It means that data has been sent to the server, all is fine
    Here is example when the agent is not able to sent data :
    $ /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl -d <XorMon_SERVER.your-domain.com>
      ...
      Agent send     : yes : forced by -d
      Agent send slp: sending wait: 1
      OS/HMC agent working for server: <XorMon_SERVER>
      store file for sending is /var/tmp/lpar2rrd-agent-<XorMon_SERVER>-lpar2rrd.txt
      Agent timed out after : 50 seconds /opt/lpar2rrd-agent/lpar2rrd-agent.pl:265
    
    It means that the agent could not contact the server.
    Check communication, port, above telnet example, DNS resolution of the server etc.