For Zabbix version: 6.2 and higher.
Refer to the vendor documentation.
No specific Zabbix configuration is required.
Name | Description | Default | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$CPU.UTIL.CRIT} | - |
90 |
|||||||||||
{$ICMPLOSSWARN} | - |
20 |
|||||||||||
{$ICMPRESPONSETIME_WARN} | - |
0.15 |
|||||||||||
{$IF.ERRORS.WARN} | - |
2 |
|||||||||||
{$IF.UTIL.MAX} | - |
90 |
|||||||||||
{$IFCONTROL} | - |
1 |
|||||||||||
{$MEMORY.NAME.MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||
{$MEMORY.NAME.NOT_MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results. |
CHANGE_IF_NEEDED |
|||||||||||
{$MEMORY.TYPE.MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level. |
`.*(.2 | hrStorageRam)$` | ||||||||||
{$MEMORY.TYPE.NOT_MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results. |
CHANGE_IF_NEEDED |
|||||||||||
{$MEMORY.UTIL.MAX} | The warning threshold of the "Physical memory: Memory utilization" item. |
90 |
|||||||||||
{$NET.IF.IFADMINSTATUS.MATCHES} | - |
^.*$ |
|||||||||||
{$NET.IF.IFADMINSTATUS.NOT_MATCHES} | Ignore down(2) administrative status |
^2$ |
|||||||||||
{$NET.IF.IFALIAS.MATCHES} | - |
.* |
|||||||||||
{$NET.IF.IFALIAS.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
|||||||||||
{$NET.IF.IFDESCR.MATCHES} | - |
.* |
|||||||||||
{$NET.IF.IFDESCR.NOT_MATCHES} | - |
`Miniport | Virtual | Teredo | Kernel | Loopback | Bluetooth | HTTPS | 6to4 | QoS | Layer | isatap | ISATAP` |
{$NET.IF.IFNAME.MATCHES} | - |
^.*$ |
|||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default |
`(^Software Loopback Interface | ^NULL[0-9.]*$ | ^[Ll]o[0-9.]*$ | ^[Ss]ystem$ | ^Nu[0-9.]*$ | ^veth[0-9a-z]+$ | docker[0-9]+ | br-[a-z0-9]{12})` | ||||
{$NET.IF.IFOPERSTATUS.MATCHES} | - |
^.*$ |
|||||||||||
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(6) |
^6$ |
|||||||||||
{$NET.IF.IFTYPE.MATCHES} | - |
.* |
|||||||||||
{$NET.IF.IFTYPE.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
|||||||||||
{$SNMP.TIMEOUT} | - |
5m |
|||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
|||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
|||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.+ |
|||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(/dev | /sys | /run | /proc | .+/shm$)` | |||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`.*(.4 | .9 | hrStorageFixedDisk | hrStorageFlashMemory)$` | ||||||||
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
CHANGE_IF_NEEDED |
|||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | - |
90 |
|||||||||||
{$VFS.FS.PUSED.MAX.WARN} | - |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info |
---|---|---|---|
Memory discovery | HOST-RESOURCES-MIB::hrStorage discovery with memory filter |
SNMP | vm.memory.discovery Filter: AND- {#MEMTYPE} MATCHESREGEX - {#MEMTYPE} NOTMATCHESREGEX - {#MEMNAME} MATCHESREGEX - {#MEMNAME} NOTMATCHESREGEX |
Network interfaces discovery | Discovering interfaces from IF-MIB. |
SNMP | net.if.discovery Filter: AND- {#IFADMINSTATUS} MATCHESREGEX - {#IFADMINSTATUS} NOTMATCHESREGEX - {#IFOPERSTATUS} MATCHESREGEX - {#IFOPERSTATUS} NOTMATCHESREGEX - {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHESREGEX - {#IFDESCR} MATCHESREGEX - {#IFDESCR} NOTMATCHESREGEX - {#IFALIAS} MATCHESREGEX - {#IFALIAS} NOTMATCHESREGEX - {#IFTYPE} MATCHESREGEX - {#IFTYPE} NOTMATCHESREGEX |
Storage discovery | HOST-RESOURCES-MIB::hrStorage discovery with storage filter. |
SNMP | vfs.fs.discovery[snmp] Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | MIB: HOST-RESOURCES-MIB The average, over the last minute, of the percentage of time that processors was not idle. Implementations may approximate this one minute smoothing period if necessary. |
SNMP | system.cpu.util Preprocessing: - JSONPATH: |
General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
General | System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. |
SNMP | system.location[sysLocation.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP | system.contact[sysContact.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP | system.objectid[sysObjectID.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP | system.name Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP | system.descr[sysDescr.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | {#MEMNAME}: Used memory | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP | vm.memory.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Memory | {#MEMNAME}: Total memory | MIB: HOST-RESOURCES-MIB The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified. |
SNMP | vm.memory.total[hrStorageSize.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Memory | {#MEMNAME}: Memory utilization | Memory utilization in %. |
CALCULATED | vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}] Expression: last(//vm.memory.used[hrStorageUsed.{#SNMPINDEX}])/last(//vm.memory.total[hrStorageSize.{#SNMPINDEX}])*100 |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | MIB: IF-MIB The current operational state of the interface. - The testing(3) state indicates that no operational packet scan be passed - If ifAdminStatus is down(2) then ifOperStatus should be down(2) - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection) - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components. |
SNMP | net.if.status[ifOperStatus.{#SNMPINDEX}] |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | MIB: IF-MIB The total number of octets received on the interface,including framing characters. Discontinuities in the value of this counter can occur at re-initialization of the management system, and atother times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in[ifInOctets.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | MIB: IF-MIB The total number of octets transmitted out of the interface, including framing characters. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out[ifOutOctets.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | MIB: IF-MIB For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in.errors[ifInErrors.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | MIB: IF-MIB For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out.errors[ifOutErrors.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in.discards[ifInDiscards.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | MIB: IF-MIB The type of interface. Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA), through updating the syntax of the IANAifType textual convention. |
SNMP | net.if.type[ifType.{#SNMPINDEX}] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | MIB: IF-MIB An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of |
SNMP | net.if.speed[ifHighSpeed.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: - DISCARDUNCHANGEDHEARTBEAT: |
Status | Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.net.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
Status | Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP | system.hw.uptime[hrSystemUptime.0] Preprocessing: - CHECKNOTSUPPORTED ⛔️ON_FAIL: - MULTIPLIER: |
Status | SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown |
INTERNAL | zabbix[host,snmp,available] |
Status | ICMP ping | - |
SIMPLE | icmpping |
Status | ICMP loss | - |
SIMPLE | icmppingloss |
Status | ICMP response time | - |
SIMPLE | icmppingsec |
Storage | {#FSNAME}: Used space | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP | vfs.fs.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Storage | {#FSNAME}: Total space | MIB: HOST-RESOURCES-MIB The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified. |
SNMP | vfs.fs.total[hrStorageSize.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Storage | {#FSNAME}: Space utilization | Space utilization in % for {#FSNAME} |
CALCULATED | vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}] Expression: (last(//vfs.fs.used[hrStorageUsed.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100 |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by SNMP/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | |
System name has changed | System name has changed. Ack to close. |
last(/Windows by SNMP/system.name,#1)<>last(/Windows by SNMP/system.name,#2) and length(last(/Windows by SNMP/system.name))>0 |
INFO | Manual close: YES |
{#MEMNAME}: High memory utilization | The system is running out of free memory. |
min(/Windows by SNMP/vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.) WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) Recovery expression: last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The network interface utilization is close to its estimated maximum bandwidth. |
(avg(/Windows by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or avg(/Windows by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 Recovery expression: avg(/Windows by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and avg(/Windows by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Windows by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Windows by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Windows by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
change(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and ( last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) Recovery expression: (change(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Host has been restarted | Uptime is less than 10 minutes. |
(last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Windows by SNMP/system.net.uptime[sysUpTime.0])<10m) |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/Windows by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
WARNING | Depends on: - Unavailable by ICMP ping |
Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/Windows by SNMP/icmpping,#3)=0 |
HIGH | |
High ICMP ping loss | - |
min(/Windows by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Windows by SNMP/icmppingloss,5m)<100 |
WARNING | Depends on: - Unavailable by ICMP ping |
High ICMP ping response time | - |
avg(/Windows by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
WARNING | Depends on: - High ICMP ping loss - Unavailable by ICMP ping |
{#FSNAME}: Disk space is critically low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Windows by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Windows by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Windows by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Windows by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low |
Please report any issues with the template at https://support.zabbix.com.
Description: Doesn't support In/Out 64 bit counters even though IfxTable is present: Currently, Windows gets it's interface status from MIB-2. Since these 64bit SNMP counters (ifHCInOctets, ifHCOutOctets, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it. https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen
Description: Doesn't support ifXTable at all
Description: EtherLike MIB is not supported
For Zabbix version: 6.2 and higher. New official Windows template. Requires agent of Zabbix 4.4 and newer.
This template was tested on:
Install Zabbix agent on Windows OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$AGENT.NODATA_TIMEOUT} | No data timeout for active agents. Consider to keep it relatively high. |
30m |
|||||||||||||||||||||||||
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
|||||||||||||||||||||||||
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
|||||||||||||||||||||||||
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
|||||||||||||||||||||||||
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
|||||||||||||||||||||||||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
|||||||||||||||||||||||||
{$IF.ERRORS.WARN} | - |
2 |
|||||||||||||||||||||||||
{$IF.UTIL.MAX} | - |
90 |
|||||||||||||||||||||||||
{$IFCONTROL} | - |
1 |
|||||||||||||||||||||||||
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
|||||||||||||||||||||||||
{$MEM.PAGETABLECRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
|||||||||||||||||||||||||
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
|||||||||||||||||||||||||
{$NET.IF.IFALIAS.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFALIAS.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
|||||||||||||||||||||||||
{$NET.IF.IFDESCR.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFDESCR.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
|||||||||||||||||||||||||
{$NET.IF.IFNAME.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
`Miniport | Virtual | Teredo | Kernel | Loopback | Bluetooth | HTTPS | 6to4 | QoS | Layer` | ||||||||||||||||
{$SERVICE.NAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
|||||||||||||||||||||||||
{$SERVICE.NAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:RemoteRegistry | MMCSS | gupdate | SysmonLog | clroptimizationv.+ | sppsvc | gpsvc | Pml Driver HPZ12 | Net Driver HPZ12 | MapsBroker | IntelAudioService | Intel(R) TPM Provisioning Service | dbupdate | DoSvc | CDPUserSvc_.+ | WpnUserService_.+ | OneSyncSvc_.+ | WbioSrvc | BITS | tiledatamodelsvc | GISvc | ShellHWDetection | TrustedInstaller | TabletInputService | CDPSvc | wuauserv)$` |
{$SERVICE.STARTUPNAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:automatic | automatic delayed)$` | ||||||||||||||||||||||||
{$SERVICE.STARTUPNAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:manual | disabled)$` | ||||||||||||||||||||||||
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
|||||||||||||||||||||||||
{$SYSTEM.FUZZYTIME.MAX} | The threshold for difference of system time in seconds. |
60 |
|||||||||||||||||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
_Total |
|||||||||||||||||||||||||
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
|||||||||||||||||||||||||
{$VFS.DEV.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
|||||||||||||||||||||||||
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
|||||||||||||||||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
|||||||||||||||||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
|||||||||||||||||||||||||
{$VFS.FS.FSDRIVETYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
fixed |
|||||||||||||||||||||||||
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
|||||||||||||||||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(?:/dev | /sys | /run | /proc | .+/shm$)` | |||||||||||||||||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
|||||||||||||||||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization in percent. |
90 |
|||||||||||||||||||||||||
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization in percent. |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_ACTIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX - {#FSDRIVETYPE} MATCHESREGEX - {#FSDRIVETYPE} NOTMATCHES_REGEX |
Network interfaces discovery | Discovery of installed network interfaces. |
DEPENDENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARDUNCHANGEDHEARTBEAT: Filter: AND- {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHESREGEX - {#IFDESCR} MATCHESREGEX - {#IFDESCR} NOTMATCHESREGEX - {#IFALIAS} MATCHESREGEX - {#IFALIAS} NOTMATCHES_REGEX |
Physical disks discovery | Discovery of installed physical disks. |
ZABBIX_ACTIVE | perfinstanceen.discovery[PhysicalDisk] Preprocessing: - STRREPLACE: Filter: AND- {#DEVNAME} MATCHESREGEX - {#DEVNAME} NOTMATCHESREGEX |
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
ZABBIX_ACTIVE | service.discovery Filter: AND- {#SERVICE.NAME} MATCHESREGEX - {#SERVICE.NAME} NOTMATCHESREGEX - {#SERVICE.STARTUPNAME} MATCHESREGEX - {#SERVICE.STARTUPNAME} NOTMATCHESREGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | CPU utilization in %. |
ZABBIX_ACTIVE | system.cpu.util |
CPU | CPU interrupt time | The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
ZABBIX_ACTIVE | perfcounteren["\Processor Information(_total)\% Interrupt Time"] |
CPU | Context switches per second | Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another. Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service. It is the sum of Thread\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches. There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval. |
ZABBIX_ACTIVE | perfcounteren["\System\Context Switches/sec"] |
CPU | CPU privileged time | The Processor Information\% Privileged Time counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows® Operating System. |
ZABBIX_ACTIVE | perfcounteren["\Processor Information(_total)\% Privileged Time"] |
CPU | CPU DPC time | Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance. |
ZABBIX_ACTIVE | perfcounteren["\Processor Information(_total)\% DPC Time"] |
CPU | CPU user time | The Processor Information\% User Time counter shows the percent of time that the processor(s) is spent executing in User mode. |
ZABBIX_ACTIVE | perfcounteren["\Processor Information(_total)\% User Time"] |
CPU | Number of cores | The number of logical processors available on the computer. |
ZABBIX_ACTIVE | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
CPU | CPU queue length | The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed. |
ZABBIX_ACTIVE | perfcounteren["\System\Processor Queue Length"] |
Filesystems | {#FSLABEL}({#FSNAME}): Used space | Used storage in Bytes |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSLABEL}({#FSNAME}): Total space | Total space in Bytes |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},pused] |
General | System local time | System local time of the host. |
ZABBIX_ACTIVE | system.localtime |
General | System name | System host name. |
ZABBIX_ACTIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | System description of the host. |
ZABBIX_ACTIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of processes | The number of processes. |
ZABBIX_ACTIVE | proc.num[] |
General | Number of threads | The number of threads used by all running processes. |
ZABBIX_ACTIVE | perfcounteren["\System\Threads"] |
Inventory | Operating system architecture | Operating system architecture of the host. |
ZABBIX_ACTIVE | system.sw.arch Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | Used memory | Used memory in Bytes. |
ZABBIX_ACTIVE | vm.memory.size[used] |
Memory | Total memory | Total memory in Bytes. |
ZABBIX_ACTIVE | vm.memory.size[total] |
Memory | Memory utilization | Memory utilization in %. |
CALCULATED | vm.memory.util Expression: last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100 |
Memory | Cache bytes | Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average. |
ZABBIX_ACTIVE | perfcounteren["\Memory\Cache Bytes"] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
CALCULATED | system.swap.free Expression: last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"]) |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
DEPENDENT | system.swap.pfree Preprocessing: - JAVASCRIPT: |
Memory | Used swap space in % | The used space of swap volume/file in percent. |
ZABBIX_ACTIVE | perfcounteren["\Paging file(_Total)\% Usage"] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_ACTIVE | system.swap.size[,total] |
Memory | Free system page table entries | This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak or you running out of memory. |
ZABBIX_ACTIVE | perfcounteren["\Memory\Free System Page Table Entries"] |
Memory | Memory page faults per second | Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays. |
ZABBIX_ACTIVE | perfcounteren["\Memory\Page Faults/sec"] |
Memory | Memory pages per second | This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
ZABBIX_ACTIVE | perfcounteren["\Memory\Pages/sec"] |
Memory | Memory pool non-paged | This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log. |
ZABBIX_ACTIVE | perfcounteren["\Memory\Pool Nonpaged Bytes"] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_ACTIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_ACTIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - unknown 1 - available 2 - not available |
INTERNAL | zabbix[host,active_agent,available] |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
ZABBIX_ACTIVE | net.if.in["{#IFGUID}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
ZABBIX_ACTIVE | net.if.out["{#IFGUID}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
ZABBIX_ACTIVE | net.if.in["{#IFGUID}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
ZABBIX_ACTIVE | net.if.out["{#IFGUID}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
ZABBIX_ACTIVE | net.if.in["{#IFGUID}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
ZABBIX_ACTIVE | net.if.out["{#IFGUID}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
DEPENDENT | net.if.speed["{#IFGUID}"] Preprocessing: - JSONPATH: ⛔️ONFAIL: - JAVASCRIPT: - DISCARDUNCHANGED_HEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
DEPENDENT | net.if.type["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
DEPENDENT | net.if.status["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARDUNCHANGEDHEARTBEAT: |
Services | State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | - |
ZABBIX_ACTIVE | service.info["{#SERVICE.NAME}",state] |
Status | Uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_ACTIVE | system.uptime |
Status | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
ZABBIX_ACTIVE | agent.ping |
Storage | {#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
Storage | {#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
Storage | {#DEVNAME}: Disk utilization by idle time | This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\% Idle Time",60] Preprocessing: - JAVASCRIPT: |
Storage | {#DEVNAME}: Disk read request avg waiting time | The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
Storage | {#DEVNAME}: Disk write request avg waiting time | The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
Storage | {#DEVNAME}: Average disk read queue length | Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
Storage | {#DEVNAME}: Average disk write queue length | Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_ACTIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Zabbix raw items | Network interfaces WMI get | Raw data of win32_networkadapter. |
ZABBIX_ACTIVE | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing: - DISCARD UNCHANGED_HEARTBEAT:1h |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | |
CPU interrupt time is too high | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
CPU privileged time is too high | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |
WARNING | Depends on: - CPU interrupt time is too high - High CPU utilization |
CPU queue length is too high | The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro {$CPU.QUEUE.CRIT.MAX }. |
min(/Windows by Zabbix agent active/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Zabbix agent active/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
{#FSLABEL}({#FSNAME}): Disk space is critically low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},total])-last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSLABEL}({#FSNAME}): Disk space is low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},total])-last(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent active/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSLABEL}({#FSNAME}): Disk space is critically low |
System time is out of sync | The host system time is different from the Zabbix server time. |
fuzzytime(/Windows by Zabbix agent active/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | System name has changed. Ack to close. |
last(/Windows by Zabbix agent active/system.hostname,#1)<>last(/Windows by Zabbix agent active/system.hostname,#2) and length(last(/Windows by Zabbix agent active/system.hostname))>0 |
INFO | Manual close: YES |
High memory utilization | The system is running out of free memory. |
min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | |
High swap space usage | This trigger is ignored, if there is no swap configured |
max(/Windows by Zabbix agent active/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Zabbix agent active/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization |
Number of free system page table entries is too low | The Memory Free System Page Table Entries is less than {$MEM.PAGETABLECRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
max(/Windows by Zabbix agent active/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |
WARNING | Depends on: - High memory utilization |
The Memory Pages/sec is too high | The Memory Pages/sec in the last 5 minutes exceeds {$MEM.PAGE_SEC.CRIT.MAX}. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
min(/Windows by Zabbix agent active/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
WARNING | Depends on: - High memory utilization |
Zabbix agent: active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/Windows by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
HIGH | |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The network interface utilization is close to its estimated maximum bandwidth. |
(avg(/Windows by Zabbix agent active/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"]) or avg(/Windows by Zabbix agent active/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])) and last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])>0 Recovery expression: avg(/Windows by Zabbix agent active/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"]) and avg(/Windows by Zabbix agent active/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Windows by Zabbix agent active/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Zabbix agent active/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Windows by Zabbix agent active/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Windows by Zabbix agent active/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
change(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:\"{#IFNAME}\"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status is different from Connected(2). WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2)) Recovery expression: last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows by Zabbix agent active/service.info["{#SERVICE.NAME}",state],#3)<>0 |
AVERAGE | |
Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Zabbix agent active/system.uptime)<10m |
WARNING | Manual close: YES |
Zabbix agent is not available | For active agents, nodata() with agent.ping is used with {$AGENT.NODATA_TIMEOUT} as time threshold. |
nodata(/Windows by Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1 |
AVERAGE | Manual close: YES |
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load |
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} |
WARNING | Manual close: YES Depends on: - {#DEVNAME}: Disk read request responses are too high - {#DEVNAME}: Disk write request responses are too high |
{#DEVNAME}: Disk read request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
{#DEVNAME}: Disk write request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. New official Windows template. Requires agent of Zabbix 4.4 and newer.
This template was tested on:
Install Zabbix agent on Windows OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode). |
3m |
|||||||||||||||||||||||||
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
|||||||||||||||||||||||||
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
|||||||||||||||||||||||||
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
|||||||||||||||||||||||||
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
|||||||||||||||||||||||||
{$IF.ERRORS.WARN} | - |
2 |
|||||||||||||||||||||||||
{$IF.UTIL.MAX} | - |
90 |
|||||||||||||||||||||||||
{$IFCONTROL} | - |
1 |
|||||||||||||||||||||||||
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
|||||||||||||||||||||||||
{$MEM.PAGETABLECRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
|||||||||||||||||||||||||
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
|||||||||||||||||||||||||
{$NET.IF.IFALIAS.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFALIAS.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
|||||||||||||||||||||||||
{$NET.IF.IFDESCR.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFDESCR.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
|||||||||||||||||||||||||
{$NET.IF.IFNAME.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
`Miniport | Virtual | Teredo | Kernel | Loopback | Bluetooth | HTTPS | 6to4 | QoS | Layer` | ||||||||||||||||
{$SERVICE.NAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
|||||||||||||||||||||||||
{$SERVICE.NAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:RemoteRegistry | MMCSS | gupdate | SysmonLog | clroptimizationv.+ | sppsvc | gpsvc | Pml Driver HPZ12 | Net Driver HPZ12 | MapsBroker | IntelAudioService | Intel(R) TPM Provisioning Service | dbupdate | DoSvc | CDPUserSvc_.+ | WpnUserService_.+ | OneSyncSvc_.+ | WbioSrvc | BITS | tiledatamodelsvc | GISvc | ShellHWDetection | TrustedInstaller | TabletInputService | CDPSvc | wuauserv)$` |
{$SERVICE.STARTUPNAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:automatic | automatic delayed)$` | ||||||||||||||||||||||||
{$SERVICE.STARTUPNAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:manual | disabled)$` | ||||||||||||||||||||||||
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
|||||||||||||||||||||||||
{$SYSTEM.FUZZYTIME.MAX} | The threshold for difference of system time in seconds. |
60 |
|||||||||||||||||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
_Total |
|||||||||||||||||||||||||
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
|||||||||||||||||||||||||
{$VFS.DEV.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
|||||||||||||||||||||||||
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
|||||||||||||||||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
|||||||||||||||||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
|||||||||||||||||||||||||
{$VFS.FS.FSDRIVETYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
fixed |
|||||||||||||||||||||||||
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
|||||||||||||||||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(?:/dev | /sys | /run | /proc | .+/shm$)` | |||||||||||||||||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
|||||||||||||||||||||||||
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
|||||||||||||||||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization in percent. |
90 |
|||||||||||||||||||||||||
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization in percent. |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX - {#FSDRIVETYPE} MATCHESREGEX - {#FSDRIVETYPE} NOTMATCHES_REGEX |
Network interfaces discovery | Discovery of installed network interfaces. |
DEPENDENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARDUNCHANGEDHEARTBEAT: Filter: AND- {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHESREGEX - {#IFDESCR} MATCHESREGEX - {#IFDESCR} NOTMATCHESREGEX - {#IFALIAS} MATCHESREGEX - {#IFALIAS} NOTMATCHES_REGEX |
Physical disks discovery | Discovery of installed physical disks. |
ZABBIX_PASSIVE | perfinstanceen.discovery[PhysicalDisk] Preprocessing: - STRREPLACE: Filter: AND- {#DEVNAME} MATCHESREGEX - {#DEVNAME} NOTMATCHESREGEX |
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
ZABBIX_PASSIVE | service.discovery Filter: AND- {#SERVICE.NAME} MATCHESREGEX - {#SERVICE.NAME} NOTMATCHESREGEX - {#SERVICE.STARTUPNAME} MATCHESREGEX - {#SERVICE.STARTUPNAME} NOTMATCHESREGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | CPU utilization in %. |
ZABBIX_PASSIVE | system.cpu.util |
CPU | CPU interrupt time | The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
ZABBIX_PASSIVE | perfcounteren["\Processor Information(_total)\% Interrupt Time"] |
CPU | Context switches per second | Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another. Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service. It is the sum of Thread\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches. There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval. |
ZABBIX_PASSIVE | perfcounteren["\System\Context Switches/sec"] |
CPU | CPU privileged time | The Processor Information\% Privileged Time counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows® Operating System. |
ZABBIX_PASSIVE | perfcounteren["\Processor Information(_total)\% Privileged Time"] |
CPU | CPU DPC time | Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance. |
ZABBIX_PASSIVE | perfcounteren["\Processor Information(_total)\% DPC Time"] |
CPU | CPU user time | The Processor Information\% User Time counter shows the percent of time that the processor(s) is spent executing in User mode. |
ZABBIX_PASSIVE | perfcounteren["\Processor Information(_total)\% User Time"] |
CPU | Number of cores | The number of logical processors available on the computer. |
ZABBIX_PASSIVE | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
CPU | CPU queue length | The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed. |
ZABBIX_PASSIVE | perfcounteren["\System\Processor Queue Length"] |
Filesystems | {#FSLABEL}({#FSNAME}): Used space | Used storage in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSLABEL}({#FSNAME}): Total space | Total space in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
General | System local time | System local time of the host. |
ZABBIX_PASSIVE | system.localtime |
General | System name | System host name. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | System description of the host. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of processes | The number of processes. |
ZABBIX_PASSIVE | proc.num[] |
General | Number of threads | The number of threads used by all running processes. |
ZABBIX_PASSIVE | perfcounteren["\System\Threads"] |
Inventory | Operating system architecture | Operating system architecture of the host. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | Used memory | Used memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[used] |
Memory | Total memory | Total memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Memory utilization | Memory utilization in %. |
CALCULATED | vm.memory.util Expression: last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100 |
Memory | Cache bytes | Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average. |
ZABBIX_PASSIVE | perfcounteren["\Memory\Cache Bytes"] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
CALCULATED | system.swap.free Expression: last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"]) |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
DEPENDENT | system.swap.pfree Preprocessing: - JAVASCRIPT: |
Memory | Used swap space in % | The used space of swap volume/file in percent. |
ZABBIX_PASSIVE | perfcounteren["\Paging file(_Total)\% Usage"] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free system page table entries | This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak or you running out of memory. |
ZABBIX_PASSIVE | perfcounteren["\Memory\Free System Page Table Entries"] |
Memory | Memory page faults per second | Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays. |
ZABBIX_PASSIVE | perfcounteren["\Memory\Page Faults/sec"] |
Memory | Memory pages per second | This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
ZABBIX_PASSIVE | perfcounteren["\Memory\Pages/sec"] |
Memory | Memory pool non-paged | This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log. |
ZABBIX_PASSIVE | perfcounteren["\Memory\Pool Nonpaged Bytes"] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
ZABBIX_PASSIVE | agent.ping |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
DEPENDENT | net.if.speed["{#IFGUID}"] Preprocessing: - JSONPATH: ⛔️ONFAIL: - JAVASCRIPT: - DISCARDUNCHANGED_HEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
DEPENDENT | net.if.type["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
DEPENDENT | net.if.status["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARDUNCHANGEDHEARTBEAT: |
Services | State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | - |
ZABBIX_PASSIVE | service.info["{#SERVICE.NAME}",state] |
Status | Uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_PASSIVE | system.uptime |
Status | Zabbix agent availability | Monitoring agent availability status |
INTERNAL | zabbix[host,agent,available] |
Storage | {#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
Storage | {#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
Storage | {#DEVNAME}: Disk utilization by idle time | This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\% Idle Time",60] Preprocessing: - JAVASCRIPT: |
Storage | {#DEVNAME}: Disk read request avg waiting time | The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
Storage | {#DEVNAME}: Disk write request avg waiting time | The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
Storage | {#DEVNAME}: Average disk read queue length | Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
Storage | {#DEVNAME}: Average disk write queue length | Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Zabbix raw items | Network interfaces WMI get | Raw data of win32_networkadapter. |
ZABBIX_PASSIVE | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing: - DISCARD UNCHANGED_HEARTBEAT:1h |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | |
CPU interrupt time is too high | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
CPU privileged time is too high | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |
WARNING | Depends on: - CPU interrupt time is too high - High CPU utilization |
CPU queue length is too high | The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro {$CPU.QUEUE.CRIT.MAX }. |
min(/Windows by Zabbix agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Zabbix agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
{#FSLABEL}({#FSNAME}): Disk space is critically low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSLABEL}({#FSNAME}): Disk space is low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSLABEL}({#FSNAME}): Disk space is critically low |
System time is out of sync | The host system time is different from the Zabbix server time. |
fuzzytime(/Windows by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | System name has changed. Ack to close. |
last(/Windows by Zabbix agent/system.hostname,#1)<>last(/Windows by Zabbix agent/system.hostname,#2) and length(last(/Windows by Zabbix agent/system.hostname))>0 |
INFO | Manual close: YES |
High memory utilization | The system is running out of free memory. |
min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | |
High swap space usage | This trigger is ignored, if there is no swap configured |
max(/Windows by Zabbix agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Zabbix agent/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization |
Number of free system page table entries is too low | The Memory Free System Page Table Entries is less than {$MEM.PAGETABLECRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
max(/Windows by Zabbix agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |
WARNING | Depends on: - High memory utilization |
The Memory Pages/sec is too high | The Memory Pages/sec in the last 5 minutes exceeds {$MEM.PAGE_SEC.CRIT.MAX}. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
min(/Windows by Zabbix agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
WARNING | Depends on: - High memory utilization |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The network interface utilization is close to its estimated maximum bandwidth. |
(avg(/Windows by Zabbix agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Zabbix agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0 Recovery expression: avg(/Windows by Zabbix agent/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) and avg(/Windows by Zabbix agent/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Windows by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Windows by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Windows by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
change(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:\"{#IFNAME}\"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status is different from Connected(2). WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#2)) Recovery expression: last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows by Zabbix agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
AVERAGE | |
Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Zabbix agent/system.uptime)<10m |
WARNING | Manual close: YES |
Zabbix agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Windows by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load |
min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} |
WARNING | Manual close: YES Depends on: - {#DEVNAME}: Disk read request responses are too high - {#DEVNAME}: Disk write request responses are too high |
{#DEVNAME}: Disk read request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
{#DEVNAME}: Disk write request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. It is an official Solaris OS template. It requires Zabbix agent 4.0.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on Solaris OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | Discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery". |
ZABBIX_PASSIVE | net.if.discovery Filter: - {#IFNAME} MATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Solaris | Maximum number of processes | It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxproc |
Solaris | Number of running processes | The number of processes in a running state. |
ZABBIX_PASSIVE | proc.num[,,run] |
Solaris | Number of processes | The total number of processes in any state. |
ZABBIX_PASSIVE | proc.num[] |
Solaris | Host boot time | - |
ZABBIX_PASSIVE | system.boottime |
Solaris | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND |
Solaris | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
Solaris | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
Solaris | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
Solaris | Context switches per second | - |
ZABBIX_PASSIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND |
Solaris | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_PASSIVE | system.cpu.util[,idle] |
Solaris | CPU iowait time | The amount of time the CPU has been waiting for the I/O to complete. |
ZABBIX_PASSIVE | system.cpu.util[,iowait] |
Solaris | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_PASSIVE | system.cpu.util[,system] |
Solaris | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_PASSIVE | system.cpu.util[,user] |
Solaris | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Solaris | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
Solaris | Free swap space | - |
ZABBIX_PASSIVE | system.swap.size[,free] |
Solaris | Free swap space in % | - |
ZABBIX_PASSIVE | system.swap.size[,pfree] |
Solaris | Total swap space | - |
ZABBIX_PASSIVE | system.swap.size[,total] |
Solaris | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Solaris | System uptime | - |
ZABBIX_PASSIVE | system.uptime |
Solaris | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
Solaris | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Solaris | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
Solaris | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
Solaris | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Solaris | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Solaris | Zabbix agent availability | Monitoring agent availability status |
INTERNAL | zabbix[host,agent,available] |
Solaris | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
Solaris | Interface {#IFNAME}: Incoming network traffic | - |
ZABBIX_PASSIVE | net.if.in[{#IFNAME}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Solaris | Interface {#IFNAME}: Outgoing network traffic | - |
ZABBIX_PASSIVE | net.if.out[{#IFNAME}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Solaris | {#FSNAME}: Free inodes (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
Solaris | {#FSNAME}: Free disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
Solaris | {#FSNAME}: Free disk space (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
Solaris | {#FSNAME}: Total disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Solaris | {#FSNAME}: Used disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Configured max number of processes is too low | - |
last(/Solaris/kernel.maxproc)<256 |
INFO | |
Too many processes running | - |
avg(/Solaris/proc.num[,,run],5m)>30 |
WARNING | |
Too many processes | - |
avg(/Solaris/proc.num[],5m)>300 |
WARNING | |
Processor load is too high | - |
avg(/Solaris/system.cpu.load[percpu,avg1],5m)>5 |
WARNING | |
Disk I/O is overloaded | The OS spends significant time waiting for the I/O (input/output) operations. It could be an indicator of performance issues with the storage system. |
avg(/Solaris/system.cpu.util[,iowait],5m)>20 |
WARNING | |
Hostname was changed | - |
last(/Solaris/system.hostname,#1)<>last(/Solaris/system.hostname,#2) |
INFO | |
Lack of free swap space | It probably means that the systems requires more physical memory. |
last(/Solaris/system.swap.size[,pfree])<50 |
WARNING | |
Host information was changed | - |
last(/Solaris/system.uname,#1)<>last(/Solaris/system.uname,#2) |
INFO | |
Server has just been restarted | - |
change(/Solaris/system.uptime)<0 |
INFO | |
/etc/passwd has been changed | - |
last(/Solaris/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Solaris/vfs.file.cksum[/etc/passwd,sha256],#2) |
WARNING | |
Lack of available memory on server | - |
last(/Solaris/vm.memory.size[available])<20M |
AVERAGE | |
Zabbix agent is not available | For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold. |
max(/Solaris/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
{#FSNAME}: Free inodes is less than 20% | - |
last(/Solaris/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
{#FSNAME}: Free disk space is less than 20% | - |
last(/Solaris/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING |
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.
For Zabbix version: 6.2 and higher. It is an Official OpenBSD template. It requires Zabbix agent 6.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on OpenBSD according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | Discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery". |
ZABBIX_PASSIVE | net.if.discovery Filter: - {#IFNAME} MATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND: `` |
CPU | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
CPU | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
CPU | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
CPU | Context switches per second | - |
ZABBIX_PASSIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND: `` |
CPU | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_PASSIVE | system.cpu.util[,idle] |
CPU | CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
ZABBIX_PASSIVE | system.cpu.util[,interrupt] |
CPU | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
ZABBIX_PASSIVE | system.cpu.util[,nice] |
CPU | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_PASSIVE | system.cpu.util[,system] |
CPU | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_PASSIVE | system.cpu.util[,user] |
Filesystems | Filesystems: Free inodes on {#FSNAME} (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
Filesystems | Filesystems: Free disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
Filesystems | Filesystems: Free disk space on {#FSNAME} (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
Filesystems | Filesystems: Total disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | Filesystems: Used disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
General | Host boot time | - |
ZABBIX_PASSIVE | system.boottime |
General | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
General | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System uptime | - |
ZABBIX_PASSIVE | system.uptime |
Memory | Free swap space | - |
ZABBIX_PASSIVE | system.swap.size[,free] |
Memory | Free swap space in % | - |
ZABBIX_PASSIVE | system.swap.size[,pfree] |
Memory | Total swap space | - |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
Memory | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
Network interfaces | Network interfaces: Incoming network traffic on {#IFNAME} | - |
ZABBIX_PASSIVE | net.if.in[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
Network interfaces | Network interfaces: Outgoing network traffic on {#IFNAME} | - |
ZABBIX_PASSIVE | net.if.out[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
OS | Maximum number of opened files | It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxfiles |
OS | Maximum number of processes | It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxproc |
OS | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
Processes | Number of running processes | The number of processes in a running state. |
ZABBIX_PASSIVE | proc.num[,,run] |
Processes | Number of processes | The total number of processes in any state. |
ZABBIX_PASSIVE | proc.num[] |
Security | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Processor load is too high on {HOST.NAME} | - |
avg(/OpenBSD by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 |
WARNING | |
Filesystems: Free inodes is less than 20% on volume {#FSNAME} | - |
last(/OpenBSD by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
Filesystems: Free disk space is less than 20% on volume {#FSNAME} | - |
last(/OpenBSD by Zabbix agent/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING | |
Hostname was changed on {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/system.hostname,#1)<>last(/OpenBSD by Zabbix agent/system.hostname,#2) |
INFO | |
Host information was changed on {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/system.uname,#1)<>last(/OpenBSD by Zabbix agent/system.uname,#2) |
INFO | |
{HOST.NAME} has just been restarted | - |
change(/OpenBSD by Zabbix agent/system.uptime)<0 |
INFO | |
Lack of free swap space on {HOST.NAME} | It probably means that the systems requires more physical memory. |
last(/OpenBSD by Zabbix agent/system.swap.size[,pfree])<50 |
WARNING | |
Lack of available memory on server {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/vm.memory.size[available])<20M |
AVERAGE | |
Configured max number of opened files is too low on {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/kernel.maxfiles)<1024 |
INFO | |
Configured max number of processes is too low on {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/kernel.maxproc)<256 |
INFO | |
Too many processes running on {HOST.NAME} | - |
avg(/OpenBSD by Zabbix agent/proc.num[,,run],5m)>30 |
WARNING | |
Too many processes on {HOST.NAME} | - |
avg(/OpenBSD by Zabbix agent/proc.num[],5m)>300 |
WARNING | |
/etc/passwd has been changed on {HOST.NAME} | - |
last(/OpenBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/OpenBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |
WARNING | |
Zabbix agent is not available | For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold. |
max(/OpenBSD by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. It is an official macOS template. It requires Zabbix agent 4.0.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on macOS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | Discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
macOS | Maximum number of opened files | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxfiles |
macOS | Maximum number of processes | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxproc |
macOS | Incoming network traffic on en0 | - |
ZABBIX_PASSIVE | net.if.in[en0] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
macOS | Outgoing network traffic on en0 | - |
ZABBIX_PASSIVE | net.if.out[en0] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
macOS | Host boot time | - |
ZABBIX_PASSIVE | system.boottime |
macOS | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
macOS | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
macOS | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
macOS | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
macOS | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
macOS | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
macOS | System uptime | - |
ZABBIX_PASSIVE | system.uptime |
macOS | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
macOS | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
macOS | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
macOS | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
macOS | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
macOS | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
macOS | {#FSNAME}: Free inodes (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
macOS | {#FSNAME}: Free disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
macOS | {#FSNAME}: Free disk space (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
macOS | {#FSNAME}: Total disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
macOS | {#FSNAME}: Used disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Configured max number of opened files is too low | - |
last(/macOS/kernel.maxfiles)<1024 |
INFO | |
Configured max number of processes is too low | - |
last(/macOS/kernel.maxproc)<256 |
INFO | |
Processor load is too high | - |
avg(/macOS/system.cpu.load[percpu,avg1],5m)>5 |
WARNING | |
Hostname was changed | - |
last(/macOS/system.hostname,#1)<>last(/macOS/system.hostname,#2) |
INFO | |
Host information was changed | - |
last(/macOS/system.uname,#1)<>last(/macOS/system.uname,#2) |
INFO | |
Server has just been restarted | - |
change(/macOS/system.uptime)<0 |
INFO | |
/etc/passwd has been changed | - |
last(/macOS/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/macOS/vfs.file.cksum[/etc/passwd,sha256],#2) |
WARNING | |
Lack of available memory on server | - |
last(/macOS/vm.memory.size[available])<20M |
AVERAGE | |
{#FSNAME}: Free inodes is less than 20% | - |
last(/macOS/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
{#FSNAME}: Free disk space is less than 20% | - |
last(/macOS/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING | |
Zabbix agent is not available | For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold. |
max(/macOS/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
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.
For Zabbix version: 6.2 and higher.
Install snmpd agent on Linux OS, enable SNMPv2.
Make sure access to UCD-SNMP-MIB is allowed from Zabbix server/proxy host, since,
by default, snmpd (for example, in Ubuntu) limits access to basic system information only:
rocommunity public default -V systemonly
Make sure you change that in order to read metrics of UCD-SNMP-MIB and UCD-DISKIO-MIB. Please refer to the documentation:
http://www.net-snmp.org/wiki/index.php/Vacm
You can also try to use snmpconf
:
http://www.net-snmp.org/wiki/index.php/TUT:snmpd_configuration
Change {$SNMP_COMMUNITY} on the host level in Zabbix.
No specific Zabbix configuration is required.
Name | Description | Default | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
{$CPU.UTIL.CRIT} | - |
90 |
||||||||||
{$ICMPLOSSWARN} | - |
20 |
||||||||||
{$ICMPRESPONSETIME_WARN} | - |
0.15 |
||||||||||
{$IF.ERRORS.WARN} | - |
2 |
||||||||||
{$IF.UTIL.MAX} | - |
90 |
||||||||||
{$IFCONTROL} | - |
1 |
||||||||||
{$LOADAVGPER_CPU.MAX.WARN} | Load per CPU considered sustainable. Tune if needed. |
1.5 |
||||||||||
{$MEMORY.AVAILABLE.MIN} | - |
20M |
||||||||||
{$MEMORY.UTIL.MAX} | - |
90 |
||||||||||
{$NET.IF.IFADMINSTATUS.MATCHES} | Ignore notPresent(6) |
^.* |
||||||||||
{$NET.IF.IFADMINSTATUS.NOT_MATCHES} | Ignore down(2) administrative status |
^2$ |
||||||||||
{$NET.IF.IFALIAS.MATCHES} | - |
.* |
||||||||||
{$NET.IF.IFALIAS.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
||||||||||
{$NET.IF.IFDESCR.MATCHES} | - |
.* |
||||||||||
{$NET.IF.IFDESCR.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
||||||||||
{$NET.IF.IFNAME.MATCHES} | - |
^.*$ |
||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default |
`(^Software Loopback Interface | ^NULL[0-9.]*$ | ^[Ll]o[0-9.]*$ | ^[Ss]ystem$ | ^Nu[0-9.]*$ | ^veth[0-9a-z]+$ | docker[0-9]+ | br-[a-z0-9]{12})` | |||
{$NET.IF.IFOPERSTATUS.MATCHES} | - |
^.*$ |
||||||||||
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(6) |
^6$ |
||||||||||
{$NET.IF.IFTYPE.MATCHES} | - |
.* |
||||||||||
{$NET.IF.IFTYPE.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
||||||||||
{$SNMP.TIMEOUT} | - |
5m |
||||||||||
{$SWAP.PFREE.MIN.WARN} | - |
50 |
||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used in block devices discovery. Can be overridden on the host or linked template level |
.+ |
||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used in block devices discovery. Can be overridden on the host or linked template level |
`^(loop[0-9]* | sd[a-z][0-9]+ | nbd[0-9]+ | sr[0-9]+ | fd[0-9]+ | dm-[0-9]+ | ram[0-9]+ | ploop[a-z0-9]+ | md[0-9]* | hcp[0-9]* | zram[0-9]*)` |
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level |
.+ |
||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level |
`^(/dev | /sys | /run | /proc | .+/shm$)` | ||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level |
`.*(.4 | .9 | hrStorageFixedDisk | hrStorageFlashMemory)$` | |||||||
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level |
^\s$ |
||||||||||
{$VFS.FS.INODE.PFREE.MIN.CRIT} | - |
10 |
||||||||||
{$VFS.FS.INODE.PFREE.MIN.WARN} | - |
20 |
||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | - |
90 |
||||||||||
{$VFS.FS.PUSED.MAX.WARN} | - |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Block devices discovery | Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable) |
SNMP | vfs.dev.discovery[snmp] Filter: AND- {#DEVNAME} MATCHESREGEX - {#DEVNAME} NOTMATCHES_REGEX |
|
CPU discovery | This discovery will create set of per core CPU metrics from UCD-SNMP-MIB, using {#CPU.COUNT} in preprocessing. That's the only reason why LLD is used. |
DEPENDENT | cpu.discovery[snmp] Preprocessing: - JAVASCRIPT: |
|
EtherLike-MIB Discovery | Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered. |
SNMP | net.if.duplex.discovery Preprocessing: - JAVASCRIPT: Filter: AND- {#IFOPERSTATUS} MATCHESREGEX - {#SNMPVALUE} MATCHESREGEX `(2 |
3)` |
Mounted filesystem discovery | HOST-RESOURCES-MIB::hrStorage discovery with storage filter |
SNMP | vfs.fs.discovery[snmp] Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX |
|
Network interfaces discovery | Discovering interfaces from IF-MIB. |
SNMP | net.if.discovery Filter: AND- {#IFADMINSTATUS} MATCHESREGEX - {#IFADMINSTATUS} NOTMATCHESREGEX - {#IFOPERSTATUS} MATCHESREGEX - {#IFOPERSTATUS} NOTMATCHESREGEX - {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHESREGEX - {#IFDESCR} MATCHESREGEX - {#IFDESCR} NOTMATCHESREGEX - {#IFALIAS} MATCHESREGEX - {#IFALIAS} NOTMATCHESREGEX - {#IFTYPE} MATCHESREGEX - {#IFTYPE} NOTMATCHESREGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Load average (1m avg) | MIB: UCD-SNMP-MIB |
SNMP | system.cpu.load.avg1[laLoad.1] |
CPU | Load average (5m avg) | MIB: UCD-SNMP-MIB |
SNMP | system.cpu.load.avg5[laLoad.2] |
CPU | Load average (15m avg) | MIB: UCD-SNMP-MIB |
SNMP | system.cpu.load.avg15[laLoad.3] |
CPU | Number of CPUs | MIB: HOST-RESOURCES-MIB Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD |
SNMP | system.cpu.num[snmp] Preprocessing: - JAVASCRIPT: |
CPU | Interrupts per second | - |
SNMP | system.cpu.intr[ssRawInterrupts.0] Preprocessing: - CHANGEPERSECOND |
CPU | Context switches per second | - |
SNMP | system.cpu.switches[ssRawContexts.0] Preprocessing: - CHANGEPERSECOND |
CPU | CPU idle time | MIB: UCD-SNMP-MIB The time the CPU has spent doing nothing. |
SNMP | system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU system time | MIB: UCD-SNMP-MIB The time the CPU has spent running the kernel and its processes. |
SNMP | system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU user time | MIB: UCD-SNMP-MIB The time the CPU has spent running users' processes that are not niced. |
SNMP | system.cpu.user[ssCpuRawUser.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU steal time | MIB: UCD-SNMP-MIB The amount of 'stolen' CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine. |
SNMP | system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU softirq time | MIB: UCD-SNMP-MIB The amount of time the CPU has been servicing software interrupts. |
SNMP | system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU nice time | MIB: UCD-SNMP-MIB The time the CPU has spent running users' processes that have been niced. |
SNMP | system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU iowait time | MIB: UCD-SNMP-MIB The amount of time the CPU has been waiting for I/O to complete. |
SNMP | system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU interrupt time | MIB: UCD-SNMP-MIB The amount of time the CPU has been servicing hardware interrupts. |
SNMP | system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU guest time | MIB: UCD-SNMP-MIB Guest time - the time spent on running a virtual CPU for a guest operating system. |
SNMP | system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - JAVASCRIPT: |
CPU | CPU guest nice time | MIB: UCD-SNMP-MIB The time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel). |
SNMP | system.cpu.guestnice[ssCpuRawGuestNice.{#SNMPINDEX}] Preprocessing: - CHANGE PER_SECOND- JAVASCRIPT: |
CPU | CPU utilization | The CPU utilization expressed in %. |
DEPENDENT | system.cpu.util[snmp,{#SNMPINDEX}] Preprocessing: - JAVASCRIPT: |
General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
General | System location | MIB: SNMPv2-MIB The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string. |
SNMP | system.location[sysLocation.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System contact details | MIB: SNMPv2-MIB The textual identification of the contact person for this managed node, together with information on how to contact this person. If no contact information is known, the value is the zero-length string. |
SNMP | system.contact[sysContact.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System object ID | MIB: SNMPv2-MIB The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining |
SNMP | system.objectid[sysObjectID.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System name | MIB: SNMPv2-MIB An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name. If the name is unknown, the value is the zero-length string. |
SNMP | system.name Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | MIB: SNMPv2-MIB A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. |
SNMP | system.descr[sysDescr.0] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | Memory utilization | Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP. |
CALCULATED | vm.memory.util[snmp] Expression: (last(//vm.memory.total[memTotalReal.0])-(last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])))/last(//vm.memory.total[memTotalReal.0])*100 |
Memory | Free memory | MIB: UCD-SNMP-MIB |
SNMP | vm.memory.free[memAvailReal.0] Preprocessing: - MULTIPLIER: |
Memory | Memory (buffers) | MIB: UCD-SNMP-MIB Memory used by kernel buffers (Buffers in /proc/meminfo). |
SNMP | vm.memory.buffers[memBuffer.0] Preprocessing: - MULTIPLIER: |
Memory | Memory (cached) | MIB: UCD-SNMP-MIB Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo). |
SNMP | vm.memory.cached[memCached.0] Preprocessing: - MULTIPLIER: |
Memory | Total memory | MIB: UCD-SNMP-MIB The total memory expressed in Bytes. |
SNMP | vm.memory.total[memTotalReal.0] Preprocessing: - MULTIPLIER: |
Memory | Available memory | Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP. |
CALCULATED | vm.memory.available[snmp] Expression: last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0]) |
Memory | Total swap space | MIB: UCD-SNMP-MIB The total amount of swap space configured for this host. |
SNMP | system.swap.total[memTotalSwap.0] Preprocessing: - MULTIPLIER: |
Memory | Free swap space | MIB: UCD-SNMP-MIB The amount of swap space currently unused or available. |
SNMP | system.swap.free[memAvailSwap.0] Preprocessing: - MULTIPLIER: |
Memory | Free swap space in % | The free space of the swap volume/file expressed in %. |
CALCULATED | system.swap.pfree[snmp] Expression: last(//system.swap.free[memAvailSwap.0])/last(//system.swap.total[memTotalSwap.0])*100 |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Duplex status | MIB: EtherLike-MIB The current mode of operation of the MAC entity. 'unknown' indicates that the current duplex mode could not be determined. Management control of the duplex mode is accomplished through the MAU MIB. When an interface does not support autonegotiation, or when autonegotiation is not enabled, the duplex mode is controlled using ifMauDefaultType. When autonegotiation is supported and enabled, duplex mode is controlled using ifMauAutoNegAdvertisedBits. In either case, the currently operating duplex mode is reflected both in this object and in ifMauType. Note that this object provides redundant information with ifMauType. Normally, redundant objects are discouraged. However, in this instance, it allows a management application to determine the duplex status of an interface without having to know every possible value of ifMauType. This was felt to be sufficiently valuable to justify the redundancy. Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus. |
SNMP | net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}] |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | MIB: IF-MIB The current operational state of the interface. - The testing(3) state indicates that no operational packet scan be passed - If ifAdminStatus is down(2) then ifOperStatus should be down(2) - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection) - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components. |
SNMP | net.if.status[ifOperStatus.{#SNMPINDEX}] |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | MIB: IF-MIB The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in[ifHCInOctets.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | MIB: IF-MIB The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out[ifHCOutOctets.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | MIB: IF-MIB For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in.errors[ifInErrors.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | MIB: IF-MIB For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out.errors[ifOutErrors.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | MIB: IF-MIB The number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | MIB: IF-MIB The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP | net.if.in.discards[ifInDiscards.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | MIB: IF-MIB The type of interface. Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA), through updating the syntax of the IANAifType textual convention. |
SNMP | net.if.type[ifType.{#SNMPINDEX}] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | MIB: IF-MIB An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of |
SNMP | net.if.speed[ifHighSpeed.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: - DISCARDUNCHANGEDHEARTBEAT: |
Status | Uptime (network) | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.net.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
Status | Uptime (hardware) | MIB: HOST-RESOURCES-MIB The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system. |
SNMP | system.hw.uptime[hrSystemUptime.0] Preprocessing: - CHECKNOTSUPPORTED ⛔️ON_FAIL: - MULTIPLIER: |
Status | SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - not available 1 - available 2 - unknown |
INTERNAL | zabbix[host,snmp,available] |
Status | ICMP ping | - |
SIMPLE | icmpping |
Status | ICMP loss | - |
SIMPLE | icmppingloss |
Status | ICMP response time | - |
SIMPLE | icmppingsec |
Storage | {#DEVNAME}: Disk read rate | MIB: UCD-DISKIO-MIB The number of read accesses from this device since boot. |
SNMP | vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk write rate | MIB: UCD-DISKIO-MIB The number of write accesses from this device since boot. |
SNMP | vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}] Preprocessing: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk utilization | MIB: UCD-DISKIO-MIB The 1 minute average load of disk (%) |
SNMP | vfs.dev.util[diskIOLA1.{#SNMPINDEX}] |
Storage | {#FSNAME}: Used space | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP | vfs.fs.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Storage | {#FSNAME}: Total space | MIB: HOST-RESOURCES-MIB The size of the storage represented by this entry, in units of hrStorageAllocationUnits. This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system. For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified. |
SNMP | vfs.fs.total[hrStorageSize.{#SNMPINDEX}] Preprocessing: - MULTIPLIER: |
Storage | {#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
CALCULATED | vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}] Expression: (last(//vfs.fs.used[hrStorageUsed.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100 |
Storage | {#FSNAME}: Free inodes in % | MIB: UCD-SNMP-MIB If having problems collecting this item make sure access to UCD-SNMP-MIB is allowed. |
SNMP | vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}] Preprocessing: - JAVASCRIPT: |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux by SNMP/system.cpu.load.avg1[laLoad.1],5m)/last(/Linux by SNMP/system.cpu.num[snmp])>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux by SNMP/system.cpu.load.avg5[laLoad.2])>0 and last(/Linux by SNMP/system.cpu.load.avg15[laLoad.3])>0 |
AVERAGE | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux by SNMP/system.cpu.util[snmp,{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT} |
WARNING | |
System name has changed | The name of the system has changed. Ack to close the problem manually. |
last(/Linux by SNMP/system.name,#1)<>last(/Linux by SNMP/system.name,#2) and length(last(/Linux by SNMP/system.name))>0 |
INFO | Manual close: YES |
High memory utilization | The system is running out of free memory. |
min(/Linux by SNMP/vm.memory.util[snmp],5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | Depends on: - Lack of available memory |
Lack of available memory | - |
max(/Linux by SNMP/vm.memory.available[snmp],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by SNMP/vm.memory.total[memTotalReal.0])>0 |
AVERAGE | |
High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux by SNMP/system.swap.pfree[snmp],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by SNMP/system.swap.total[memTotalSwap.0])>0 |
WARNING | Depends on: - High memory utilization - Lack of available memory |
Interface {#IFNAME}({#IFALIAS}): In half-duplex mode | Please check autonegotiation settings and cabling |
last(/Linux by SNMP/net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}])=2 |
WARNING | Manual close: YES |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. It can be triggered if the operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'ethernal off' interfaces.) WARNING: if closed manually - it will not fire again on the next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) Recovery expression: last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or avg(/Linux by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 Recovery expression: avg(/Linux by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and avg(/Linux by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Linux by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Linux by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Linux by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge (Ack) to close the problem manually. |
change(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and ( last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) Recovery expression: (change(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Host has been restarted | Uptime is less than 10 minutes. |
(last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Linux by SNMP/system.net.uptime[sysUpTime.0])<10m) |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/Linux by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
WARNING | Depends on: - Unavailable by ICMP ping |
Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/Linux by SNMP/icmpping,#3)=0 |
HIGH | |
High ICMP ping loss | - |
min(/Linux by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Linux by SNMP/icmppingloss,5m)<100 |
WARNING | Depends on: - Unavailable by ICMP ping |
High ICMP ping response time | - |
avg(/Linux by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |
WARNING | Depends on: - High ICMP ping loss - Unavailable by ICMP ping |
{#FSNAME}: Disk space is critically low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Linux by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Linux by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Linux by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Linux by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Linux by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Linux by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by SNMP/vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
AVERAGE | |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by SNMP/vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
WARNING | Depends on: - {#FSNAME}: Running out of free inodes |
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.
https://docs.fedoraproject.org/en-US/Fedora/26/html/SystemAdministratorsGuide/sect-SystemMonitoringTools-Net-SNMP-Retrieving.html
For Zabbix version: 6.2 and higher. This template collects Linux metrics from nodeexporter 0.18 and above. Support for older nodeexporter versions is provided as 'best effort'.
This template was tested on:
Please refer to the nodeexporter docs. Use nodeexporter v0.18.0 or above.
No specific Zabbix configuration is required.
Name | Description | Default | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$CPU.UTIL.CRIT} | - |
90 |
||||||||||||||||
{$IF.ERRORS.WARN} | - |
2 |
||||||||||||||||
{$IF.UTIL.MAX} | - |
90 |
||||||||||||||||
{$IFCONTROL} | - |
1 |
||||||||||||||||
{$KERNEL.MAXFILES.MIN} | - |
256 |
||||||||||||||||
{$LOADAVGPER_CPU.MAX.WARN} | Load per CPU considered sustainable. Tune if needed. |
1.5 |
||||||||||||||||
{$MEMORY.AVAILABLE.MIN} | - |
20M |
||||||||||||||||
{$MEMORY.UTIL.MAX} | - |
90 |
||||||||||||||||
{$NET.IF.IFALIAS.MATCHES} | - |
^.*$ |
||||||||||||||||
{$NET.IF.IFALIAS.NOT_MATCHES} | - |
CHANGE_IF_NEEDED |
||||||||||||||||
{$NET.IF.IFNAME.MATCHES} | - |
^.*$ |
||||||||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default. |
`(^Software Loopback Interface | ^NULL[0-9.]*$ | ^[Ll]o[0-9.]*$ | ^[Ss]ystem$ | ^Nu[0-9.]*$ | ^veth[0-9A-z]+$ | docker[0-9]+ | br-[a-z0-9]{12})` | |||||||||
{$NET.IF.IFOPERSTATUS.MATCHES} | - |
^.*$ |
||||||||||||||||
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(7). |
^7$ |
||||||||||||||||
{$NODEEXPORTERPORT} | TCP Port node_exporter is listening on. |
9100 |
||||||||||||||||
{$SWAP.PFREE.MIN.WARN} | - |
50 |
||||||||||||||||
{$SYSTEM.FUZZYTIME.MAX} | - |
60 |
||||||||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used in block devices discovery. Can be overridden on the host or linked template level. |
.+ |
||||||||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used in block devices discovery. Can be overridden on the host or linked template level. |
`^(loop[0-9]* | sd[a-z][0-9]+ | nbd[0-9]+ | sr[0-9]+ | fd[0-9]+ | dm-[0-9]+ | ram[0-9]+ | ploop[a-z0-9]+ | md[0-9]* | hcp[0-9]* | zram[0-9]*)` | ||||||
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in ms) before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in ms) before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
||||||||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
||||||||||||||||
{$VFS.FS.FSDEVICE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^.+$ |
||||||||||||||||
{$VFS.FS.FSDEVICE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
||||||||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.+ |
||||||||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(/dev | /sys | /run | /proc | .+/shm$)` | ||||||||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(btrfs | ext2 | ext3 | ext4 | reiser | xfs | ffs | ufs | jfs | jfs2 | vxfs | hfs | apfs | refs | ntfs | fat32 | zfs)$` |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.CRIT} | - |
10 |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.WARN} | - |
20 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | - |
90 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.WARN} | - |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info |
---|---|---|---|
Block devices discovery | - |
DEPENDENT | vfs.dev.discovery[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:node_disk_io_now{device=~".+"} Filter: AND- {#DEVNAME} MATCHES REGEX{$VFS.DEV.DEVNAME.MATCHES} - {#DEVNAME} NOTMATCHESREGEX |
Mounted filesystem discovery | Discovery of file systems of different types. |
DEPENDENT | vfs.fs.discovery[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_filesystem_size(?:_bytes)?$", mountpoint=~".+"} Filter: AND- {#FSTYPE} MATCHES REGEX{$VFS.FS.FSTYPE.MATCHES} - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSDEVICE} NOTMATCHESREGEX |
Network interface discovery | Discovery of network interfaces. Requires node_exporter v0.18 and up. |
DEPENDENT | net.if.discovery[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_network_info$"} Filter: AND- {#IFNAME} MATCHES REGEX{$NET.IF.IFNAME.MATCHES} - {#IFNAME} NOTMATCHESREGEX - {#IFALIAS} MATCHESREGEX - {#IFALIAS} NOTMATCHESREGEX - {#IFOPERSTATUS} MATCHESREGEX - {#IFOPERSTATUS} NOTMATCHESREGEX |
Group | Name | Description | Type | Key and additional info | |
---|---|---|---|---|---|
CPU | Load average (1m avg) | - |
DEPENDENT | system.cpu.load.avg1[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_load1 |
|
CPU | Load average (5m avg) | - |
DEPENDENT | system.cpu.load.avg5[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_load5 |
|
CPU | Load average (15m avg) | - |
DEPENDENT | system.cpu.load.avg15[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_load15 |
|
CPU | Number of CPUs | - |
DEPENDENT | system.cpu.num[nodeexporter] Preprocessing: - PROMETHEUS TO_JSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="idle"} - JAVASCRIPT: |
|
CPU | CPU utilization | The CPU utilization expressed in %. |
DEPENDENT | system.cpu.util[node_exporter] Preprocessing: - JAVASCRIPT: |
|
CPU | CPU idle time | The time the CPU has spent doing nothing. |
DEPENDENT | system.cpu.idle[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="idle"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU system time | The time the CPU has spent running the kernel and its processes. |
DEPENDENT | system.cpu.system[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="system"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU user time | The time the CPU has spent running users' processes that are not niced. |
DEPENDENT | system.cpu.user[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="user"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU steal time | The amount of 'stolen' CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine. |
DEPENDENT | system.cpu.steal[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="steal"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU softirq time | The amount of time the CPU has been servicing software interrupts. |
DEPENDENT | system.cpu.softirq[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="softirq"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
DEPENDENT | system.cpu.nice[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="nice"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU iowait time | The amount of time the CPU has been waiting for I/O to complete. |
DEPENDENT | system.cpu.iowait[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="iowait"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
DEPENDENT | system.cpu.interrupt[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="irq"} - JAVASCRIPT: - CHANGE PER_SECOND- MULTIPLIER: |
|
CPU | CPU guest time | Guest time - the time spent on running a virtual CPU for a guest operating system. |
DEPENDENT | system.cpu.guest[nodeexporter] Preprocessing: - PROMETHEUS TOJSON: `{name=~"^nodecpu(?:guestseconds_total)?$",cpu=~".+",mode=~"^(?:user |
guest)$"}</p><p>- JAVASCRIPT: The text is too long. Please see the template.</p><p>- CHANGE_PER_SECOND</p><p>- MULTIPLIER: 100` |
CPU | CPU guest nice time | The time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel). |
DEPENDENT | system.cpu.guestnice[nodeexporter] Preprocessing: - PROMETHEUSTOJSON: `{name=~"^nodecpu(?:guestsecondstotal)?$",cpu=~".+",mode=~"^(?:nice |
guest_nice)$"}</p><p>- JAVASCRIPT: The text is too long. Please see the template.</p><p>- CHANGE_PER_SECOND</p><p>- MULTIPLIER: 100` |
CPU | Interrupts per second | - |
DEPENDENT | system.cpu.intr[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_intr"} - CHANGEPERSECOND |
|
CPU | Context switches per second | - |
DEPENDENT | system.cpu.switches[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_context_switches"} - CHANGEPERSECOND |
|
General | System boot time | - |
DEPENDENT | system.boottime[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"^node_boot_time(?:_seconds)?$"} |
|
General | System local time | The local system time of the host. |
DEPENDENT | system.localtime[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"^node_time(?:_seconds)?$"} |
|
General | System name | The host name of the system. |
DEPENDENT | system.name[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_uname_info : label : nodename - DISCARDUNCHANGEDHEARTBEAT: |
|
General | System description | Labeled system information as provided by the uname system call. |
DEPENDENT | system.descr[nodeexporter] Preprocessing: - PROMETHEUS TOJSON:node_uname_info - JAVASCRIPT: - DISCARD UNCHANGED_HEARTBEAT:1d |
|
General | Maximum number of open file descriptors | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
DEPENDENT | kernel.maxfiles[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_filefd_maximum - DISCARDUNCHANGEDHEARTBEAT: |
|
General | Number of open file descriptors | - |
DEPENDENT | fd.open[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_filefd_allocated |
|
Inventory | Operating system | - |
DEPENDENT | system.sw.os[nodeexporter] Preprocessing: - DISCARD UNCHANGED_HEARTBEAT:1d |
|
Inventory | Operating system architecture | The architecture of the host's operating system. |
DEPENDENT | system.sw.arch[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_uname_info : label : machine - DISCARDUNCHANGEDHEARTBEAT: |
|
Memory | Memory utilization | Memory used percentage is calculated as (total-available)/total*100. |
CALCULATED | vm.memory.util[node_exporter] Expression: (last(//vm.memory.total[node_exporter])-last(//vm.memory.available[node_exporter]))/last(//vm.memory.total[node_exporter])*100 |
|
Memory | Total memory | The total memory expressed in Bytes. |
DEPENDENT | vm.memory.total[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_memory_MemTotal"} |
|
Memory | Available memory | The available memory: - in Linux - available = free + buffers + cache; - on other platforms calculation may vary. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item. |
DEPENDENT | vm.memory.available[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_memory_MemAvailable"} |
|
Memory | Total swap space | The total space of the swap volume/file expressed in bytes. |
DEPENDENT | system.swap.total[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_memory_SwapTotal"} |
|
Memory | Free swap space | The free space of the swap volume/file expressed in bytes. |
DEPENDENT | system.swap.free[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"node_memory_SwapFree"} |
|
Memory | Free swap space in % | The free space of the swap volume/file expressed in %. |
CALCULATED | system.swap.pfree[node_exporter] Expression: last(//system.swap.free[node_exporter])/last(//system.swap.total[node_exporter])*100 |
|
Monitoring agent | Version of node_exporter running | - |
DEPENDENT | agent.version[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:node_exporter_build_info : label : version - DISCARDUNCHANGEDHEARTBEAT: |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | - |
DEPENDENT | net.if.in[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_receive_bytes_total{device="{#IFNAME}"} - CHANGEPERSECOND - MULTIPLIER: |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | - |
DEPENDENT | net.if.out[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_transmit_bytes_total{device="{#IFNAME}"} - CHANGEPERSECOND - MULTIPLIER: |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | - |
DEPENDENT | net.if.out.errors[nodeexporter"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_transmit_errs_total{device="{#IFNAME}"} - CHANGEPERSECOND |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | - |
DEPENDENT | net.if.in.errors[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_receive_errs_total{device="{#IFNAME}"} - CHANGEPERSECOND |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | - |
DEPENDENT | net.if.in.discards[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_receive_drop_total{device="{#IFNAME}"} - CHANGEPERSECOND |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | - |
DEPENDENT | net.if.out.discards[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_transmit_drop_total{device="{#IFNAME}"} - CHANGEPERSECOND |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Sets value to 0 if metric is missing in node_exporter output. |
DEPENDENT | net.if.speed[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_speed_bytes{device="{#IFNAME}"} ⛔️ON_FAIL: - MULTIPLIER: |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | nodenetworkprotocoltype protocoltype value of /sys/class/net/ |
DEPENDENT | net.if.type[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_protocol_type{device="{#IFNAME}"} |
|
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt |
DEPENDENT | net.if.status[nodeexporter,"{#IFNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_network_info{device="{#IFNAME}"} : label : operstate - JAVASCRIPT: |
|
Status | System uptime | The system uptime expressed in the following format:'N days, hh:mm:ss'. |
DEPENDENT | system.uptime[nodeexporter] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"^node_boot_time(?:_seconds)?$"} - JAVASCRIPT: |
|
Storage | {#FSNAME}: Free space | - |
DEPENDENT | vfs.fs.free[nodeexporter,"{#FSNAME}"] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"^node_filesystem_avail(?:_bytes)?$", mountpoint="{#FSNAME}"} |
|
Storage | {#FSNAME}: Total space | The total space expressed in Bytes. |
DEPENDENT | vfs.fs.total[nodeexporter,"{#FSNAME}"] Preprocessing: - PROMETHEUS PATTERN:{__name__=~"^node_filesystem_size(?:_bytes)?$", mountpoint="{#FSNAME}"} |
|
Storage | {#FSNAME}: Used space | Used storage expressed in Bytes |
CALCULATED | vfs.fs.used[node_exporter,"{#FSNAME}"] Expression: (last(//vfs.fs.total[node_exporter,"{#FSNAME}"])-last(//vfs.fs.free[node_exporter,"{#FSNAME}"])) |
|
Storage | {#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
CALCULATED | vfs.fs.pused[node_exporter,"{#FSNAME}"] Expression: (last(//vfs.fs.used[node_exporter,"{#FSNAME}"])/last(//vfs.fs.total[node_exporter,"{#FSNAME}"]))*100 |
|
Storage | {#FSNAME}: Free inodes in % | - |
DEPENDENT | vfs.fs.inode.pfree[nodeexporter,"{#FSNAME}"] Preprocessing: - PROMETHEUS TO_JSON:{__name__=~"node_filesystem_files.*",mountpoint="{#FSNAME}"} - JAVASCRIPT: |
|
Storage | {#DEVNAME}: Disk read rate | r/s. The number (after merges) of read requests completed per second for the device. |
DEPENDENT | vfs.dev.read.rate[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_disk_reads_completed_total{device="{#DEVNAME}"} - CHANGEPERSECOND |
|
Storage | {#DEVNAME}: Disk write rate | w/s. The number (after merges) of write requests completed per second for the device. |
DEPENDENT | vfs.dev.write.rate[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_disk_writes_completed_total{device="{#DEVNAME}"} - CHANGEPERSECOND |
|
Storage | {#DEVNAME}: Disk read request avg waiting time (r_await) | This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception. |
CALCULATED | vfs.dev.read.await[node_exporter,"{#DEVNAME}"] Expression: (last(//vfs.dev.read.time.rate[node_exporter,"{#DEVNAME}"])/(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"])+(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"])=0)))*1000*(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"]) > 0) |
|
Storage | {#DEVNAME}: Disk write request avg waiting time (w_await) | This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception. |
CALCULATED | vfs.dev.write.await[node_exporter,"{#DEVNAME}"] Expression: (last(//vfs.dev.write.time.rate[node_exporter,"{#DEVNAME}"])/(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"])+(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"])=0)))*1000*(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"]) > 0) |
|
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected. |
DEPENDENT | vfs.dev.queuesize[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUSPATTERN: - CHANGEPER_SECOND |
|
Storage | {#DEVNAME}: Disk utilization | This item is the percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests. |
DEPENDENT | vfs.dev.util[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_disk_io_time_seconds_total{device="{#DEVNAME}"} - CHANGEPERSECOND - MULTIPLIER: |
|
Zabbix raw items | Get node_exporter metrics | - |
HTTP_AGENT | node_exporter.get | |
Zabbix raw items | {#DEVNAME}: Disk read time (rate) | Rate of total read time counter. Used in r_await calculation. |
DEPENDENT | vfs.dev.read.time.rate[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_disk_read_time_seconds_total{device="{#DEVNAME}"} - CHANGEPERSECOND |
|
Zabbix raw items | {#DEVNAME}: Disk write time (rate) | Rate of total write time counter. Used in w_await calculation. |
DEPENDENT | vfs.dev.write.time.rate[nodeexporter,"{#DEVNAME}"] Preprocessing: - PROMETHEUS PATTERN:node_disk_write_time_seconds_total{device="{#DEVNAME}"} - CHANGEPERSECOND |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux by Prom/system.cpu.load.avg1[node_exporter],5m)/last(/Linux by Prom/system.cpu.num[node_exporter])>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux by Prom/system.cpu.load.avg5[node_exporter])>0 and last(/Linux by Prom/system.cpu.load.avg15[node_exporter])>0 |
AVERAGE | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux by Prom/system.cpu.util[node_exporter],5m)>{$CPU.UTIL.CRIT} |
WARNING | Depends on: - Load average is too high |
System time is out of sync | The host's system time is different from Zabbix server time. |
fuzzytime(/Linux by Prom/system.localtime[node_exporter],{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | The name of the system has changed. Ack to close the problem manually. |
last(/Linux by Prom/system.name[node_exporter],#1)<>last(/Linux by Prom/system.name[node_exporter],#2) and length(last(/Linux by Prom/system.name[node_exporter]))>0 |
INFO | Manual close: YES |
Configured max number of open filedescriptors is too low | - |
last(/Linux by Prom/kernel.maxfiles[node_exporter])<{$KERNEL.MAXFILES.MIN} |
INFO | Depends on: - Running out of file descriptors |
Running out of file descriptors | - |
last(/Linux by Prom/fd.open[node_exporter])/last(/Linux by Prom/kernel.maxfiles[node_exporter])*100>80 |
WARNING | |
Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Ack to close the problem manually. |
last(/Linux by Prom/system.sw.os[node_exporter],#1)<>last(/Linux by Prom/system.sw.os[node_exporter],#2) and length(last(/Linux by Prom/system.sw.os[node_exporter]))>0 |
INFO | Manual close: YES Depends on: - System name has changed |
High memory utilization | The system is running out of free memory. |
min(/Linux by Prom/vm.memory.util[node_exporter],5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | Depends on: - Lack of available memory |
Lack of available memory | - |
max(/Linux by Prom/vm.memory.available[node_exporter],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Prom/vm.memory.total[node_exporter])>0 |
AVERAGE | |
High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux by Prom/system.swap.pfree[node_exporter],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Prom/system.swap.total[node_exporter])>0 |
WARNING | Depends on: - High memory utilization - Lack of available memory |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux by Prom/net.if.in[node_exporter,"{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"]) or avg(/Linux by Prom/net.if.out[node_exporter,"{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])) and last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0 Recovery expression: avg(/Linux by Prom/net.if.in[node_exporter,"{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"]) and avg(/Linux by Prom/net.if.out[node_exporter,"{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Linux by Prom/net.if.in.errors[node_exporter,"{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux by Prom/net.if.out.errors[node_exporter"{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Linux by Prom/net.if.in.errors[node_exporter,"{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Linux by Prom/net.if.out.errors[node_exporter"{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge (Ack) to close the problem manually. |
change(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])<0 and last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0 and ( last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=6 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=7 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=11 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=62 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=69 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=117 ) and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2) Recovery expression: (change(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0 and last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"],#2)>0) or (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge (Ack) to close the problem manually. |
change(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])<0 and last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])>0 and (last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=6 or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=1) and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2) Recovery expression: (change(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])>0 and last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"],#2)>0) or (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. It can be triggered if the operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'ethernal off' interfaces.) WARNING: if closed manually - it will not fire again on the next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2)) Recovery expression: last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
has been restarted | The device uptime is less than 10 minutes. |
last(/Linux by Prom/system.uptime[node_exporter])<10m |
WARNING | Manual close: YES |
{#FSNAME}: Disk space is critically low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Linux by Prom/vfs.fs.total[node_exporter,"{#FSNAME}"])-last(/Linux by Prom/vfs.fs.used[node_exporter,"{#FSNAME}"]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Linux by Prom/vfs.fs.total[node_exporter,"{#FSNAME}"])-last(/Linux by Prom/vfs.fs.used[node_exporter,"{#FSNAME}"]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Prom/vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
AVERAGE | |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Prom/vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
WARNING | Depends on: - {#FSNAME}: Running out of free inodes |
{#DEVNAME}: Disk read/write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Linux by Prom/vfs.dev.read.await[node_exporter,"{#DEVNAME}"],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Prom/vfs.dev.write.await[node_exporter,"{#DEVNAME}"],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
node_exporter is not available | Failed to fetch system metrics from node_exporter in time. |
nodata(/Linux by Prom/node_exporter.get,30m)=1 |
WARNING | Manual close: YES |
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.
Description: nodeexporter v0.16.0 renamed many metrics. CPU utilization for 'guest' and 'guestnice' metrics are not supported in this template with nodeexporter < 0.16. Disk IO metrics are not supported. Other metrics provided as 'best effort'. See https://github.com/prometheus/nodeexporter/releases/tag/v0.16.0 for details.
Description: metric nodenetworkinfo with label 'device' cannot be found, so network discovery is not possible.
https://github.com/prometheus/node_exporter
For Zabbix version: 6.2 and higher. New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.
Install Zabbix agent on Linux OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$AGENT.NODATA_TIMEOUT} | No data timeout for active agents. Consider to keep it relatively high. |
30m |
||||||||||||||||
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
||||||||||||||||
{$CPU.UTIL.CRIT} | - |
90 |
||||||||||||||||
{$IF.ERRORS.WARN} | - |
2 |
||||||||||||||||
{$IF.UTIL.MAX} | This macro is used as a threshold in the interface utilization trigger. |
90 |
||||||||||||||||
{$IFCONTROL} | - |
1 |
||||||||||||||||
{$KERNEL.MAXFILES.MIN} | - |
256 |
||||||||||||||||
{$KERNEL.MAXPROC.MIN} | - |
1024 |
||||||||||||||||
{$LOADAVGPER_CPU.MAX.WARN} | CPU load per core is considered sustainable. If necessary, it can be tuned. |
1.5 |
||||||||||||||||
{$MEMORY.AVAILABLE.MIN} | This macro is used as a threshold in the memory available trigger. |
20M |
||||||||||||||||
{$MEMORY.UTIL.MAX} | This macro is used as a threshold in the memory utilization trigger. |
90 |
||||||||||||||||
{$NET.IF.IFNAME.MATCHES} | - |
^.*$ |
||||||||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | It filters out loopbacks, nulls, docker veth links and docker0 bridge by default. |
`(^Software Loopback Interface | ^NULL[0-9.]*$ | ^[Ll]o[0-9.]*$ | ^[Ss]ystem$ | ^Nu[0-9.]*$ | ^veth[0-9A-z]+$ | docker[0-9]+ | br-[a-z0-9]{12})` | |||||||||
{$SWAP.PFREE.MIN.WARN} | - |
50 |
||||||||||||||||
{$SYSTEM.FUZZYTIME.MAX} | - |
60 |
||||||||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used for a discovery of block devices. It can be overridden on host level or its linked template level. |
.+ |
||||||||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used for a discovery of block devices. It can be overridden on host level or its linked template level. |
`^(loop[0-9]* | sd[a-z][0-9]+ | nbd[0-9]+ | sr[0-9]+ | fd[0-9]+ | dm-[0-9]+ | ram[0-9]+ | ploop[a-z0-9]+ | md[0-9]* | hcp[0-9]* | zram[0-9]*)` | ||||||
{$VFS.DEV.READ.AWAIT.WARN} | The average response time (in ms) of disk read before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.DEV.WRITE.AWAIT.WARN} | The average response time (in ms) of disk write before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold for utilization of the filesystem. |
5G |
||||||||||||||||
{$VFS.FS.FREE.MIN.WARN} | The critical threshold for utilization of the filesystem. |
10G |
||||||||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
.+ |
||||||||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
`^(/dev | /sys | /run | /proc | .+/shm$)` | ||||||||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
`^(btrfs | ext2 | ext3 | ext4 | reiser | xfs | ffs | ufs | jfs | jfs2 | vxfs | hfs | apfs | refs | ntfs | fat32 | zfs)$` |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
^\s$ |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.CRIT} | - |
10 |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.WARN} | - |
20 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | - |
90 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.WARN} | - |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Block devices discovery | - |
ZABBIX_ACTIVE | vfs.dev.discovery Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: Filter: AND- {#DEVTYPE} MATCHESREGEX - {#DEVNAME} MATCHESREGEX - {#DEVNAME} NOTMATCHESREGEX |
|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_ACTIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces. |
ZABBIX_ACTIVE | net.if.discovery Filter: AND- {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Number of CPUs | - |
ZABBIX_ACTIVE | system.cpu.num Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
CPU | Load average (1m avg) | - |
ZABBIX_ACTIVE | system.cpu.load[all,avg1] |
CPU | Load average (5m avg) | - |
ZABBIX_ACTIVE | system.cpu.load[all,avg5] |
CPU | Load average (15m avg) | - |
ZABBIX_ACTIVE | system.cpu.load[all,avg15] |
CPU | CPU utilization | The CPU utilization expressed in %. |
DEPENDENT | system.cpu.util Preprocessing: - JAVASCRIPT: |
CPU | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_ACTIVE | system.cpu.util[,idle] |
CPU | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_ACTIVE | system.cpu.util[,system] |
CPU | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_ACTIVE | system.cpu.util[,user] |
CPU | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
ZABBIX_ACTIVE | system.cpu.util[,nice] |
CPU | CPU iowait time | The amount of time the CPU has been waiting for I/O to complete. |
ZABBIX_ACTIVE | system.cpu.util[,iowait] |
CPU | CPU steal time | The amount of 'stolen' CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine. |
ZABBIX_ACTIVE | system.cpu.util[,steal] |
CPU | CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
ZABBIX_ACTIVE | system.cpu.util[,interrupt] |
CPU | CPU softirq time | The amount of time the CPU has been servicing software interrupts. |
ZABBIX_ACTIVE | system.cpu.util[,softirq] |
CPU | CPU guest time | Guest time - the time spent on running a virtual CPU for a guest operating system. |
ZABBIX_ACTIVE | system.cpu.util[,guest] |
CPU | CPU guest nice time | The time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel). |
ZABBIX_ACTIVE | system.cpu.util[,guest_nice] |
CPU | Context switches per second | - |
ZABBIX_ACTIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND |
CPU | Interrupts per second | - |
ZABBIX_ACTIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND |
Filesystems | {#FSNAME}: Used space | Used storage expressed in Bytes |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSNAME}: Total space | The total space expressed in Bytes. |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
ZABBIX_ACTIVE | vfs.fs.size[{#FSNAME},pused] |
Filesystems | {#FSNAME}: Free inodes in % | - |
ZABBIX_ACTIVE | vfs.fs.inode[{#FSNAME},pfree] |
General | System boot time | - |
ZABBIX_ACTIVE | system.boottime Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System local time | The local system time of the host. |
ZABBIX_ACTIVE | system.localtime |
General | System name | The host name of the system. |
ZABBIX_ACTIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | The information as normally returned by 'uname -a'. |
ZABBIX_ACTIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_ACTIVE | system.users.num |
General | Maximum number of open file descriptors | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_ACTIVE | kernel.maxfiles Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Maximum number of processes | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_ACTIVE | kernel.maxproc Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of processes | - |
ZABBIX_ACTIVE | proc.num |
General | Number of running processes | - |
ZABBIX_ACTIVE | proc.num[,,run] |
Inventory | Operating system | - |
ZABBIX_ACTIVE | system.sw.os Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Inventory | Operating system architecture | The architecture of the host's operating system. |
ZABBIX_ACTIVE | system.sw.arch Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Inventory | Software installed | - |
ZABBIX_ACTIVE | system.sw.packages Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | Memory utilization | The percentage of used memory is calculated as 100-pavailable. |
DEPENDENT | vm.memory.utilization Preprocessing: - JAVASCRIPT: |
Memory | Available memory in % | The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item. |
ZABBIX_ACTIVE | vm.memory.size[pavailable] |
Memory | Total memory | The total memory expressed in Bytes. |
ZABBIX_ACTIVE | vm.memory.size[total] |
Memory | Available memory | The available memory: - in Linux - available = free + buffers + cache; - on other platforms calculation may vary. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item. |
ZABBIX_ACTIVE | vm.memory.size[available] |
Memory | Total swap space | The total space of the swap volume/file expressed in bytes. |
ZABBIX_ACTIVE | system.swap.size[,total] |
Memory | Free swap space | The free space of the swap volume/file expressed in bytes. |
ZABBIX_ACTIVE | system.swap.size[,free] |
Memory | Free swap space in % | The free space of the swap volume/file expressed in %. |
ZABBIX_ACTIVE | system.swap.size[,pfree] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_ACTIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_ACTIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - unknown 1 - available 2 - not available |
INTERNAL | zabbix[host,active_agent,available] |
Network interfaces | Interface {#IFNAME}: Bits received | - |
ZABBIX_ACTIVE | net.if.in["{#IFNAME}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Bits sent | - |
ZABBIX_ACTIVE | net.if.out["{#IFNAME}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Outbound packets with errors | - |
ZABBIX_ACTIVE | net.if.out["{#IFNAME}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets with errors | - |
ZABBIX_ACTIVE | net.if.in["{#IFNAME}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Outbound packets discarded | - |
ZABBIX_ACTIVE | net.if.out["{#IFNAME}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets discarded | - |
ZABBIX_ACTIVE | net.if.in["{#IFNAME}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Operational status | Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt |
ZABBIX_ACTIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"] Preprocessing: - JAVASCRIPT: |
Network interfaces | Interface {#IFNAME}: Interface type | It indicates the interface protocol type as a decimal value. See include/uapi/linux/if_arp.h for all possible values. Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_ACTIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/type"] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}: Speed | It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec. This attribute is only valid for the interfaces that implement the ethtool getlinkksettings method (mostly Ethernet). Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_ACTIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/speed"] Preprocessing: - MULTIPLIER: - DISCARDUNCHANGEDHEARTBEAT: |
Security | Checksum of /etc/passwd | - |
ZABBIX_ACTIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Status | System uptime | The system uptime expressed in the following format:'N days, hh:mm:ss'. |
ZABBIX_ACTIVE | system.uptime |
Status | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
ZABBIX_ACTIVE | agent.ping |
Storage | {#DEVNAME}: Disk read rate | r/s (read operations per second) - the number (after merges) of read requests completed per second for the device. |
DEPENDENT | vfs.dev.read.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk write rate | w/s (write operations per second) - the number (after merges) of write requests completed per second for the device. |
DEPENDENT | vfs.dev.write.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk read request avg waiting time (r_await) | This formula contains two boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero. |
CALCULATED | vfs.dev.read.await[{#DEVNAME}] Expression: (last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0) |
Storage | {#DEVNAME}: Disk write request avg waiting time (w_await) | This formula contains two boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero. |
CALCULATED | vfs.dev.write.await[{#DEVNAME}] Expression: (last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0) |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected. |
DEPENDENT | vfs.dev.queuesize[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE PER_SECOND- MULTIPLIER: |
Storage | {#DEVNAME}: Disk utilization | This item is the percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests. |
DEPENDENT | vfs.dev.util[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Zabbix raw items | {#DEVNAME}: Get stats | The contents of get /sys/block/{#DEVNAME}/stat to get the disk statistics. |
ZABBIX_ACTIVE | vfs.file.contents[/sys/block/{#DEVNAME}/stat] Preprocessing: - JAVASCRIPT: |
Zabbix raw items | {#DEVNAME}: Disk read time (rate) | The rate of total read time counter; used in r_await calculation. |
DEPENDENT | vfs.dev.read.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Zabbix raw items | {#DEVNAME}: Disk write time (rate) | The rate of total write time counter; used in w_await calculation. |
DEPENDENT | vfs.dev.write.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux by Zabbix agent active/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent active/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux by Zabbix agent active/system.cpu.load[all,avg5])>0 and last(/Linux by Zabbix agent active/system.cpu.load[all,avg15])>0 |
AVERAGE | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | Depends on: - Load average is too high |
{#FSNAME}: Disk space is critically low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},total])-last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},total])-last(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent active/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Zabbix agent active/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
AVERAGE | |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Zabbix agent active/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
WARNING | Depends on: - {#FSNAME}: Running out of free inodes |
System time is out of sync | The host's system time is different from Zabbix server time. |
fuzzytime(/Linux by Zabbix agent active/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | The name of the system has changed. Ack to close the problem manually. |
last(/Linux by Zabbix agent active/system.hostname,#1)<>last(/Linux by Zabbix agent active/system.hostname,#2) and length(last(/Linux by Zabbix agent active/system.hostname))>0 |
INFO | Manual close: YES |
Configured max number of open filedescriptors is too low | - |
last(/Linux by Zabbix agent active/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN} |
INFO | |
Configured max number of processes is too low | - |
last(/Linux by Zabbix agent active/kernel.maxproc)<{$KERNEL.MAXPROC.MIN} |
INFO | Depends on: - Getting closer to process limit |
Getting closer to process limit | - |
last(/Linux by Zabbix agent active/proc.num)/last(/Linux by Zabbix agent active/kernel.maxproc)*100>80 |
WARNING | |
Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Ack to close the problem manually. |
last(/Linux by Zabbix agent active/system.sw.os,#1)<>last(/Linux by Zabbix agent active/system.sw.os,#2) and length(last(/Linux by Zabbix agent active/system.sw.os))>0 |
INFO | Manual close: YES Depends on: - System name has changed |
High memory utilization | The system is running out of free memory. |
min(/Linux by Zabbix agent active/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | Depends on: - Lack of available memory |
Lack of available memory | - |
max(/Linux by Zabbix agent active/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent active/vm.memory.size[total])>0 |
AVERAGE | |
High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux by Zabbix agent active/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Zabbix agent active/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization - Lack of available memory |
Zabbix agent: active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/Linux by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
HIGH | |
Interface {#IFNAME}: High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux by Zabbix agent active/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or avg(/Linux by Zabbix agent active/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 Recovery expression: avg(/Linux by Zabbix agent active/net.if.in["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) and avg(/Linux by Zabbix agent active/net.if.out["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Interface {#IFNAME}: High error rate | It recovers when it is below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Linux by Zabbix agent active/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux by Zabbix agent active/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Linux by Zabbix agent active/net.if.in["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Linux by Zabbix agent active/net.if.out["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Interface {#IFNAME}: Link down | This trigger expression works as follows: 1. It can be triggered if the operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'ethernal off' interfaces.) WARNING: if closed manually - it will not fire again on the next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2)) Recovery expression: last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Interface {#IFNAME}: Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge (Ack) to close the problem manually. |
change(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1) and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2) Recovery expression: (change(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"],#2)>0) or (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
/etc/passwd has been changed | - |
last(/Linux by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#2) |
INFO | Manual close: YES Depends on: - Operating system description has changed - System name has changed |
has been restarted | The host uptime is less than 10 minutes |
last(/Linux by Zabbix agent active/system.uptime)<10m |
WARNING | Manual close: YES |
Zabbix agent is not available | For active agents, nodata() with agent.ping is used with {$AGENT.NODATA_TIMEOUT} as time threshold. |
nodata(/Linux by Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1 |
AVERAGE | Manual close: YES |
{#DEVNAME}: Disk read/write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Linux by Zabbix agent active/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Zabbix agent active/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.
Install Zabbix agent on Linux OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode). |
3m |
||||||||||||||||
{$CPU.UTIL.CRIT} | - |
90 |
||||||||||||||||
{$IF.ERRORS.WARN} | - |
2 |
||||||||||||||||
{$IF.UTIL.MAX} | This macro is used as a threshold in the interface utilization trigger. |
90 |
||||||||||||||||
{$IFCONTROL} | - |
1 |
||||||||||||||||
{$KERNEL.MAXFILES.MIN} | - |
256 |
||||||||||||||||
{$KERNEL.MAXPROC.MIN} | - |
1024 |
||||||||||||||||
{$LOADAVGPER_CPU.MAX.WARN} | CPU load per core is considered sustainable. If necessary, it can be tuned. |
1.5 |
||||||||||||||||
{$MEMORY.AVAILABLE.MIN} | This macro is used as a threshold in the memory available trigger. |
20M |
||||||||||||||||
{$MEMORY.UTIL.MAX} | This macro is used as a threshold in the memory utilization trigger. |
90 |
||||||||||||||||
{$NET.IF.IFNAME.MATCHES} | - |
^.*$ |
||||||||||||||||
{$NET.IF.IFNAME.NOT_MATCHES} | It filters out loopbacks, nulls, docker veth links and docker0 bridge by default. |
`(^Software Loopback Interface | ^NULL[0-9.]*$ | ^[Ll]o[0-9.]*$ | ^[Ss]ystem$ | ^Nu[0-9.]*$ | ^veth[0-9A-z]+$ | docker[0-9]+ | br-[a-z0-9]{12})` | |||||||||
{$SWAP.PFREE.MIN.WARN} | - |
50 |
||||||||||||||||
{$SYSTEM.FUZZYTIME.MAX} | - |
60 |
||||||||||||||||
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used for a discovery of block devices. It can be overridden on host level or its linked template level. |
.+ |
||||||||||||||||
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used for a discovery of block devices. It can be overridden on host level or its linked template level. |
`^(loop[0-9]* | sd[a-z][0-9]+ | nbd[0-9]+ | sr[0-9]+ | fd[0-9]+ | dm-[0-9]+ | ram[0-9]+ | ploop[a-z0-9]+ | md[0-9]* | hcp[0-9]* | zram[0-9]*)` | ||||||
{$VFS.DEV.READ.AWAIT.WARN} | The average response time (in ms) of disk read before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.DEV.WRITE.AWAIT.WARN} | The average response time (in ms) of disk write before the trigger would fire. |
20 |
||||||||||||||||
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold for utilization of the filesystem. |
5G |
||||||||||||||||
{$VFS.FS.FREE.MIN.WARN} | The warning threshold for utilization of the filesystem. |
10G |
||||||||||||||||
{$VFS.FS.FSNAME.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
.+ |
||||||||||||||||
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
`^(/dev | /sys | /run | /proc | .+/shm$)` | ||||||||||||
{$VFS.FS.FSTYPE.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
`^(btrfs | ext2 | ext3 | ext4 | reiser | xfs | ffs | ufs | jfs | jfs2 | vxfs | hfs | apfs | refs | ntfs | fat32 | zfs)$` |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
^\s$ |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.CRIT} | - |
10 |
||||||||||||||||
{$VFS.FS.INODE.PFREE.MIN.WARN} | - |
20 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.CRIT} | - |
90 |
||||||||||||||||
{$VFS.FS.PUSED.MAX.WARN} | - |
80 |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Block devices discovery | - |
ZABBIX_PASSIVE | vfs.dev.discovery Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: Filter: AND- {#DEVTYPE} MATCHESREGEX - {#DEVNAME} MATCHESREGEX - {#DEVNAME} NOTMATCHESREGEX |
|
Mounted filesystem discovery | The discovery of mounted filesystems with different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHESREGEX - {#FSTYPE} NOTMATCHESREGEX - {#FSNAME} MATCHESREGEX - {#FSNAME} NOTMATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces. |
ZABBIX_PASSIVE | net.if.discovery Filter: AND- {#IFNAME} MATCHESREGEX - {#IFNAME} NOTMATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Number of CPUs | - |
ZABBIX_PASSIVE | system.cpu.num Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
CPU | Load average (1m avg) | - |
ZABBIX_PASSIVE | system.cpu.load[all,avg1] |
CPU | Load average (5m avg) | - |
ZABBIX_PASSIVE | system.cpu.load[all,avg5] |
CPU | Load average (15m avg) | - |
ZABBIX_PASSIVE | system.cpu.load[all,avg15] |
CPU | CPU utilization | The CPU utilization expressed in %. |
DEPENDENT | system.cpu.util Preprocessing: - JAVASCRIPT: |
CPU | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_PASSIVE | system.cpu.util[,idle] |
CPU | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_PASSIVE | system.cpu.util[,system] |
CPU | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_PASSIVE | system.cpu.util[,user] |
CPU | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
ZABBIX_PASSIVE | system.cpu.util[,nice] |
CPU | CPU iowait time | The amount of time the CPU has been waiting for I/O to complete. |
ZABBIX_PASSIVE | system.cpu.util[,iowait] |
CPU | CPU steal time | The amount of 'stolen' CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine. |
ZABBIX_PASSIVE | system.cpu.util[,steal] |
CPU | CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
ZABBIX_PASSIVE | system.cpu.util[,interrupt] |
CPU | CPU softirq time | The amount of time the CPU has been servicing software interrupts. |
ZABBIX_PASSIVE | system.cpu.util[,softirq] |
CPU | CPU guest time | Guest time - the time spent on running a virtual CPU for a guest operating system. |
ZABBIX_PASSIVE | system.cpu.util[,guest] |
CPU | CPU guest nice time | The time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel). |
ZABBIX_PASSIVE | system.cpu.util[,guest_nice] |
CPU | Context switches per second | - |
ZABBIX_PASSIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND |
CPU | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND |
Filesystems | {#FSNAME}: Used space | Used storage expressed in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSNAME}: Total space | The total space expressed in Bytes. |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
Filesystems | {#FSNAME}: Free inodes in % | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
General | System boot time | - |
ZABBIX_PASSIVE | system.boottime Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System local time | The local system time of the host. |
ZABBIX_PASSIVE | system.localtime |
General | System name | The host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System description | The information as normally returned by 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
General | Maximum number of open file descriptors | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxfiles Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Maximum number of processes | It could be increased by using sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxproc Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Number of processes | - |
ZABBIX_PASSIVE | proc.num |
General | Number of running processes | - |
ZABBIX_PASSIVE | proc.num[,,run] |
Inventory | Operating system | - |
ZABBIX_PASSIVE | system.sw.os Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Inventory | Operating system architecture | The architecture of the host's operating system. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Inventory | Software installed | - |
ZABBIX_PASSIVE | system.sw.packages Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Memory | Memory utilization | The percentage of used memory is calculated as 100-pavailable. |
DEPENDENT | vm.memory.utilization Preprocessing: - JAVASCRIPT: |
Memory | Available memory in % | The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item. |
ZABBIX_PASSIVE | vm.memory.size[pavailable] |
Memory | Total memory | The total memory expressed in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Available memory | The available memory: - in Linux - available = free + buffers + cache; - on other platforms calculation may vary. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item. |
ZABBIX_PASSIVE | vm.memory.size[available] |
Memory | Total swap space | The total space of the swap volume/file expressed in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free swap space | The free space of the swap volume/file expressed in bytes. |
ZABBIX_PASSIVE | system.swap.size[,free] |
Memory | Free swap space in % | The free space of the swap volume/file expressed in %. |
ZABBIX_PASSIVE | system.swap.size[,pfree] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
ZABBIX_PASSIVE | agent.ping |
Network interfaces | Interface {#IFNAME}: Bits received | - |
ZABBIX_PASSIVE | net.if.in["{#IFNAME}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Bits sent | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}"] Preprocessing: - CHANGEPERSECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Outbound packets with errors | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets with errors | - |
ZABBIX_PASSIVE | net.if.in["{#IFNAME}",errors] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Outbound packets discarded | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets discarded | - |
ZABBIX_PASSIVE | net.if.in["{#IFNAME}",dropped] Preprocessing: - CHANGEPERSECOND |
Network interfaces | Interface {#IFNAME}: Operational status | Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"] Preprocessing: - JAVASCRIPT: |
Network interfaces | Interface {#IFNAME}: Interface type | It indicates the interface protocol type as a decimal value. See include/uapi/linux/if_arp.h for all possible values. Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/type"] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Network interfaces | Interface {#IFNAME}: Speed | It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec. This attribute is only valid for the interfaces that implement the ethtool getlinkksettings method (mostly Ethernet). Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/speed"] Preprocessing: - MULTIPLIER: - DISCARDUNCHANGEDHEARTBEAT: |
Security | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Status | System uptime | The system uptime expressed in the following format:'N days, hh:mm:ss'. |
ZABBIX_PASSIVE | system.uptime |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
Storage | {#DEVNAME}: Disk read rate | r/s (read operations per second) - the number (after merges) of read requests completed per second for the device. |
DEPENDENT | vfs.dev.read.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk write rate | w/s (write operations per second) - the number (after merges) of write requests completed per second for the device. |
DEPENDENT | vfs.dev.write.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND |
Storage | {#DEVNAME}: Disk read request avg waiting time (r_await) | This formula contains two boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero. |
CALCULATED | vfs.dev.read.await[{#DEVNAME}] Expression: (last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0) |
Storage | {#DEVNAME}: Disk write request avg waiting time (w_await) | This formula contains two boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero. |
CALCULATED | vfs.dev.write.await[{#DEVNAME}] Expression: (last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0) |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected. |
DEPENDENT | vfs.dev.queuesize[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE PER_SECOND- MULTIPLIER: |
Storage | {#DEVNAME}: Disk utilization | This item is the percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests. |
DEPENDENT | vfs.dev.util[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Zabbix raw items | {#DEVNAME}: Get stats | The contents of get /sys/block/{#DEVNAME}/stat to get the disk statistics. |
ZABBIX_PASSIVE | vfs.file.contents[/sys/block/{#DEVNAME}/stat] Preprocessing: - JAVASCRIPT: |
Zabbix raw items | {#DEVNAME}: Disk read time (rate) | The rate of total read time counter; used in r_await calculation. |
DEPENDENT | vfs.dev.read.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Zabbix raw items | {#DEVNAME}: Disk write time (rate) | The rate of total write time counter; used in w_await calculation. |
DEPENDENT | vfs.dev.write.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGEPERSECOND - MULTIPLIER: |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux by Zabbix agent/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux by Zabbix agent/system.cpu.load[all,avg5])>0 and last(/Linux by Zabbix agent/system.cpu.load[all,avg15])>0 |
AVERAGE | |
High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | Depends on: - Load average is too high |
{#FSNAME}: Disk space is critically low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},total])-last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low | Two conditions should match: 1. The first condition - utilization of space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. 2. The second condition should be one of the following: - the disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}; - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},total])-last(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
AVERAGE | |
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. Following error messages may be returned as symptoms, even though the free space is available: - 'No space left on device'; - 'Disk is full'. |
min(/Linux by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
WARNING | Depends on: - {#FSNAME}: Running out of free inodes |
System time is out of sync | The host's system time is different from Zabbix server time. |
fuzzytime(/Linux by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | The name of the system has changed. Ack to close the problem manually. |
last(/Linux by Zabbix agent/system.hostname,#1)<>last(/Linux by Zabbix agent/system.hostname,#2) and length(last(/Linux by Zabbix agent/system.hostname))>0 |
INFO | Manual close: YES |
Configured max number of open filedescriptors is too low | - |
last(/Linux by Zabbix agent/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN} |
INFO | |
Configured max number of processes is too low | - |
last(/Linux by Zabbix agent/kernel.maxproc)<{$KERNEL.MAXPROC.MIN} |
INFO | Depends on: - Getting closer to process limit |
Getting closer to process limit | - |
last(/Linux by Zabbix agent/proc.num)/last(/Linux by Zabbix agent/kernel.maxproc)*100>80 |
WARNING | |
Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Ack to close the problem manually. |
last(/Linux by Zabbix agent/system.sw.os,#1)<>last(/Linux by Zabbix agent/system.sw.os,#2) and length(last(/Linux by Zabbix agent/system.sw.os))>0 |
INFO | Manual close: YES Depends on: - System name has changed |
High memory utilization | The system is running out of free memory. |
min(/Linux by Zabbix agent/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | Depends on: - Lack of available memory |
Lack of available memory | - |
max(/Linux by Zabbix agent/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent/vm.memory.size[total])>0 |
AVERAGE | |
High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux by Zabbix agent/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Zabbix agent/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization - Lack of available memory |
Interface {#IFNAME}: High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux by Zabbix agent/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or avg(/Linux by Zabbix agent/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 Recovery expression: avg(/Linux by Zabbix agent/net.if.in["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) and avg(/Linux by Zabbix agent/net.if.out["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Interface {#IFNAME}: High error rate | It recovers when it is below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Linux by Zabbix agent/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux by Zabbix agent/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Linux by Zabbix agent/net.if.in["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Linux by Zabbix agent/net.if.out["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Interface {#IFNAME}: Link down | This trigger expression works as follows: 1. It can be triggered if the operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'ethernal off' interfaces.) WARNING: if closed manually - it will not fire again on the next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2)) Recovery expression: last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Interface {#IFNAME}: Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge (Ack) to close the problem manually. |
change(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1) and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2) Recovery expression: (change(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"],#2)>0) or (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
/etc/passwd has been changed | - |
last(/Linux by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |
INFO | Manual close: YES Depends on: - Operating system description has changed - System name has changed |
has been restarted | The host uptime is less than 10 minutes |
last(/Linux by Zabbix agent/system.uptime)<10m |
WARNING | Manual close: YES |
Zabbix agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Linux by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
{#DEVNAME}: Disk read/write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Linux by Zabbix agent/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Zabbix agent/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. It is an official HP-UX template. It requires Zabbix agent 4.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on the HP-UX OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | The discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery". |
ZABBIX_PASSIVE | net.if.discovery Filter: - {#IFNAME} MATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
HP-UX | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
HP-UX | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
HP-UX | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
HP-UX | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_PASSIVE | system.cpu.util[,idle] |
HP-UX | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
ZABBIX_PASSIVE | system.cpu.util[,nice] |
HP-UX | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_PASSIVE | system.cpu.util[,system] |
HP-UX | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_PASSIVE | system.cpu.util[,user] |
HP-UX | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
HP-UX | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
HP-UX | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
HP-UX | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
HP-UX | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
HP-UX | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
HP-UX | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
HP-UX | Interface {#IFNAME}: Incoming network traffic | - |
ZABBIX_PASSIVE | net.if.in[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
HP-UX | Interface {#IFNAME}: Outgoing network traffic | - |
ZABBIX_PASSIVE | net.if.out[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
HP-UX | {#FSNAME}: Free inodes, % | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
HP-UX | {#FSNAME}: Free disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
HP-UX | {#FSNAME}: Free disk space, % | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
HP-UX | {#FSNAME}: Total disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
HP-UX | {#FSNAME}: Used disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Processor load is too high | - |
avg(/HP-UX by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 |
WARNING | |
Hostname was changed | - |
last(/HP-UX by Zabbix agent/system.hostname,#1)<>last(/HP-UX by Zabbix agent/system.hostname,#2) |
INFO | |
Host information was changed | - |
last(/HP-UX by Zabbix agent/system.uname,#1)<>last(/HP-UX by Zabbix agent/system.uname,#2) |
INFO | |
/etc/passwd has been changed | - |
last(/HP-UX by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/HP-UX by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |
WARNING | |
Lack of available memory on server | - |
last(/HP-UX by Zabbix agent/vm.memory.size[available])<20M |
AVERAGE | |
{#FSNAME}: Free inodes is less than 20% | - |
last(/HP-UX by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
{#FSNAME}: Free disk space is less than 20% | - |
last(/HP-UX by Zabbix agent/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING | |
Zabbix agent is not available | For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold. |
max(/HP-UX by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. It is an official FreeBSD template. It requires Zabbix agent 6.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on FreeBSD according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which the agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | The discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery". |
ZABBIX_PASSIVE | net.if.discovery Filter: - {#IFNAME} MATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND: `` |
CPU | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
CPU | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
CPU | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
CPU | Context switches per second | - |
ZABBIX_PASSIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND: `` |
CPU | CPU idle time | The time the CPU has spent doing nothing. |
ZABBIX_PASSIVE | system.cpu.util[,idle] |
CPU | CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
ZABBIX_PASSIVE | system.cpu.util[,interrupt] |
CPU | CPU nice time | The time the CPU has spent running users' processes that have been niced. |
ZABBIX_PASSIVE | system.cpu.util[,nice] |
CPU | CPU system time | The time the CPU has spent running the kernel and its processes. |
ZABBIX_PASSIVE | system.cpu.util[,system] |
CPU | CPU user time | The time the CPU has spent running users' processes that are not niced. |
ZABBIX_PASSIVE | system.cpu.util[,user] |
Filesystems | Filesystems: Free inodes on {#FSNAME} (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
Filesystems | Filesystems: Free disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
Filesystems | Filesystems: Free disk space on {#FSNAME} (percentage) | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
Filesystems | Filesystems: Total disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | Filesystems: Used disk space on {#FSNAME} | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
General | Host boot time | - |
ZABBIX_PASSIVE | system.boottime |
General | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
General | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
General | System uptime | - |
ZABBIX_PASSIVE | system.uptime |
Memory | Free swap space | - |
ZABBIX_PASSIVE | system.swap.size[,free] |
Memory | Free swap space in % | - |
ZABBIX_PASSIVE | system.swap.size[,pfree] |
Memory | Total swap space | - |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
Memory | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
Network interfaces | Network interfaces: Incoming network traffic on {#IFNAME} | - |
ZABBIX_PASSIVE | net.if.in[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
Network interfaces | Network interfaces: Outgoing network traffic on {#IFNAME} | - |
ZABBIX_PASSIVE | net.if.out[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
OS | Maximum number of opened files | It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxfiles |
OS | Maximum number of processes | It could be increased by using the sysctl utility or modifying the file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxproc |
OS | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
Processes | Number of running processes | The number of processes in a running state. |
ZABBIX_PASSIVE | proc.num[,,run] |
Processes | Number of processes | The total number of processes in any state. |
ZABBIX_PASSIVE | proc.num[] |
Security | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Processor load is too high on {HOST.NAME} | - |
avg(/FreeBSD by Zabbix agent/system.cpu.load[percpu,avg1],5m)>5 |
WARNING | |
Filesystems: Free inodes is less than 20% on volume {#FSNAME} | - |
last(/FreeBSD by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
Filesystems: Free disk space is less than 20% on volume {#FSNAME} | - |
last(/FreeBSD by Zabbix agent/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING | |
Hostname was changed on {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/system.hostname,#1)<>last(/FreeBSD by Zabbix agent/system.hostname,#2) |
INFO | |
Host information was changed on {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/system.uname,#1)<>last(/FreeBSD by Zabbix agent/system.uname,#2) |
INFO | |
{HOST.NAME} has just been restarted | - |
change(/FreeBSD by Zabbix agent/system.uptime)<0 |
INFO | |
Lack of free swap space on {HOST.NAME} | It probably means that the systems requires more physical memory. |
last(/FreeBSD by Zabbix agent/system.swap.size[,pfree])<50 |
WARNING | |
Lack of available memory on server {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/vm.memory.size[available])<20M |
AVERAGE | |
Configured max number of opened files is too low on {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/kernel.maxfiles)<1024 |
INFO | |
Configured max number of processes is too low on {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/kernel.maxproc)<256 |
INFO | |
Too many processes running on {HOST.NAME} | - |
avg(/FreeBSD by Zabbix agent/proc.num[,,run],5m)>30 |
WARNING | |
Too many processes on {HOST.NAME} | - |
avg(/FreeBSD by Zabbix agent/proc.num[],5m)>300 |
WARNING | |
/etc/passwd has been changed on {HOST.NAME} | - |
last(/FreeBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/FreeBSD by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |
WARNING | |
Zabbix agent is not available | For passive checks only the availability of the agents and a host is used with {$AGENT.TIMEOUT} as the time threshold. |
max(/FreeBSD by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
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.
For Zabbix version: 6.2 and higher. It is an official AIX template. It requires Zabbix agent 4.0 or newer.
See Zabbix template operation for basic instructions.
Install Zabbix agent on the AIX OS according to Zabbix documentation.
No specific Zabbix configuration is required.
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | The timeout after which agent is considered unavailable. It works only for the agents reachable from Zabbix server/proxy (in passive mode). |
3m |
There are no template links in this template.
Name | Description | Type | Key and additional info | |
---|---|---|---|---|
Mounted filesystem discovery | The discovery of different types of file systems as defined in the global regular expression "File systems for discovery". |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: - {#FSTYPE} MATCHESREGEX Overrides: Skip metadata collection for dynamic FS |
zfs)$<br> - ITEM_PROTOTYPE LIKE inode`- NO_DISCOVER |
Network interface discovery | The discovery of network interfaces as defined in the global regular expression "Network interfaces for discovery". |
ZABBIX_PASSIVE | net.if.discovery Filter: - {#IFNAME} MATCHES_REGEX |
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
AIX | Number of running processes | The number of processes in a running state. |
ZABBIX_PASSIVE | proc.num[,,run] |
AIX | Number of processes | The total number of processes in any state. |
ZABBIX_PASSIVE | proc.num[] |
AIX | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGEPERSECOND: `` |
AIX | Processor load (1 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg1] |
AIX | Processor load (5 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg5] |
AIX | Processor load (15 min average per core) | The processor load is calculated as the system CPU load divided by the number of CPU cores. |
ZABBIX_PASSIVE | system.cpu.load[percpu,avg15] |
AIX | Context switches per second | - |
ZABBIX_PASSIVE | system.cpu.switches Preprocessing: - CHANGEPERSECOND: `` |
AIX | Host name | A host name of the system. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
AIX | Host local time | - |
ZABBIX_PASSIVE | system.localtime |
AIX | CPU available physical processors in the shared pool | - |
ZABBIX_PASSIVE | system.stat[cpu,app] |
AIX | CPU entitled capacity consumed | - |
ZABBIX_PASSIVE | system.stat[cpu,ec] |
AIX | CPU idle time | - |
ZABBIX_PASSIVE | system.stat[cpu,id] |
AIX | CPU logical processor utilization | - |
ZABBIX_PASSIVE | system.stat[cpu,lbusy] |
AIX | CPU number of physical processors consumed | - |
ZABBIX_PASSIVE | system.stat[cpu,pc] |
AIX | CPU system time | - |
ZABBIX_PASSIVE | system.stat[cpu,sy] |
AIX | CPU user time | - |
ZABBIX_PASSIVE | system.stat[cpu,us] |
AIX | CPU iowait time | - |
ZABBIX_PASSIVE | system.stat[cpu,wa] |
AIX | Amount of data transferred | - |
ZABBIX_PASSIVE | system.stat[disk,bps] |
AIX | Number of transfers | - |
ZABBIX_PASSIVE | system.stat[disk,tps] |
AIX | Processor units is entitled to receive | - |
ZABBIX_PASSIVE | system.stat[ent] |
AIX | Kernel thread context switches | - |
ZABBIX_PASSIVE | system.stat[faults,cs] |
AIX | Device interrupts | - |
ZABBIX_PASSIVE | system.stat[faults,in] |
AIX | System calls | - |
ZABBIX_PASSIVE | system.stat[faults,sy] |
AIX | Length of the swap queue | - |
ZABBIX_PASSIVE | system.stat[kthr,b] |
AIX | Length of the run queue | - |
ZABBIX_PASSIVE | system.stat[kthr,r] |
AIX | Active virtual pages | - |
ZABBIX_PASSIVE | system.stat[memory,avm] |
AIX | Free real memory | - |
ZABBIX_PASSIVE | system.stat[memory,fre] |
AIX | File page-ins per second | - |
ZABBIX_PASSIVE | system.stat[page,fi] |
AIX | File page-outs per second | - |
ZABBIX_PASSIVE | system.stat[page,fo] |
AIX | Pages freed (page replacement) | - |
ZABBIX_PASSIVE | system.stat[page,fr] |
AIX | Pages paged in from paging space | - |
ZABBIX_PASSIVE | system.stat[page,pi] |
AIX | Pages paged out to paging space | - |
ZABBIX_PASSIVE | system.stat[page,po] |
AIX | Pages scanned by page-replacement algorithm | - |
ZABBIX_PASSIVE | system.stat[page,sr] |
AIX | System information | The information as normally returned by the 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
AIX | System uptime | - |
ZABBIX_PASSIVE | system.uptime |
AIX | Number of logged in users | The number of users who are currently logged in. |
ZABBIX_PASSIVE | system.users.num |
AIX | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
AIX | Available memory | The available memory is defined as free+cached+buffers memory. |
ZABBIX_PASSIVE | vm.memory.size[available] |
AIX | Total memory | - |
ZABBIX_PASSIVE | vm.memory.size[total] |
AIX | Interface {#IFNAME}: Incoming network traffic | - |
ZABBIX_PASSIVE | net.if.in[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
AIX | Interface {#IFNAME}: Outgoing network traffic | - |
ZABBIX_PASSIVE | net.if.out[{#IFNAME}] Preprocessing: - CHANGEPERSECOND: ` |
AIX | {#FSNAME}: Free inodes, % | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
AIX | {#FSNAME}: Free disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},free] |
AIX | {#FSNAME}: Free disk space, % | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pfree] |
AIX | {#FSNAME}: Total disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
AIX | {#FSNAME}: Used disk space | - |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Monitoring agent | Version of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARDUNCHANGEDHEARTBEAT: |
Monitoring agent | Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for the availability check. |
ZABBIX_PASSIVE | agent.ping |
Status | Zabbix agent availability | Monitoring the availability status of the agent. |
INTERNAL | zabbix[host,agent,available] |
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 | The OS spends significant time waiting for the I/O (input/output) operations. It could be an indicator of 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 | |
{#FSNAME}: Free inodes is less than 20% | - |
last(/AIX by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree])<20 |
WARNING | |
{#FSNAME}: Free disk space is less than 20% | - |
last(/AIX by Zabbix agent/vfs.fs.size[{#FSNAME},pfree])<20 |
WARNING | |
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 |
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.