Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/os/linux_agent
Template Module Linux CPU by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Zabbix configuration
Macros used
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | - |
90 |
{$LOAD_AVG_PER_CPU.MAX.WARN} | Load per CPU considered sustainable. Tune if needed. |
1.5 |
Template links
There are no template links in this template.
Discovery rules
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 | CPU utilization 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 | 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 CPU 'stolen' 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 (time spent running a virtual CPU for a guest operating system) |
ZABBIX_PASSIVE | system.cpu.util[,guest] |
CPU | CPU guest nice time | Time spent running a niced guest (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 |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m) | Per CPU load average is too high. Your system may be slow to respond. |
{TEMPLATE_NAME: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 |
AVERAGE | |
High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
{TEMPLATE_NAME:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT} |
WARNING | Depends on: - Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m) |
Feedback
Please report any issues with the template at https://support.zabbix.com
Template Module Linux filesystems by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Zabbix configuration
Macros used
Name | Description | Default |
---|---|---|
{$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 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- A: {#FSTYPE} MATCHES_REGEX - B: {#FSTYPE} NOT_MATCHES_REGEX - C: {#FSNAME} MATCHES_REGEX - D: {#FSNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Filesystems | {#FSNAME}: Used space | Used storage in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSNAME}: Total space | Total space in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSNAME}: Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
Filesystems | {#FSNAME}: Free inodes in % | - |
ZABBIX_PASSIVE | vfs.fs.inode[{#FSNAME},pfree] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) | 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 5G. - The disk will be full in less than 24 hours. |
{TEMPLATE_NAME: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()})<5G or {TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%) | 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 10G. - The disk will be full in less than 24 hours. |
{TEMPLATE_NAME: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()})<10G or {TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) |
{#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%) | 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. |
{TEMPLATE_NAME:vfs.fs.inode[{#FSNAME},pfree].min(5m)}<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"} |
AVERAGE | |
{#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%) | 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. |
{TEMPLATE_NAME:vfs.fs.inode[{#FSNAME},pfree].min(5m)}<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |
WARNING | Depends on: - {#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%) |
Feedback
Please report any issues with the template at https://support.zabbix.com
Template Module Linux memory by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Zabbix configuration
Macros used
Name | Description | Default |
---|---|---|
{$MEMORY.AVAILABLE.MIN} | This macro is used as a threshold in memory available trigger. |
20M |
{$MEMORY.UTIL.MAX} | This macro is used as a threshold in memory utilization trigger. |
90 |
{$SWAP.PFREE.MIN.WARN} | - |
50 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Memory | Memory utilization | Memory used percentage is calculated as (100-pavailable) |
ZABBIX_PASSIVE | vm.memory.size[pavailable] Preprocessing: - JAVASCRIPT: |
Memory | Total memory | Total memory in Bytes |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Available memory | Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/current/manual/appendix/items/vm.memory.size_params |
ZABBIX_PASSIVE | vm.memory.size[available] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,free] |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
ZABBIX_PASSIVE | system.swap.size[,pfree] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m) | The system is running out of free memory. |
{TEMPLATE_NAME:vm.memory.size[pavailable].min(5m)}>{$MEMORY.UTIL.MAX} |
AVERAGE | Depends on: - Lack of available memory ( < {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2}) |
Lack of available memory ( < {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2}) | - |
{TEMPLATE_NAME:vm.memory.size[available].min(5m)}<{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}>0 |
AVERAGE | |
High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free) | This trigger is ignored, if there is no swap configured |
{TEMPLATE_NAME:system.swap.size[,pfree].min(5m)}<{$SWAP.PFREE.MIN.WARN} and {Template Module Linux memory by Zabbix agent:system.swap.size[,total].last()}>0 |
WARNING | Depends on: - High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m) - Lack of available memory ( < {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2}) |
Feedback
Please report any issues with the template at https://support.zabbix.com
Template Module Linux block devices by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Refer to the vendor documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$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 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Block devices discovery | - |
DEPENDENT | vfs.dev.discovery Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- A: {#DEVNAME} MATCHES_REGEX - B: {#DEVNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
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[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND |
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[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND |
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[{#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 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[{#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) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is 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 that the selected disk drive was busy servicing read or writes requests. |
DEPENDENT | vfs.dev.util[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND - MULTIPLIER: |
Zabbix_raw_items | Get /proc/diskstats | Get contents of /proc/diskstats for discovery and disk stats. |
ZABBIX_PASSIVE | vfs.file.contents[/proc/diskstats] Preprocessing: - JAVASCRIPT: |
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[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND - MULTIPLIER: |
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[{#DEVNAME}] Preprocessing: - JSONPATH: - CHANGE_PER_SECOND - MULTIPLIER: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#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) | This trigger might indicate disk {#DEVNAME} saturation. |
{TEMPLATE_NAME: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}"} |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
Known Issues
- Description: If having problems accessing /proc/diskstats on CloudLinux, please read this https://docs.cloudlinux.com/cloudlinux_os_kernel/#virtualized-proc-filesystem.
- Device: CloudLinux
Template Module Linux network interfaces by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Refer to the vendor documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | - |
2 |
{$IFCONTROL} | - |
1 |
{$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}) |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interface discovery | Discovery of network interfaces. |
ZABBIX_PASSIVE | net.if.discovery Filter: AND- A: {#IFNAME} MATCHES_REGEX - B: {#IFNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
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 | Indicates the interface RFC2863 operational state as a string. Possible values are:"unknown", "notpresent", "down", "lowerlayerdown", "testing","dormant", "up". Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net |
ZABBIX_PASSIVE | vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"] Preprocessing: - JAVASCRIPT: |
Network_interfaces | Interface {#IFNAME}: Interface type | 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: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}: High error rate ( > {$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
{TEMPLATE_NAME: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_NAME: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 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Interface {#IFNAME}: 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 ({TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2 and {TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].diff()}=1) Recovery expression: {TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}<>2 |
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. Ack to close. |
{TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].change()}<0 and {TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].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_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].change()}>0 and {TEMPLATE_NAME:vfs.file.contents["/sys/class/net/{#IFNAME}/type"].prev()}>0) or ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"].last()}=2) |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}: Link down |
Feedback
Please report any issues with the template at https://support.zabbix.com
Known Issues
- Description: High interface utilization trigger is removed since currently it is not possible to retrieve interface speed to determine the max bandwidth.
Template Module Linux generic by Zabbix agent
Overview
For Zabbix version: 4.4
Setup
Zabbix configuration
Macros used
Name | Description | Default |
---|---|---|
{$KERNEL.MAXFILES.MIN} | - |
256 |
{$KERNEL.MAXPROC.MIN} | - |
1024 |
{$SYSTEM.FUZZYTIME.MAX} | - |
60 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
General | System boot time | - |
ZABBIX_PASSIVE | system.boottime Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
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: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | The information as normally returned by 'uname -a'. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Number of logged in users | 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 sysctrl utility or modifying file /etc/sysctl.conf. |
ZABBIX_PASSIVE | kernel.maxfiles Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Maximum number of processes | It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf. |
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 | Operating system architecture of the host. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Inventory | Software installed | - |
ZABBIX_PASSIVE | system.sw.packages Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Security | Checksum of /etc/passwd | - |
ZABBIX_PASSIVE | vfs.file.cksum[/etc/passwd] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Status | System uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_PASSIVE | system.uptime |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
System time is out of sync (diff with Zabbix server > {$SYSTEM.FUZZYTIME.MAX}s) | The host system time is different from the Zabbix server time. |
{TEMPLATE_NAME:system.localtime.fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0 |
WARNING | Manual close: YES |
System name has changed (new name: {ITEM.VALUE}) | System name has changed. Ack to close. |
{TEMPLATE_NAME:system.hostname.diff()}=1 and {TEMPLATE_NAME:system.hostname.strlen()}>0 |
INFO | Manual close: YES |
Configured max number of open filedescriptors is too low (< {$KERNEL.MAXFILES.MIN}) | - |
{TEMPLATE_NAME:kernel.maxfiles.last()}<{$KERNEL.MAXFILES.MIN} |
INFO | |
Configured max number of processes is too low (< {$KERNEL.MAXPROC.MIN}) | - |
{TEMPLATE_NAME:kernel.maxproc.last()}<{$KERNEL.MAXPROC.MIN} |
INFO | Depends on: - Getting closer to process limit (over 80% used) |
Getting closer to process limit (over 80% used) | - |
{TEMPLATE_NAME:proc.num.last()}/{Template Module Linux generic by Zabbix agent:kernel.maxproc.last()}*100>80 |
WARNING | |
Operating system description has changed | Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close. |
{TEMPLATE_NAME:system.sw.os.diff()}=1 and {TEMPLATE_NAME:system.sw.os.strlen()}>0 |
INFO | Manual close: YES Depends on: - System name has changed (new name: {ITEM.VALUE}) |
/etc/passwd has been changed | - |
{TEMPLATE_NAME:vfs.file.cksum[/etc/passwd].diff()}>0 |
INFO | Manual close: YES Depends on: - Operating system description has changed - System name has changed (new name: {ITEM.VALUE}) |
{HOST.NAME} has been restarted (uptime < 10m) | The host uptime is less than 10 minutes |
{TEMPLATE_NAME:system.uptime.last()}<10m |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
Template OS Linux by Zabbix agent
Overview
For Zabbix version: 4.4
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.
Setup
Install Zabbix agent on Linux OS according to Zabbix documentation.
Zabbix configuration
No specific Zabbix configuration is required.
Template links
Name |
---|
Template Module Linux CPU by Zabbix agent |
Template Module Linux block devices 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 |
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|
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 with it 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.