Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/os/linux?at=release/6.4
Linux by Zabbix agent
Overview
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.
Requirements
For Zabbix version: 6.4 and higher.
Setup
Install Zabbix agent on Linux OS following Zabbix documentation.
Configuration
No specific Zabbix configuration is required.
Macros used
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 |
{$LOAD_AVG_PER_CPU.MAX.WARN} | The 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 |
(^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} | The critical threshold of the filesystem metadata utilization. |
10 |
{$VFS.FS.INODE.PFREE.MIN.WARN} | The warning threshold of the filesystem metadata utilization. |
20 |
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization. |
90 |
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization. |
80 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Block devices discovery | - |
ZABBIX_PASSIVE | vfs.dev.discovery Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#DEVTYPE} MATCHES_REGEX - {#DEVNAME} MATCHES_REGEX - {#DEVNAME} NOT_MATCHES_REGEX |
Mounted filesystem discovery | The discovery of mounted filesystems with different types. |
DEPENDENT | vfs.fs.dependent.discovery Filter: AND- {#FSTYPE} MATCHES_REGEX - {#FSTYPE} NOT_MATCHES_REGEX - {#FSNAME} MATCHES_REGEX - {#FSNAME} NOT_MATCHES_REGEX Overrides: Skip metadata collection for dynamic FS |
Network interface discovery | The discovery of network interfaces. |
ZABBIX_PASSIVE | net.if.discovery Filter: AND- {#IFNAME} MATCHES_REGEX - {#IFNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | Number of CPUs | - |
ZABBIX_PASSIVE | system.cpu.num Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - CHANGE_PER_SECOND |
CPU | Interrupts per second | - |
ZABBIX_PASSIVE | system.cpu.intr Preprocessing: - CHANGE_PER_SECOND |
Filesystems | {#FSNAME}: Filesystem is read-only | The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher. |
DEPENDENT | vfs.fs.dependent[{#FSNAME},readonly] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - REGEX: ⛔️ON_FAIL: |
Filesystems | {#FSNAME}: Used space | Used storage expressed in Bytes. |
DEPENDENT | vfs.fs.dependent.size[{#FSNAME},used] Preprocessing: - JSONPATH: |
Filesystems | {#FSNAME}: Total space | The total space expressed in Bytes. |
DEPENDENT | vfs.fs.dependent.size[{#FSNAME},total] Preprocessing: - JSONPATH: |
Filesystems | {#FSNAME}: Space utilization | Space utilization expressed in % for |
DEPENDENT | vfs.fs.dependent.size[{#FSNAME},pused] Preprocessing: - JSONPATH: |
Filesystems | {#FSNAME}: Free inodes in % | - |
DEPENDENT | vfs.fs.dependent.inode[{#FSNAME},pfree] Preprocessing: - JSONPATH: |
General | System boot time | - |
ZABBIX_PASSIVE | system.boottime Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | The information as normally returned by |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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 |
ZABBIX_PASSIVE | kernel.maxfiles Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Maximum number of processes | It could be increased by using |
ZABBIX_PASSIVE | kernel.maxproc Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Operating system architecture | The architecture of the operating system. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Number of installed packages | - |
ZABBIX_PASSIVE | system.sw.packages.get Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: - JSONPATH: |
Memory | Memory utilization | The percentage of used memory is calculated as |
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 |
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 |
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: - DISCARD_UNCHANGED_HEARTBEAT: |
Monitoring agent | Host name of Zabbix agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - CHANGE_PER_SECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Bits sent | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}: Outbound packets with errors | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets with errors | - |
ZABBIX_PASSIVE | net.if.in["{#IFNAME}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}: Outbound packets discarded | - |
ZABBIX_PASSIVE | net.if.out["{#IFNAME}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}: Inbound packets discarded | - |
ZABBIX_PASSIVE | net.if.in["{#IFNAME}",dropped] Preprocessing: - CHANGE_PER_SECOND |
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 Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/type"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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 Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/speed"] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
Security | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd,sha256] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - CHANGE_PER_SECOND |
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: - CHANGE_PER_SECOND |
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.queue_size[{#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: - CHANGE_PER_SECOND - MULTIPLIER: |
Zabbix raw items | Get filesystems | The |
ZABBIX_PASSIVE | vfs.fs.get |
Zabbix raw items | {#DEVNAME}: Get stats | The contents of get |
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 |
DEPENDENT | vfs.dev.read.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND - MULTIPLIER: |
Zabbix raw items | {#DEVNAME}: Disk write time (rate) | The rate of total write time counter; used in |
DEPENDENT | vfs.dev.write.time.rate[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND - MULTIPLIER: |
Zabbix raw items | {#FSNAME}: Get filesystem data | - |
DEPENDENT | vfs.fs.dependent[{#FSNAME},data] Preprocessing: - JSONPATH: |
Triggers
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}: Filesystem became read-only | The filesystem has become read-only. A possible reason is an I/O error. It is available only for Zabbix agents 6.4 and higher. |
last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=1 Recovery expression: last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=0 |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is critically low | Two conditions should match: 1. The first condition - utilization of the space should be above 2. The second condition should be one of the following: - the disk free space is less than - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent/vfs.fs.dependent.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 the space should be above 2. The second condition should be one of the following: - the disk free space is less than - the disk will be full in less than 24 hours. |
last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Linux by Zabbix agent/vfs.fs.dependent.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. The 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.dependent.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. The 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.dependent.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. |
change(/Linux by Zabbix agent/system.hostname) 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. |
change(/Linux by Zabbix agent/system.sw.os) and length(last(/Linux by Zabbix agent/system.sw.os))>0 |
INFO | Manual close: YES Depends on: - System name has changed |
Number of installed packages has been changed | - |
change(/Linux by Zabbix agent/system.sw.packages.get)<>0 |
WARNING | Manual close: YES |
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 |
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. 3. 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 |
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 |
Feedback
Please report any issues with the template at https://support.zabbix.com.
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
Known Issues
- Description: Network discovery. Zabbix agent as of 4.2 doesn't support items such as net.if.status, net.if.speed.