IBM AIX

AIX (Advanced Interactive eXecutive) is a series of proprietary Unix operating systems developed and sold by IBM for several of its computer platforms.

Available solutions




This template is for Zabbix version: 7.0
Also available for: 6.4 6.2 6.0

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/os/aix?at=release/7.0

AIX by Zabbix agent

Overview

This is an official AIX template. It requires Zabbix agent 7.0 or newer.

Notes on filesystem (FS) discovery:

  • The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
  • BTRFS allocates a default of 10% of the volume for its own needs.
  • To mitigate potential disasters, FS usage triggers are based on the maximum available space.
    • Utilization formula: pused = 100 - 100 * (available / total - free + available)
  • The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • AIX 6.1

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

Install Zabbix agent on the AIX OS according to Zabbix documentation.

Macros used

Name Description Default
{$AGENT.TIMEOUT}

Timeout after which the agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (in passive mode).

3m
{$VFS.FS.FSNAME.NOT_MATCHES}

Used for filesystem discovery. Can be overridden on the host or linked template level.

^(/dev|/sys|/run|/proc|.+/shm$)
{$VFS.FS.FSNAME.MATCHES}

Used for filesystem discovery. Can be overridden on the host or linked template level.

.+
{$VFS.FS.FSTYPE.MATCHES}

Used for filesystem discovery. Can be overridden on the host or linked template level.

Macro too long. Please see the template.
{$VFS.FS.FSTYPE.NOT_MATCHES}

Used for filesystem discovery. Can be overridden on the host or linked template level.

^\s$
{$VFS.FS.INODE.PFREE.MIN.CRIT}

The critical threshold of the filesystem metadata utilization.

10
{$VFS.FS.INODE.PFREE.MIN.WARN}

The warning threshold of the filesystem metadata utilization.

20
{$VFS.FS.PUSED.MAX.CRIT}

The critical threshold of the filesystem utilization.

90
{$VFS.FS.PUSED.MAX.WARN}

The warning threshold of the filesystem utilization.

80

Items

Name Description Type Key and additional info
Number of running processes

Number of processes in a running state.

Zabbix agent proc.num[,,run]
Number of processes

Total number of processes in any state.

Zabbix agent proc.num[]
Interrupts per second

Number of interrupts processed.

Zabbix agent system.cpu.intr

Preprocessing

  • Change per second:
Processor load (1 min average per core)

Calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg1]
Processor load (5 min average per core)

Calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg5]
Processor load (15 min average per core)

Calculated as the system CPU load divided by the number of CPU cores.

Zabbix agent system.cpu.load[percpu,avg15]
Context switches per second

The combined rate at which all processors on the computer are switched from one thread to another.

Zabbix agent system.cpu.switches

Preprocessing

  • Change per second:
Host name

The host name of the system.

Zabbix agent system.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

Host local time

The local system time of the host.

Zabbix agent system.localtime
CPU available physical processors in the shared pool Zabbix agent system.stat[cpu,app]
CPU entitled capacity consumed Zabbix agent system.stat[cpu,ec]
CPU idle time Zabbix agent system.stat[cpu,id]
CPU logical processor utilization Zabbix agent system.stat[cpu,lbusy]
CPU number of physical processors consumed Zabbix agent system.stat[cpu,pc]
CPU system time Zabbix agent system.stat[cpu,sy]
CPU user time Zabbix agent system.stat[cpu,us]
CPU iowait time Zabbix agent system.stat[cpu,wa]
Amount of data transferred Zabbix agent system.stat[disk,bps]
Number of transfers Zabbix agent system.stat[disk,tps]
Processor units is entitled to receive Zabbix agent system.stat[ent]
Kernel thread context switches Zabbix agent system.stat[faults,cs]
Device interrupts Zabbix agent system.stat[faults,in]
System calls Zabbix agent system.stat[faults,sy]
Length of the swap queue Zabbix agent system.stat[kthr,b]
Length of the run queue Zabbix agent system.stat[kthr,r]
Active virtual pages Zabbix agent system.stat[memory,avm]
Free real memory Zabbix agent system.stat[memory,fre]
File page-ins per second Zabbix agent system.stat[page,fi]
File page-outs per second Zabbix agent system.stat[page,fo]
Pages freed (page replacement) Zabbix agent system.stat[page,fr]
Pages paged in from paging space Zabbix agent system.stat[page,pi]
Pages paged out to paging space Zabbix agent system.stat[page,po]
Pages scanned by page-replacement algorithm Zabbix agent system.stat[page,sr]
System information

Information as normally returned by uname -a.

Zabbix agent system.uname

Preprocessing

  • Discard unchanged with heartbeat: 1d

System uptime Zabbix agent system.uptime
Number of logged in users

The number of users who are currently logged in.

Zabbix agent system.users.num
Checksum of /etc/passwd Zabbix agent vfs.file.cksum[/etc/passwd,sha256]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Available memory

Defined as free + cached + buffers.

Zabbix agent vm.memory.size[available]
Total memory

Total memory expressed in bytes.

Zabbix agent vm.memory.size[total]
Version of Zabbix agent running Zabbix agent agent.version

Preprocessing

  • Discard unchanged with heartbeat: 1d

Host name of Zabbix agent running Zabbix agent agent.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

Zabbix agent ping

The agent always returns "1" for this item. May be used in combination with nodata() for the availability check.

Zabbix agent agent.ping
Zabbix agent availability

