5.0
2023-01-12T06:03:18Z
Templates/Operating systems
Template Module Linux block devices by Zabbix agent
Template Module Linux block devices by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
Storage
Zabbix raw items
Block devices discovery
vfs.dev.discovery
1h
AND
{#DEVTYPE}
disk
A
{#DEVNAME}
{$VFS.DEV.DEVNAME.MATCHES}
B
{#DEVNAME}
{$VFS.DEV.DEVNAME.NOT_MATCHES}
NOT_MATCHES_REGEX
C
{#DEVNAME}: Disk average queue size (avgqu-sz)
DEPENDENT
vfs.dev.queue_size[{#DEVNAME}]
0
7d
FLOAT
Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.
Disk {#DEVNAME}
JSONPATH
$[10]
CHANGE_PER_SECOND
MULTIPLIER
0.001
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Disk read request avg waiting time (r_await)
CALCULATED
vfs.dev.read.await[{#DEVNAME}]
7d
FLOAT
!ms
(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)
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.
Disk {#DEVNAME}
{#DEVNAME}: Disk read rate
DEPENDENT
vfs.dev.read.rate[{#DEVNAME}]
0
7d
FLOAT
!r/s
r/s. The number (after merges) of read requests completed per second for the device.
Disk {#DEVNAME}
JSONPATH
$[0]
CHANGE_PER_SECOND
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Disk read time (rate)
DEPENDENT
vfs.dev.read.time.rate[{#DEVNAME}]
0
7d
FLOAT
Rate of total read time counter. Used in r_await calculation
Zabbix raw items
JSONPATH
$[3]
CHANGE_PER_SECOND
MULTIPLIER
0.001
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Disk utilization
DEPENDENT
vfs.dev.util[{#DEVNAME}]
0
7d
FLOAT
%
This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.
Disk {#DEVNAME}
JSONPATH
$[9]
CHANGE_PER_SECOND
MULTIPLIER
0.1
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Disk write request avg waiting time (w_await)
CALCULATED
vfs.dev.write.await[{#DEVNAME}]
7d
FLOAT
!ms
(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)
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.
Disk {#DEVNAME}
{#DEVNAME}: Disk write rate
DEPENDENT
vfs.dev.write.rate[{#DEVNAME}]
0
7d
FLOAT
!w/s
w/s. The number (after merges) of write requests completed per second for the device.
Disk {#DEVNAME}
JSONPATH
$[4]
CHANGE_PER_SECOND
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Disk write time (rate)
DEPENDENT
vfs.dev.write.time.rate[{#DEVNAME}]
0
7d
FLOAT
Rate of total write time counter. Used in w_await calculation
Zabbix raw items
JSONPATH
$[7]
CHANGE_PER_SECOND
MULTIPLIER
0.001
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
{#DEVNAME}: Get stats
vfs.file.contents[/sys/block/{#DEVNAME}/stat]
0
0
TEXT
Get contents of /sys/block/{#DEVNAME}/stat for disk stats.
Zabbix raw items
JAVASCRIPT
return JSON.stringify(value.trim().split(/ +/));
{Template Module Linux block devices by Zabbix agent:vfs.dev.read.await[{#DEVNAME}].min(15m)} > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or {Template Module Linux block devices by Zabbix agent:vfs.dev.write.await[{#DEVNAME}].min(15m)} > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}
{#DEVNAME}: Disk read/write request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} ms for 15m or write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} ms for 15m)
WARNING
This trigger might indicate disk {#DEVNAME} saturation.
YES
{#DEVNAME}: Disk average waiting time
1A7C11
Template Module Linux block devices by Zabbix agent
vfs.dev.read.await[{#DEVNAME}]
1
GRADIENT_LINE
2774A4
Template Module Linux block devices by Zabbix agent
vfs.dev.write.await[{#DEVNAME}]
{#DEVNAME}: Disk read/write rates
1A7C11
Template Module Linux block devices by Zabbix agent
vfs.dev.read.rate[{#DEVNAME}]
1
GRADIENT_LINE
2774A4
Template Module Linux block devices by Zabbix agent
vfs.dev.write.rate[{#DEVNAME}]
{#DEVNAME}: Disk utilization and queue
1A7C11
RIGHT
Template Module Linux block devices by Zabbix agent
vfs.dev.queue_size[{#DEVNAME}]
1
GRADIENT_LINE
2774A4
Template Module Linux block devices by Zabbix agent
vfs.dev.util[{#DEVNAME}]
DISCARD_UNCHANGED_HEARTBEAT
1h
{$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}
^(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]*)
This macro is used in block devices discovery. Can be overridden on the host or linked template level
{$VFS.DEV.READ.AWAIT.WARN}
20
Disk read average response time (in ms) before the trigger would fire
{$VFS.DEV.WRITE.AWAIT.WARN}
20
Disk write average response time (in ms) before the trigger would fire
Template Module Linux CPU by Zabbix agent
Template Module Linux CPU by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
CPU
Interrupts per second
system.cpu.intr
7d
FLOAT
CPU
CHANGE_PER_SECOND
Load average (1m avg)
system.cpu.load[all,avg1]
7d
FLOAT
CPU
Load average (15m avg)
system.cpu.load[all,avg15]
7d
FLOAT
CPU
Load average (5m avg)
system.cpu.load[all,avg5]
7d
FLOAT
CPU
Number of CPUs
system.cpu.num
7d
CPU
DISCARD_UNCHANGED_HEARTBEAT
1d
Context switches per second
system.cpu.switches
7d
FLOAT
CPU
CHANGE_PER_SECOND
CPU utilization
DEPENDENT
system.cpu.util
0
7d
FLOAT
%
CPU utilization in %.
CPU
JAVASCRIPT
//Calculate utilization
return (100 - value)
system.cpu.util[,idle]
{min(5m)}>{$CPU.UTIL.CRIT}
High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)
Current utilization: {ITEM.LASTVALUE1}
WARNING
CPU utilization is too high. The system might be slow to respond.
Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)
{Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent:system.cpu.num.last()}>{$LOAD_AVG_PER_CPU.MAX.WARN}
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg5].last()}>0
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg15].last()}>0
CPU guest nice time
system.cpu.util[,guest_nice]
7d
FLOAT
%
Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel).
CPU
CPU guest time
system.cpu.util[,guest]
7d
FLOAT
%
Guest time (time spent running a virtual CPU for a guest operating system).
CPU
CPU idle time
system.cpu.util[,idle]
7d
FLOAT
%
The time the CPU has spent doing nothing.
CPU
CPU interrupt time
system.cpu.util[,interrupt]
7d
FLOAT
%
The amount of time the CPU has been servicing hardware interrupts.
CPU
CPU iowait time
system.cpu.util[,iowait]
7d
FLOAT
%
Amount of time the CPU has been waiting for I/O to complete.
CPU
CPU nice time
system.cpu.util[,nice]
7d
FLOAT
%
The time the CPU has spent running users' processes that have been niced.
CPU
CPU softirq time
system.cpu.util[,softirq]
7d
FLOAT
%
The amount of time the CPU has been servicing software interrupts.
CPU
CPU steal time
system.cpu.util[,steal]
7d
FLOAT
%
The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).
CPU
CPU system time
system.cpu.util[,system]
7d
FLOAT
%
The time the CPU has spent running the kernel and its processes.
CPU
CPU user time
system.cpu.util[,user]
7d
FLOAT
%
The time the CPU has spent running users' processes that are not niced.
CPU
{$CPU.UTIL.CRIT}
90
{$LOAD_AVG_PER_CPU.MAX.WARN}
1.5
Load per CPU considered sustainable. Tune if needed.
Template Module Linux filesystems by Zabbix agent
Template Module Linux filesystems by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
Filesystems
Mounted filesystem discovery
vfs.fs.discovery
1h
AND
{#FSTYPE}
{$VFS.FS.FSTYPE.MATCHES}
A
{#FSTYPE}
{$VFS.FS.FSTYPE.NOT_MATCHES}
NOT_MATCHES_REGEX
B
{#FSNAME}
{$VFS.FS.FSNAME.MATCHES}
C
{#FSNAME}
{$VFS.FS.FSNAME.NOT_MATCHES}
NOT_MATCHES_REGEX
D
Discovery of file systems of different types.
{#FSNAME}: Free inodes in %
vfs.fs.inode[{#FSNAME},pfree]
7d
FLOAT
%
Filesystem {#FSNAME}
{min(5m)}<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}
{#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)
Free inodes: {ITEM.LASTVALUE1}
AVERAGE
It may become impossible to write to disk if there are no index nodes left.
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.
{min(5m)}<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}
{#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%)
Free inodes: {ITEM.LASTVALUE1}
WARNING
It may become impossible to write to disk if there are no index nodes left.
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.
{#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)
{Template Module Linux filesystems by Zabbix agent:vfs.fs.inode[{#FSNAME},pfree].min(5m)}<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}
{#FSNAME}: Space utilization
vfs.fs.size[{#FSNAME},pused]
7d
FLOAT
%
Space utilization in % for {#FSNAME}
Filesystem {#FSNAME}
{#FSNAME}: Total space
vfs.fs.size[{#FSNAME},total]
7d
B
Total space in Bytes
Filesystem {#FSNAME}
{#FSNAME}: Used space
vfs.fs.size[{#FSNAME},used]
7d
B
Used storage in Bytes
Filesystem {#FSNAME}
{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d)
{#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%)
Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})
AVERAGE
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.
YES
{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d)
{#FSNAME}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%)
Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})
WARNING
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.
YES
{#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%)
{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d)
{#FSNAME}: Disk space usage
600
340
PIE
YES
969696
LAST
GRAPH_SUM
Template Module Linux filesystems by Zabbix agent
vfs.fs.size[{#FSNAME},total]
1
C80000
LAST
Template Module Linux filesystems by Zabbix agent
vfs.fs.size[{#FSNAME},used]
Skip metadata collection for dynamic FS
1
{#FSTYPE}
^(btrfs|zfs)$
A
ITEM_PROTOTYPE
LIKE
inode
ENABLED
NO_DISCOVER
{$VFS.FS.FREE.MIN.CRIT}
5G
The critical threshold of the filesystem utilization.
{$VFS.FS.FREE.MIN.WARN}
10G
The warning threshold of the filesystem utilization.
{$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}
^(/dev|/sys|/run|/proc|.+/shm$)
This macro is used in filesystems discovery. Can be overridden on the host or linked template level
{$VFS.FS.FSTYPE.MATCHES}
^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$
This macro is used in filesystems discovery. Can be overridden on the host or linked template level
{$VFS.FS.FSTYPE.NOT_MATCHES}
^\s$
This macro is used in filesystems discovery. Can be overridden on the host or linked template level
{$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
Template Module Linux generic by Zabbix agent
Template Module Linux generic by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
General
Inventory
Security
Status
Maximum number of open file descriptors
kernel.maxfiles
1h
7d
It could be increased by using sysctl utility or modifying file /etc/sysctl.conf.
General
DISCARD_UNCHANGED_HEARTBEAT
1d
{last()}<{$KERNEL.MAXFILES.MIN}
Configured max number of open filedescriptors is too low (< {$KERNEL.MAXFILES.MIN})
INFO
Maximum number of processes
kernel.maxproc
1h
7d
It could be increased by using sysctl utility or modifying file /etc/sysctl.conf.
General
DISCARD_UNCHANGED_HEARTBEAT
1d
{last()}<{$KERNEL.MAXPROC.MIN}
Configured max number of processes is too low (< {$KERNEL.MAXPROC.MIN})
INFO
Getting closer to process limit (over 80% used)
{Template Module Linux generic by Zabbix agent:proc.num.last()}/{Template Module Linux generic by Zabbix agent:kernel.maxproc.last()}*100>80
Number of processes
proc.num
7d
General
Number of running processes
proc.num[,,run]
7d
General
System boot time
system.boottime
15m
7d
unixtime
General
DISCARD_UNCHANGED_HEARTBEAT
1h
System name
system.hostname
1h
2w
0
CHAR
System host name.
NAME
General
DISCARD_UNCHANGED_HEARTBEAT
12h
{diff()}=1 and {strlen()}>0
System name has changed (new name: {ITEM.VALUE})
INFO
System name has changed. Ack to close.
YES
System local time
system.localtime
7d
unixtime
System local time of the host.
General
{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0
System time is out of sync (diff with Zabbix server > {$SYSTEM.FUZZYTIME.MAX}s)
WARNING
The host system time is different from the Zabbix server time.
YES
Operating system architecture
system.sw.arch
1h
2w
0
CHAR
Operating system architecture of the host.
Inventory
DISCARD_UNCHANGED_HEARTBEAT
1d
Operating system
system.sw.os
1h
2w
0
CHAR
OS
Inventory
DISCARD_UNCHANGED_HEARTBEAT
1d
{diff()}=1 and {strlen()}>0
Operating system description has changed
INFO
Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.
YES
System name has changed (new name: {ITEM.VALUE})
{Template Module Linux generic by Zabbix agent:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.hostname.strlen()}>0
Software installed
system.sw.packages
1h
2w
0
TEXT
Inventory
DISCARD_UNCHANGED_HEARTBEAT
1d
System description
system.uname
15m
2w
0
CHAR
The information as normally returned by 'uname -a'.
General
DISCARD_UNCHANGED_HEARTBEAT
12h
System uptime
system.uptime
30s
2w
0d
uptime
System uptime in 'N days, hh:mm:ss' format.
Status
{last()}<10m
{HOST.NAME} has been restarted (uptime < 10m)
WARNING
The host uptime is less than 10 minutes
YES
Number of logged in users
system.users.num
7d
Number of users who are currently logged in.
General
Checksum of /etc/passwd
vfs.file.cksum[/etc/passwd]
15m
7d
0
CHAR
Security
DISCARD_UNCHANGED_HEARTBEAT
1h
{diff()}>0
/etc/passwd has been changed
INFO
YES
Operating system description has changed
{Template Module Linux generic by Zabbix agent:system.sw.os.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.sw.os.strlen()}>0
System name has changed (new name: {ITEM.VALUE})
{Template Module Linux generic by Zabbix agent:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.hostname.strlen()}>0
{$KERNEL.MAXFILES.MIN}
256
{$KERNEL.MAXPROC.MIN}
1024
{$SYSTEM.FUZZYTIME.MAX}
60
Template Module Linux memory by Zabbix agent
Template Module Linux memory by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
Memory
Free swap space
system.swap.size[,free]
7d
B
The free space of swap volume/file in bytes.
Memory
Free swap space in %
system.swap.size[,pfree]
7d
FLOAT
%
The free space of swap volume/file in percent.
Memory
Total swap space
system.swap.size[,total]
7d
B
The total space of swap volume/file in bytes.
Memory
Available memory
vm.memory.size[available]
7d
B
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.
Memory
Available memory in %
vm.memory.size[pavailable]
7d
FLOAT
%
Available memory as percentage of total. See also Appendixes in Zabbix Documentation about parameters of the vm.memory.size item.
Memory
Total memory
vm.memory.size[total]
7d
B
Total memory in Bytes.
Memory
Memory utilization
DEPENDENT
vm.memory.utilization
0
7d
FLOAT
%
Memory used percentage is calculated as (100-pavailable)
Memory
JAVASCRIPT
return (100-value);
vm.memory.size[pavailable]
{min(5m)}>{$MEMORY.UTIL.MAX}
High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)
AVERAGE
The system is running out of free memory.
Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})
{Template Module Linux memory by Zabbix agent:vm.memory.size[available].max(5m)}<{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}>0
{$MEMORY.AVAILABLE.MIN}
20M
This macro is used as a threshold in memory available trigger.
{$MEMORY.UTIL.MAX}
90
This macro is used as a threshold in memory utilization trigger.
{$SWAP.PFREE.MIN.WARN}
50
Template Module Linux network interfaces by Zabbix agent
Template Module Linux network interfaces by Zabbix agent
Template tooling version used: 0.39
Templates/Modules
Network interfaces
Network interface discovery
net.if.discovery
1h
AND
{#IFNAME}
{$NET.IF.IFNAME.MATCHES}
A
{#IFNAME}
{$NET.IF.IFNAME.NOT_MATCHES}
NOT_MATCHES_REGEX
B
Discovery of network interfaces.
Interface {#IFNAME}: Inbound packets discarded
net.if.in["{#IFNAME}",dropped]
3m
7d
Interface {#IFNAME}
CHANGE_PER_SECOND
Interface {#IFNAME}: Inbound packets with errors
net.if.in["{#IFNAME}",errors]
3m
7d
Interface {#IFNAME}
CHANGE_PER_SECOND
Interface {#IFNAME}: Bits received
net.if.in["{#IFNAME}"]
3m
7d
bps
Interface {#IFNAME}
CHANGE_PER_SECOND
MULTIPLIER
8
Interface {#IFNAME}: Outbound packets discarded
net.if.out["{#IFNAME}",dropped]
3m
7d
Interface {#IFNAME}
CHANGE_PER_SECOND
Interface {#IFNAME}: Outbound packets with errors
net.if.out["{#IFNAME}",errors]
3m
7d
Interface {#IFNAME}
CHANGE_PER_SECOND
Interface {#IFNAME}: Bits sent
net.if.out["{#IFNAME}"]
3m
7d
bps
Interface {#IFNAME}
CHANGE_PER_SECOND
MULTIPLIER
8
Interface {#IFNAME}: Operational status
vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"]
7d
0
Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt
Interface {#IFNAME}
ifOperStatus
JAVASCRIPT
var newvalue;
switch(value) {
case "unknown":
newvalue = 0;
break;
case "notpresent":
newvalue = 1;
break;
case "down":
newvalue = 2;
break;
case "lowerlayerdown":
newvalue = 3;
break;
case "testing":
newvalue = 4;
break;
case "dormant":
newvalue = 5;
break;
case "up":
newvalue = 6;
break; default:
newvalue = "Problem parsing interface operstate in JS";
}
return newvalue;
{$IFCONTROL:"{#IFNAME}"}=1 and ({last()}=2 and {diff()}=1)
RECOVERY_EXPRESSION
{last()}<>2 or {$IFCONTROL:"{#IFNAME}"}=0
Interface {#IFNAME}: Link down
Current state: {ITEM.LASTVALUE1}
AVERAGE
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.
YES
Interface {#IFNAME}: Speed
vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]
5m
7d
0d
bps
Indicates the interface latest or current speed value. Value is an integer representing the link speed in bits/sec.
This attribute is only valid for interfaces that implement the ethtool get_link_ksettings method (mostly Ethernet).
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
Interface {#IFNAME}
MULTIPLIER
1000000
DISCARD_UNCHANGED_HEARTBEAT
1h
Interface {#IFNAME}: Interface type
vfs.file.contents["/sys/class/net/{#IFNAME}/type"]
1h
7d
0d
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
Interface {#IFNAME}
Linux::Interface protocol types
DISCARD_UNCHANGED_HEARTBEAT
1d
{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].change()}<0 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()}>0
and
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].last()}=6
or {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].last()}=1)
and
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}<>2)
RECOVERY_EXPRESSION
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].change()}>0 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].prev()}>0) or
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2)
Interface {#IFNAME}: Ethernet has changed to lower speed than it was before
Current reported speed: {ITEM.LASTVALUE1}
INFO
This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.
YES
Interface {#IFNAME}: Link down
{$IFCONTROL:"{#IFNAME}"}=1 and ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].diff()}=1)
{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}<>2 or {$IFCONTROL:"{#IFNAME}"}=0
({Template Module Linux network interfaces by Zabbix agent:net.if.in["{#IFNAME}"].avg(15m)}>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()} or
{Template Module Linux network interfaces by Zabbix agent:net.if.out["{#IFNAME}"].avg(15m)}>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()}) and
{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()}>0
RECOVERY_EXPRESSION
{Template Module Linux network interfaces by Zabbix agent:net.if.in["{#IFNAME}"].avg(15m)}<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()} and
{Template Module Linux network interfaces by Zabbix agent:net.if.out["{#IFNAME}"].avg(15m)}<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/speed"].last()}
Interface {#IFNAME}: High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)
In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}
WARNING
The network interface utilization is close to its estimated maximum bandwidth.
YES
Interface {#IFNAME}: Link down
{$IFCONTROL:"{#IFNAME}"}=1 and ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].diff()}=1)
{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}<>2 or {$IFCONTROL:"{#IFNAME}"}=0
{Template Module Linux network interfaces by Zabbix agent:net.if.in["{#IFNAME}",errors].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"}
or {Template Module Linux network interfaces by Zabbix agent:net.if.out["{#IFNAME}",errors].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"}
RECOVERY_EXPRESSION
{Template Module Linux network interfaces by Zabbix agent:net.if.in["{#IFNAME}",errors].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
and {Template Module Linux network interfaces by Zabbix agent:net.if.out["{#IFNAME}",errors].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
Interface {#IFNAME}: High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)
errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}
WARNING
Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold
YES
Interface {#IFNAME}: Link down
{$IFCONTROL:"{#IFNAME}"}=1 and ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].diff()}=1)
{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}<>2 or {$IFCONTROL:"{#IFNAME}"}=0
Interface {#IFNAME}: Network traffic
GRADIENT_LINE
1A7C11
Template Module Linux network interfaces by Zabbix agent
net.if.in["{#IFNAME}"]
1
BOLD_LINE
2774A4
Template Module Linux network interfaces by Zabbix agent
net.if.out["{#IFNAME}"]
2
F63100
RIGHT
Template Module Linux network interfaces by Zabbix agent
net.if.out["{#IFNAME}",errors]
3
A54F10
RIGHT
Template Module Linux network interfaces by Zabbix agent
net.if.in["{#IFNAME}",errors]
4
FC6EA3
RIGHT
Template Module Linux network interfaces by Zabbix agent
net.if.out["{#IFNAME}",dropped]
5
6C59DC
RIGHT
Template Module Linux network interfaces by Zabbix agent
net.if.in["{#IFNAME}",dropped]
{$IF.ERRORS.WARN}
2
{$IF.UTIL.MAX}
90
This macro is used as a threshold in interface utilization trigger.
{$IFCONTROL}
1
{$NET.IF.IFNAME.MATCHES}
^.*$
{$NET.IF.IFNAME.NOT_MATCHES}
(^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})
Filter out loopbacks, nulls, docker veth links and docker0 bridge by default
Network interfaces
1
1
20
0
Interface {#IFNAME}: Network traffic
Template Module Linux network interfaces by Zabbix agent
500
100
0
0
1
1
25
0
0
0
0
3
Template OS Linux by Zabbix agent
Template OS Linux by Zabbix agent
Official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.
Known Issues:
Description: Network discovery. Zabbix agent as of 4.2 doesn't support items such as net.if.status, net.if.speed.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
Template tooling version used: 0.39
Template Module Linux block devices by Zabbix agent
Template Module Linux CPU by Zabbix agent
Template Module Linux filesystems by Zabbix agent
Template Module Linux generic by Zabbix agent
Template Module Linux memory by Zabbix agent
Template Module Linux network interfaces by Zabbix agent
Template Module Zabbix agent
Templates/Operating systems
System performance
2
7
0
0
System load
Template OS Linux by Zabbix agent
500
100
0
0
1
1
25
0
0
0
0
3
0
0
CPU usage
Template OS Linux by Zabbix agent
500
100
1
0
1
1
25
0
0
0
0
3
0
0
Memory usage
Template OS Linux by Zabbix agent
500
100
0
1
1
1
25
0
0
0
0
3
0
0
Swap usage
Template OS Linux by Zabbix agent
500
100
1
1
1
1
25
0
0
0
0
3
20
0
{#FSNAME}: Disk space usage
Template OS Linux by Zabbix agent
500
100
0
2
2
1
25
0
0
0
0
2
20
0
{#DEVNAME}: Disk read/write rates
Template OS Linux by Zabbix agent
500
100
0
3
2
1
25
0
0
0
0
2
20
0
{#DEVNAME}: Disk average waiting time
Template OS Linux by Zabbix agent
500
100
0
4
2
1
25
0
0
0
0
2
20
0
{#DEVNAME}: Disk utilization and queue
Template OS Linux by Zabbix agent
500
100
0
5
2
1
25
0
0
0
0
2
20
0
Interface {#IFNAME}: Network traffic
Template OS Linux by Zabbix agent
500
100
0
6
2
1
25
0
0
0
0
2
{Template Module Linux generic by Zabbix agent:proc.num.last()}/{Template Module Linux generic by Zabbix agent:kernel.maxproc.last()}*100>80
Getting closer to process limit (over 80% used)
{ITEM.LASTVALUE1} active, {ITEM.LASTVALUE2} limit.
WARNING
{Template Module Linux memory by Zabbix agent:system.swap.size[,pfree].max(5m)}<{$SWAP.PFREE.MIN.WARN} and {Template Module Linux memory by Zabbix agent:system.swap.size[,total].last()}>0
High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)
Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}
WARNING
This trigger is ignored, if there is no swap configured.
High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)
{Template Module Linux memory by Zabbix agent:vm.memory.utilization.min(5m)}>{$MEMORY.UTIL.MAX}
Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})
{Template Module Linux memory by Zabbix agent:vm.memory.size[available].max(5m)}<{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}>0
{Template Module Linux memory by Zabbix agent:vm.memory.size[available].max(5m)}<{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}>0
Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})
Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}
AVERAGE
{Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent:system.cpu.num.last()}>{$LOAD_AVG_PER_CPU.MAX.WARN}
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg5].last()}>0
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg15].last()}>0
Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)
Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}
AVERAGE
Per CPU load average is too high. Your system may be slow to respond.
CPU jumps
1A7C11
Template Module Linux CPU by Zabbix agent
system.cpu.switches
1
2774A4
Template Module Linux CPU by Zabbix agent
system.cpu.intr
CPU usage
STACKED
FIXED
FIXED
1A7C11
Template Module Linux CPU by Zabbix agent
system.cpu.util[,system]
1
2774A4
Template Module Linux CPU by Zabbix agent
system.cpu.util[,user]
2
F63100
Template Module Linux CPU by Zabbix agent
system.cpu.util[,nice]
3
A54F10
Template Module Linux CPU by Zabbix agent
system.cpu.util[,iowait]
4
FC6EA3
Template Module Linux CPU by Zabbix agent
system.cpu.util[,steal]
5
6C59DC
Template Module Linux CPU by Zabbix agent
system.cpu.util[,interrupt]
6
AC8C14
Template Module Linux CPU by Zabbix agent
system.cpu.util[,softirq]
7
611F27
Template Module Linux CPU by Zabbix agent
system.cpu.util[,guest]
8
F230E0
Template Module Linux CPU by Zabbix agent
system.cpu.util[,guest_nice]
CPU utilization
FIXED
FIXED
GRADIENT_LINE
1A7C11
Template Module Linux CPU by Zabbix agent
system.cpu.util
Memory usage
FIXED
BOLD_LINE
1A7C11
Template Module Linux memory by Zabbix agent
vm.memory.size[total]
1
GRADIENT_LINE
2774A4
Template Module Linux memory by Zabbix agent
vm.memory.size[available]
Memory utilization
FIXED
FIXED
GRADIENT_LINE
1A7C11
Template Module Linux memory by Zabbix agent
vm.memory.utilization
Processes
1A7C11
Template Module Linux generic by Zabbix agent
proc.num
1
2774A4
Template Module Linux generic by Zabbix agent
proc.num[,,run]
Swap usage
1A7C11
Template Module Linux memory by Zabbix agent
system.swap.size[,free]
1
2774A4
Template Module Linux memory by Zabbix agent
system.swap.size[,total]
System load
FIXED
1A7C11
Template Module Linux CPU by Zabbix agent
system.cpu.load[all,avg1]
1
2774A4
Template Module Linux CPU by Zabbix agent
system.cpu.load[all,avg5]
2
F63100
Template Module Linux CPU by Zabbix agent
system.cpu.load[all,avg15]
3
A54F10
RIGHT
Template Module Linux CPU by Zabbix agent
system.cpu.num
ifOperStatus
0
unknown
1
notpresent
2
down
3
lowerlayerdown
4
testing
5
dormant
6
up
Linux::Interface protocol types
0
from KA9Q: NET/ROM pseudo
1
Ethernet
2
Experimental Ethernet
3
AX.25 Level 2
4
PROnet token ring
5
Chaosnet
6
IEEE 802.2 Ethernet/TR/TB
7
ARCnet
8
APPLEtalk
15
Frame Relay DLCI
19
ATM
23
Metricom STRIP (new IANA id)
24
IEEE 1394 IPv4 - RFC 2734
27
EUI-64
32
InfiniBand
256
ARPHRD_SLIP
257
ARPHRD_CSLIP
258
ARPHRD_SLIP6
259
ARPHRD_CSLIP6
260
Notional KISS type
264
ARPHRD_ADAPT
270
ARPHRD_ROSE
271
CCITT X.25
272
Boards with X.25 in firmware
280
Controller Area Network
512
ARPHRD_PPP
513
Cisco HDLC
516
LAPB
517
Digital's DDCMP protocol
518
Raw HDLC
519
Raw IP
768
IPIP tunnel
769
IP6IP6 tunnel
770
Frame Relay Access Device
771
SKIP vif
772
Loopback device
773
Localtalk device
774
Fiber Distributed Data Interface
775
AP1000 BIF
776
sit0 device - IPv6-in-IPv4
777
IP over DDP tunneller
778
GRE over IP
779
PIMSM register interface
780
High Performance Parallel Interface
781
Nexus 64Mbps Ash
782
Acorn Econet
783
Linux-IrDA
784
Point to point fibrechannel
785
Fibrechannel arbitrated loop
786
Fibrechannel public loop
787
Fibrechannel fabric
800
Magic type ident for TR
801
IEEE 802.11
802
IEEE 802.11 + Prism2 header
803
IEEE 802.11 + radiotap header
804
ARPHRD_IEEE802154
805
IEEE 802.15.4 network monitor
820
PhoNet media type
821
PhoNet pipe header
822
CAIF media type
823
GRE over IPv6
824
Netlink header
825
IPv6 over LoWPAN
826
Vsock monitor header