Used for monitoring the availability status of the agent.

Zabbix internal zabbix[host,agent,available]
Get filesystems

The vfs.fs.get key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.

Zabbix agent vfs.fs.get

Triggers

Name Description Expression Severity Dependencies and additional info
Too many processes running avg(/AIX by Zabbix agent/proc.num[,,run],5m)>30 Warning
Too many processes avg(/AIX by Zabbix agent/proc.num[],5m)>300 Warning
Processor load is too high avg(/AIX by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 Warning
Hostname was changed last(/AIX by Zabbix agent/system.hostname,#1)<>last(/AIX by Zabbix agent/system.hostname,#2) Info
Disk I/O is overloaded

Extended OS wait times for I/O operations may signal potential performance issues with the storage system.

avg(/AIX by Zabbix agent/system.stat[cpu,wa],5m)>20 Warning
Host information was changed last(/AIX by Zabbix agent/system.uname,#1)<>last(/AIX by Zabbix agent/system.uname,#2) Info
Server has just been restarted change(/AIX by Zabbix agent/system.uptime)<0 Info
/etc/passwd has been changed last(/AIX by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/AIX by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) Warning
Lack of available memory on server last(/AIX by Zabbix agent/vm.memory.size[available])<20M Average
Zabbix agent is not available

For passive checks only. The availability of the agent(s) and a host is used with {$AGENT.TIMEOUT} as the time threshold.

max(/AIX by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 Average Manual close: Yes

LLD rule Network interface discovery

Name Description Type Key and additional info
Network interface discovery

Used for the discovery of network interfaces.

Zabbix agent net.if.discovery

Item prototypes for Network interface discovery

Name Description Type Key and additional info
Interface {#IFNAME}: Incoming network traffic Zabbix agent net.if.in[{#IFNAME}]

Preprocessing

  • Change per second:
  • Custom multiplier: 8

Interface {#IFNAME}: Outgoing network traffic Zabbix agent net.if.out[{#IFNAME}]

Preprocessing

  • Change per second:
  • Custom multiplier: 8

LLD rule Mounted filesystem discovery

Name Description Type Key and additional info
Mounted filesystem discovery

The discovery of mounted filesystems with different types.

Dependent item vfs.fs.dependent.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 1h

Item prototypes for Mounted filesystem discovery

Name Description Type Key and additional info
FS [{#FSNAME}]: Get data

Intermediate data of {#FSNAME} filesystem.

Dependent item vfs.fs.dependent[{#FSNAME},data]

Preprocessing

  • JSON Path: $.[?(@.fsname=='{#FSNAME}')].first()

FS [{#FSNAME}]: Option: Read-only

The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher.

Dependent item vfs.fs.dependent[{#FSNAME},readonly]

Preprocessing

  • JSON Path: $.options

    ⛔️Custom on fail: Discard value

  • Regular expression: `(?:^

FS [{#FSNAME}]: Inodes: Free, in %

Free metadata space expressed in %.

Dependent item vfs.fs.dependent.inode[{#FSNAME},pfree]

Preprocessing

  • JSON Path: $.inodes.pfree

FS [{#FSNAME}]: Space: Available

Available storage space expressed in bytes.

Dependent item vfs.fs.dependent.size[{#FSNAME},free]

Preprocessing

  • JSON Path: $.bytes.free

FS [{#FSNAME}]: Space: Available, in %

Deprecated metric.

Space availability expressed as a percentage, calculated using the current and maximum available spaces.

Dependent item vfs.fs.dependent.size[{#FSNAME},pfree]

Preprocessing

  • JSON Path: $.bytes.pfree

FS [{#FSNAME}]: Space: Used, in %

Calculated as the percentage of currently used space compared to the maximum available space.

Dependent item vfs.fs.dependent.size[{#FSNAME},pused]

Preprocessing

  • JSON Path: $.bytes.pused

FS [{#FSNAME}]: Space: Total

Total space expressed in bytes.

Dependent item vfs.fs.dependent.size[{#FSNAME},total]

Preprocessing

  • JSON Path: $.bytes.total

FS [{#FSNAME}]: Space: Used

Used storage expressed in bytes.

Dependent item vfs.fs.dependent.size[{#FSNAME},used]

Preprocessing

  • JSON Path: $.bytes.used

Trigger prototypes for Mounted filesystem discovery

Name Description Expression Severity Dependencies and additional info
FS [{#FSNAME}]: Filesystem has become read-only

The filesystem has become read-only, possibly due to an I/O error. Available only for Zabbix agents 6.4 and higher.

last(/AIX by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/AIX by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=1 Average Manual close: Yes
FS [{#FSNAME}]: Running out of free inodes

Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.

min(/AIX by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} Average
FS [{#FSNAME}]: Running out of free inodes

Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.

min(/AIX by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} Warning Depends on:
  • FS [{#FSNAME}]: Running out of free inodes
FS [{#FSNAME}]: Space is critically low

The volume's space usage exceeds the {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}% limit.
The trigger expression is based on the current used and maximum available spaces.
Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.

min(/AIX by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} Average Manual close: Yes
FS [{#FSNAME}]: Space is low

The volume's space usage exceeds the {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}% limit.
The trigger expression is based on the current used and maximum available spaces.
Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.

min(/AIX by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} Warning Manual close: Yes
Depends on:
  • FS [{#FSNAME}]: Space is critically low

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums

Articles and documentation

+ Propose new article

Didn't find what you are looking for?