Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode). |
3m |
Name | Description | Type | Key and additional info |
---|---|---|---|
Zabbix agent: Version of Zabbix agent running | Zabbix agent | agent.version Preprocessing
|
|
Zabbix agent: Host name of Zabbix agent running | Zabbix agent | agent.hostname Preprocessing
|
|
Zabbix agent: Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
Zabbix agent | agent.ping |
Zabbix agent: Zabbix agent availability | Monitoring the availability status of the agent. |
Zabbix internal | zabbix[host,agent,available] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Zabbix agent: Zabbix agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |Average |
Manual close: Yes |
Name | Description | Default |
---|---|---|
{$AGENT.NODATA_TIMEOUT} | No data timeout for active agents. Consider to keep it relatively high. |
30m |
Name | Description | Type | Key and additional info |
---|---|---|---|
Zabbix agent active: Version of Zabbix agent running | Zabbix agent (active) | agent.version Preprocessing
|
|
Zabbix agent active: Host name of Zabbix agent running | Zabbix agent (active) | agent.hostname Preprocessing
|
|
Zabbix agent active: Zabbix agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
Zabbix agent (active) | agent.ping |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Zabbix agent active: Zabbix agent is not available | For active agents, nodata() with agent.ping is used with {$AGENT.NODATA_TIMEOUT} as time threshold. |
nodata(/Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1 |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
This template is designed for the effortless deployment of Windows CPU monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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 expressed in %. |
90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: CPU utilization | The CPU utilization expressed in %. |
Zabbix agent (active) | system.cpu.util |
Windows: 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 agent (active) | perfcounteren["\Processor Information(_total)\% Interrupt Time"] |
Windows: 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 agent (active) | perfcounteren["\System\Context Switches/sec"] |
Windows: 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 agent (active) | perfcounteren["\Processor Information(_total)\% Privileged Time"] |
Windows: 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 agent (active) | perfcounteren["\Processor Information(_total)\% DPC Time"] |
Windows: 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 agent (active) | perfcounteren["\Processor Information(_total)\% User Time"] |
Windows: Number of cores | The number of logical processors available on the computer. |
Zabbix agent (active) | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
Windows: 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 agent (active) | perfcounteren["\System\Processor Queue Length"] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Windows CPU by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
||
Windows: CPU interrupt time is too high | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." |
min(/Windows CPU by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |Warning |
Depends on:
|
|
Windows: CPU privileged time is too high | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows CPU by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |Warning |
Depends on:
|
|
Windows: 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 CPU by Zabbix agent active/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows CPU by Zabbix agent active/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Windows memory monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$MEM.PAGETABLECRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Used memory | Used memory in bytes. |
Zabbix agent (active) | vm.memory.size[used] |
Windows: Total memory | The total memory expressed in bytes. |
Zabbix agent (active) | vm.memory.size[total] |
Windows: Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util |
Windows: 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 agent (active) | perfcounteren["\Memory\Cache Bytes"] |
Windows: Free swap space | The free space of the swap volume/file expressed in bytes. |
Calculated | system.swap.free |
Windows: Free swap space in % | The free space of the swap volume/file expressed in %. |
Dependent item | system.swap.pfree Preprocessing
|
Windows: Used swap space in % | The used space of swap volume/file in percent. |
Zabbix agent (active) | perfcounteren["\Paging file(_Total)\% Usage"] |
Windows: Total swap space | The total space of the swap volume/file expressed in bytes. |
Zabbix agent (active) | system.swap.size[,total] |
Windows: 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 agent (active) | perfcounteren["\Memory\Free System Page Table Entries"] |
Windows: 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 agent (active) | perfcounteren["\Memory\Page Faults/sec"] |
Windows: 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 agent (active) | perfcounteren["\Memory\Pages/sec"] |
Windows: 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 agent (active) | perfcounteren["\Memory\Pool Nonpaged Bytes"] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows memory by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |Average |
||
Windows: High swap space usage | This trigger is ignored, if there is no swap configured |
max(/Windows memory by Zabbix agent active/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows memory by Zabbix agent active/system.swap.size[,total])>0 |Warning |
Depends on:
|
|
Windows: 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 memory by Zabbix agent active/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |Warning |
Depends on:
|
|
Windows: 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 memory by Zabbix agent active/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Windows filesystems monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
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. |
.* |
{$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.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.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 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
Zabbix agent (active) | vfs.fs.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSLABEL}({#FSNAME}): Used space | Used storage in bytes |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},used] |
{#FSLABEL}({#FSNAME}): Total space | Total space in bytes |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},total] |
{#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},pused] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSLABEL}({#FSNAME}): Disk space is critically low | The volume's space usage exceeds the |
last(/Windows filesystems by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |Average |
Manual close: Yes | |
{#FSLABEL}({#FSNAME}): Disk space is low | The volume's space usage exceeds the |
last(/Windows filesystems by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |Warning |
Manual close: Yes Depends on:
|
This template is designed for the effortless deployment of Windows physical disks monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Zabbix agent (active) | perfinstanceen.discovery[PhysicalDisk] Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Zabbix agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Zabbix agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
{#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. |
Zabbix agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
{#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 agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\% Idle Time",60] Preprocessing
|
{#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 agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
{#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 agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
{#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 agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
{#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 agent (active) | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows physical disks 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 | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows physical disks 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 the disk {#DEVNAME} saturation. |
min(/Windows physical disks 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 |
This template is designed for the effortless deployment of Windows generic monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Zabbix agent (active) | system.uptime |
Windows: System local time | The local system time of the host. |
Zabbix agent (active) | system.localtime |
Windows: System name | The host name of the system. |
Zabbix agent (active) | system.hostname Preprocessing
|
Windows: System description | System description of the host. |
Zabbix agent (active) | system.uname Preprocessing
|
Windows: Number of processes | The number of processes. |
Zabbix agent (active) | proc.num[] |
Windows: Number of threads | The number of threads used by all running processes. |
Zabbix agent (active) | perfcounteren["\System\Threads"] |
Windows: Operating system architecture | The architecture of the operating system. |
Zabbix agent (active) | system.sw.arch Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows generic by Zabbix agent active/system.uptime)<10m |Warning |
Manual close: Yes | |
Windows: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
change(/Windows generic by Zabbix agent active/system.hostname) and length(last(/Windows generic by Zabbix agent active/system.hostname))>0 |Info |
Manual close: Yes |
This template is designed for the effortless deployment of Windows network monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$IFCONTROL} | 1 |
|
{$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. |
Macro too long. Please see the template. |
{$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 |
{$IF.UTIL.MAX} | 90 |
|
{$IF.ERRORS.WARN} | 2 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Network interfaces WMI get | Raw data of win32_networkadapter. |
Zabbix agent (active) | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Zabbix agent (active) | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Zabbix agent (active) | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Zabbix agent (active) | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Zabbix agent (active) | net.if.out["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
Zabbix agent (active) | net.if.in["{#IFGUID}",errors] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
Zabbix agent (active) | net.if.out["{#IFGUID}",errors] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
Dependent item | net.if.speed["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
Dependent item | net.if.type["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
Dependent item | net.if.status["{#IFGUID}"] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Windows network by Zabbix agent active/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Zabbix agent active/net.if.speed["{#IFGUID}"]) or avg(/Windows network by Zabbix agent active/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Zabbix agent active/net.if.speed["{#IFGUID}"])) and last(/Windows network by Zabbix agent active/net.if.speed["{#IFGUID}"])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Windows network by Zabbix agent active/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows network by Zabbix agent active/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
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 to close the problem manually. |
change(/Windows network by Zabbix agent active/net.if.speed["{#IFGUID}"])<0 and last(/Windows network by Zabbix agent active/net.if.speed["{#IFGUID}"])>0 and last(/Windows network by Zabbix agent active/net.if.status["{#IFGUID}"])=2 |Info |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows network by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows network by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows network by Zabbix agent active/net.if.status["{#IFGUID}"],#2)) |Average |
Manual close: Yes |
Special version of services template that is required for Windows OS.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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. |
Macro too long. Please see the template. |
{$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)$ |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
Zabbix agent (active) | service.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Zabbix agent (active) | service.info["{#SERVICE.NAME}",state] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows services by Zabbix agent active/service.info["{#SERVICE.NAME}",state],#3)<>0 |Average |
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
This template is designed for the effortless deployment of Windows CPU monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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 expressed in %. |
90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: CPU utilization | The CPU utilization expressed in %. |
Zabbix agent | system.cpu.util |
Windows: 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 agent | perfcounteren["\Processor Information(_total)\% Interrupt Time"] |
Windows: 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 agent | perfcounteren["\System\Context Switches/sec"] |
Windows: 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 agent | perfcounteren["\Processor Information(_total)\% Privileged Time"] |
Windows: 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 agent | perfcounteren["\Processor Information(_total)\% DPC Time"] |
Windows: 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 agent | perfcounteren["\Processor Information(_total)\% User Time"] |
Windows: Number of cores | The number of logical processors available on the computer. |
Zabbix agent | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
Windows: 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 agent | perfcounteren["\System\Processor Queue Length"] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Windows CPU by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
||
Windows: CPU interrupt time is too high | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." |
min(/Windows CPU by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |Warning |
Depends on:
|
|
Windows: CPU privileged time is too high | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows CPU by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |Warning |
Depends on:
|
|
Windows: 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 CPU by Zabbix agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows CPU by Zabbix agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Windows memory monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$MEM.PAGETABLECRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Used memory | Used memory in bytes. |
Zabbix agent | vm.memory.size[used] |
Windows: Total memory | The total memory expressed in bytes. |
Zabbix agent | vm.memory.size[total] |
Windows: Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util |
Windows: 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 agent | perfcounteren["\Memory\Cache Bytes"] |
Windows: Free swap space | The free space of the swap volume/file expressed in bytes. |
Calculated | system.swap.free |
Windows: Free swap space in % | The free space of the swap volume/file expressed in %. |
Dependent item | system.swap.pfree Preprocessing
|
Windows: Used swap space in % | The used space of swap volume/file in percent. |
Zabbix agent | perfcounteren["\Paging file(_Total)\% Usage"] |
Windows: Total swap space | The total space of the swap volume/file expressed in bytes. |
Zabbix agent | system.swap.size[,total] |
Windows: 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 agent | perfcounteren["\Memory\Free System Page Table Entries"] |
Windows: 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 agent | perfcounteren["\Memory\Page Faults/sec"] |
Windows: 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 agent | perfcounteren["\Memory\Pages/sec"] |
Windows: 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 agent | perfcounteren["\Memory\Pool Nonpaged Bytes"] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows memory by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |Average |
||
Windows: High swap space usage | This trigger is ignored, if there is no swap configured |
max(/Windows memory by Zabbix agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows memory by Zabbix agent/system.swap.size[,total])>0 |Warning |
Depends on:
|
|
Windows: 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 memory by Zabbix agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |Warning |
Depends on:
|
|
Windows: 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 memory by Zabbix agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Windows filesystems monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
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. |
.* |
{$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.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.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 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
Zabbix agent | vfs.fs.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSLABEL}({#FSNAME}): Used space | Used storage in bytes |
Zabbix agent | vfs.fs.size[{#FSNAME},used] |
{#FSLABEL}({#FSNAME}): Total space | Total space in bytes |
Zabbix agent | vfs.fs.size[{#FSNAME},total] |
{#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
Zabbix agent | vfs.fs.size[{#FSNAME},pused] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSLABEL}({#FSNAME}): Disk space is critically low | The volume's space usage exceeds the |
last(/Windows filesystems by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |Average |
Manual close: Yes | |
{#FSLABEL}({#FSNAME}): Disk space is low | The volume's space usage exceeds the |
last(/Windows filesystems by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |Warning |
Manual close: Yes Depends on:
|
This template is designed for the effortless deployment of Windows physical disks monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Zabbix agent | perfinstanceen.discovery[PhysicalDisk] Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Zabbix agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Zabbix agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
{#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. |
Zabbix agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
{#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 agent | perfcounteren["\PhysicalDisk({#DEVNAME})\% Idle Time",60] Preprocessing
|
{#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 agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
{#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 agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
{#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 agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
{#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 agent | perfcounteren["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows physical disks 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 | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows physical disks 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 the disk {#DEVNAME} saturation. |
min(/Windows physical disks by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |Warning |
Manual close: Yes |
This template is designed for the effortless deployment of Windows generic monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$SYSTEM.FUZZYTIME.MAX} | The upper threshold for difference of system time. |
60s |
{$SYSTEM.FUZZYTIME.MIN} | The lower threshold for difference of system time. Used in recovery expression to avoid trigger flapping. |
10s |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Zabbix agent | system.uptime |
Windows: System local time | The local system time of the host. |
Zabbix agent | system.localtime |
Windows: System name | The host name of the system. |
Zabbix agent | system.hostname Preprocessing
|
Windows: System description | System description of the host. |
Zabbix agent | system.uname Preprocessing
|
Windows: Number of processes | The number of processes. |
Zabbix agent | proc.num[] |
Windows: Number of threads | The number of threads used by all running processes. |
Zabbix agent | perfcounteren["\System\Threads"] |
Windows: Operating system architecture | The architecture of the operating system. |
Zabbix agent | system.sw.arch Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows generic by Zabbix agent/system.uptime)<10m |Warning |
Manual close: Yes | |
Windows: System time is out of sync | The host's system time is different from Zabbix server time. |
fuzzytime(/Windows generic by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |Warning |
Manual close: Yes | |
Windows: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
change(/Windows generic by Zabbix agent/system.hostname) and length(last(/Windows generic by Zabbix agent/system.hostname))>0 |Info |
Manual close: Yes |
This template is designed for the effortless deployment of Windows network monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$IFCONTROL} | 1 |
|
{$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. |
Macro too long. Please see the template. |
{$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 |
{$IF.UTIL.MAX} | 90 |
|
{$IF.ERRORS.WARN} | 2 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Network interfaces WMI get | Raw data of win32_networkadapter. |
Zabbix agent | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Zabbix agent | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Zabbix agent | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Zabbix agent | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Zabbix agent | net.if.out["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
Zabbix agent | net.if.in["{#IFGUID}",errors] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
Zabbix agent | net.if.out["{#IFGUID}",errors] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
Dependent item | net.if.speed["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
Dependent item | net.if.type["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
Dependent item | net.if.status["{#IFGUID}"] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Windows network by Zabbix agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Zabbix agent/net.if.speed["{#IFGUID}"]) or avg(/Windows network by Zabbix agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Zabbix agent/net.if.speed["{#IFGUID}"])) and last(/Windows network by Zabbix agent/net.if.speed["{#IFGUID}"])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Windows network by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows network by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
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 to close the problem manually. |
change(/Windows network by Zabbix agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows network by Zabbix agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows network by Zabbix agent/net.if.status["{#IFGUID}"])=2 |Info |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows network by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows network by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows network by Zabbix agent/net.if.status["{#IFGUID}"],#2)) |Average |
Manual close: Yes |
Special version of services template that is required for Windows OS.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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. |
Macro too long. Please see the template. |
{$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)$ |
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
Zabbix agent | service.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Zabbix agent | service.info["{#SERVICE.NAME}",state] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows services by Zabbix agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |Average |
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
This template is designed for the effortless deployment of SMART monitoring by Zabbix via Zabbix agent 2 active and doesn't require any external scripts.
It collects metrics by Zabbix agent 2 version 5.0 and later with Smartmontools version 7.1 and later. Disk discovery LLD rule finds all HDD, SSD, NVMe disks with S.M.A.R.T. enabled. Attribute discovery LLD rule have pre-defined Vendor Specific Attributes for each disk, and will be discovered if attribute is present.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install the Zabbix agent 2 and Smartmontools 7.1. Grant Zabbix agent 2 super/admin user privileges for smartctl utility.
sudo dnf install smartmontools sudo visudo
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl
Plugin parameters list
Name | Description | Default |
---|---|---|
{$SMART.TEMPERATURE.MAX.WARN} | This macro is used for trigger expression. It can be overridden on the host or linked on the template level. |
50 |
{$SMART.TEMPERATURE.MAX.CRIT} | This macro is used for trigger expression. It can be overridden on the host or linked on the template level. |
65 |
{$SMART.DISK.NAME.MATCHES} | This macro is used in the filter of attribute and disk discoveries. It can be overridden on the host or linked on the template level. |
^.*$ |
{$SMART.DISK.NAME.NOT_MATCHES} | This macro is used in the filter of attribute and disk discoveries. It can be overridden on the host or linked on the template level. |
CHANGE_IF_NEEDED |
Name | Description | Type | Key and additional info |
---|---|---|---|
Disk discovery | Discovery SMART disks. |
Zabbix agent (active) | smart.disk.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
SMART [{#NAME}]: Smartctl error | This metric will contain smartctl errors. |
Dependent item | smart.disk.error[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Get disk attributes | Zabbix agent (active) | smart.disk.get[{#PATH},"{#RAIDTYPE}"] | |
SMART [{#NAME}]: Device model | Dependent item | smart.disk.model[{#NAME}] Preprocessing
|
|
SMART [{#NAME}]: Serial number | Dependent item | smart.disk.sn[{#NAME}] Preprocessing
|
|
SMART [{#NAME}]: Self-test passed | The disk is passed the SMART self-test or not. |
Dependent item | smart.disk.test[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Temperature | Current drive temperature. |
Dependent item | smart.disk.temperature[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Power on hours | Count of hours in power-on state. The raw value of this attribute shows total count of hours (or minutes, or seconds, depending on manufacturer) in power-on state. "By default, the total expected lifetime of a hard disk in perfect condition is defined as 5 years (running every day and night on all days). This is equal to 1825 days in 24/7 mode or 43800 hours." On some pre-2005 drives, this raw value may advance erratically and/or "wrap around" (reset to zero periodically). https://en.wikipedia.org/wiki/S.M.A.R.T.#KnownATAS.M.A.R.T._attributes |
Dependent item | smart.disk.hours[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Percentage used | Contains a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer's prediction of NVM life. A value of 100 indicates that the estimated endurance of the NVM in the NVM subsystem has been consumed, but may not indicate an NVM subsystem failure. The value is allowed to exceed 100. Percentages greater than 254 shall be represented as 255. This value shall be updated once per power-on hour (when the controller is not in a sleep state). |
Dependent item | smart.disk.percentage_used[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Critical warning | This field indicates critical warnings for the state of the controller. |
Dependent item | smart.disk.critical_warning[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Media errors | Contains the number of occurrences where the controller detected an unrecovered data integrity error. Errors such as uncorrectable ECC, CRC checksum failure, or LBA tag mismatch are included in this field. |
Dependent item | smart.disk.media_errors[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Exit status | The exit statuses of smartctl are defined by a bitmask but in decimal value. The eight different bits in the exit status have the following meanings for ATA disks; some of these values may also be returned for SCSI disks. Bit 0: Command line did not parse. Bit 1: Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode (see '-n' option above). Bit 2: Some SMART or other ATA command to the disk failed, or there was a checksum error in a SMART data structure (see '-b' option above). Bit 3: SMART status check returned "DISK FAILING". Bit 4: We found prefail Attributes <= threshold. Bit 5: SMART status check returned "DISK OK" but we found that some (usage or prefail) Attributes have been <= threshold at some time in the past. Bit 6: The device error log contains records of errors. Bit 7: The device self-test log contains records of errors. [ATA only] Failed self-tests outdated by a newer successful extended self-test are ignored. |
Dependent item | smart.disk.es[{#NAME}] Preprocessing
|
SMART [{#NAME}]: RawReadError_Rate | Stores data related to the rate of hardware read errors that occurred when reading data from a disk surface. The raw value has different structure for different vendors and is often not meaningful as a decimal number. For some drives, this number may increase during normal operation without necessarily signifying errors. |
Dependent item | smart.disk.attribute.rawreaderror_rate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: SpinUpTime | Average time of spindle spin up (from zero RPM to fully operational [milliseconds]). |
Dependent item | smart.disk.attribute.spinuptime[{#NAME}] Preprocessing
|
SMART [{#NAME}]: StartStopCount | A tally of spindle start/stop cycles. The spindle turns on, and hence the count is increased, both when the hard disk is turned on after having before been turned entirely off (disconnected from power source) and when the hard disk returns from having previously been put to sleep mode. |
Dependent item | smart.disk.attribute.startstopcount[{#NAME}] Preprocessing
|
SMART [{#NAME}]: PowerCycleCount | This attribute indicates the count of full hard disk power on/off cycles. |
Dependent item | smart.disk.attribute.powercyclecount[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Reported_Uncorrect | The count of errors that could not be recovered using hardware ECC. |
Dependent item | smart.disk.attribute.reported_uncorrect[{#NAME}] Preprocessing
|
SMART [{#NAME}]: SeekErrorRate | Rate of seek errors of the magnetic heads. If there is a partial failure in the mechanical positioning system, then seek errors will arise. Such a failure may be due to numerous factors, such as damage to a servo, or thermal widening of the hard disk. The raw value has different structure for different vendors and is often not meaningful as a decimal number. For some drives, this number may increase during normal operation without necessarily signifying errors. |
Dependent item | smart.disk.attribute.seekerrorrate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: BadBlockRate | Percentage of used reserve blocks divided by total reserve blocks. |
Dependent item | smart.disk.attribute.badblockrate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: ProgramFailCount_Chip | The total number of flash program operation failures since the drive was deployed. |
Dependent item | smart.disk.attribute.programfailcount_chip[{#NAME}] Preprocessing
|
SMART [{#NAME}]: ReallocatedSectorCt | Disk discovered attribute. |
Dependent item | smart.disk.attribute.reallocatedsectorct[{#NAME}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
SMART [{#NAME}]: Disk has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/SMART by Zabbix agent 2 active/smart.disk.sn[{#NAME}],#1)<>last(/SMART by Zabbix agent 2 active/smart.disk.sn[{#NAME}],#2) and length(last(/SMART by Zabbix agent 2 active/smart.disk.sn[{#NAME}]))>0 |Info |
Manual close: Yes | |
SMART [{#NAME}]: Disk self-test is not passed | last(/SMART by Zabbix agent 2 active/smart.disk.test[{#NAME}])="false" |High |
|||
SMART [{#NAME}]: Average disk temperature is too high | avg(/SMART by Zabbix agent 2 active/smart.disk.temperature[{#NAME}],5m)>{$SMART.TEMPERATURE.MAX.WARN} |Warning |
Depends on:
|
||
SMART [{#NAME}]: Average disk temperature is critical | avg(/SMART by Zabbix agent 2 active/smart.disk.temperature[{#NAME}],5m)>{$SMART.TEMPERATURE.MAX.CRIT} |Average |
|||
SMART [{#NAME}]: NVMe disk percentage using is over 90% of estimated endurance | last(/SMART by Zabbix agent 2 active/smart.disk.percentage_used[{#NAME}])>90 |Average |
|||
SMART [{#NAME}]: Command line did not parse | Command line did not parse. |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),1) = 1 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),1) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),1) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),1) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Device open failed | Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode. |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),2) = 2 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),2) = 2 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),2) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),2) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some command to the disk failed | Some SMART or other ATA command to the disk failed, |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),4) = 4 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),4) = 4 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),4) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),4) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Check returned "DISK FAILING" | SMART status check returned "DISK FAILING". |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),8) = 8 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),8) = 8 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),8) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),8) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some prefail Attributes <= threshold | We found prefail Attributes <= threshold. |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),16) = 16 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),16) = 16 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),16) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),16) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some Attributes have been <= threshold | SMART status check returned "DISK OK" but we found that some (usage |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),32) = 32 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),32) = 32 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),32) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),32) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Error log contains records | The device error log contains records of errors. |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),64) = 64 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),64) = 64 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),64) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),64) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Self-test log contains records | The device self-test log contains records of errors. [ATA only] |
( count(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),128) = 128 ) or ( bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),128) = 128 and bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}]),128) > bitand(last(/SMART by Zabbix agent 2 active/smart.disk.es[{#NAME}],#2),128) ) |High |
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
This template is designed for the effortless deployment of SMART monitoring by Zabbix via Zabbix agent 2 and doesn't require any external scripts.
It collects metrics by Zabbix agent 2 version 5.0 and later with Smartmontools version 7.1 and later. Disk discovery LLD rule finds all HDD, SSD, NVMe disks with S.M.A.R.T. enabled. Attribute discovery LLD rule have pre-defined Vendor Specific Attributes for each disk, and will be discovered if attribute is present.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install the Zabbix agent 2 and Smartmontools 7.1. Grant Zabbix agent 2 super/admin user privileges for smartctl utility.
sudo dnf install smartmontools sudo visudo
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/smartctl
Plugin parameters list
Name | Description | Default |
---|---|---|
{$SMART.TEMPERATURE.MAX.WARN} | This macro is used for trigger expression. It can be overridden on the host or linked on the template level. |
50 |
{$SMART.TEMPERATURE.MAX.CRIT} | This macro is used for trigger expression. It can be overridden on the host or linked on the template level. |
65 |
{$SMART.DISK.NAME.MATCHES} | This macro is used in the filter of attribute and disk discoveries. It can be overridden on the host or linked on the template level. |
^.*$ |
{$SMART.DISK.NAME.NOT_MATCHES} | This macro is used in the filter of attribute and disk discoveries. It can be overridden on the host or linked on the template level. |
CHANGE_IF_NEEDED |
Name | Description | Type | Key and additional info |
---|---|---|---|
Disk discovery | Discovery SMART disks. |
Zabbix agent | smart.disk.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
SMART [{#NAME}]: Smartctl error | This metric will contain smartctl errors. |
Dependent item | smart.disk.error[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Get disk attributes | Zabbix agent | smart.disk.get[{#PATH},"{#RAIDTYPE}"] | |
SMART [{#NAME}]: Device model | Dependent item | smart.disk.model[{#NAME}] Preprocessing
|
|
SMART [{#NAME}]: Serial number | Dependent item | smart.disk.sn[{#NAME}] Preprocessing
|
|
SMART [{#NAME}]: Self-test passed | The disk is passed the SMART self-test or not. |
Dependent item | smart.disk.test[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Temperature | Current drive temperature. |
Dependent item | smart.disk.temperature[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Power on hours | Count of hours in power-on state. The raw value of this attribute shows total count of hours (or minutes, or seconds, depending on manufacturer) in power-on state. "By default, the total expected lifetime of a hard disk in perfect condition is defined as 5 years (running every day and night on all days). This is equal to 1825 days in 24/7 mode or 43800 hours." On some pre-2005 drives, this raw value may advance erratically and/or "wrap around" (reset to zero periodically). https://en.wikipedia.org/wiki/S.M.A.R.T.#KnownATAS.M.A.R.T._attributes |
Dependent item | smart.disk.hours[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Percentage used | Contains a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer's prediction of NVM life. A value of 100 indicates that the estimated endurance of the NVM in the NVM subsystem has been consumed, but may not indicate an NVM subsystem failure. The value is allowed to exceed 100. Percentages greater than 254 shall be represented as 255. This value shall be updated once per power-on hour (when the controller is not in a sleep state). |
Dependent item | smart.disk.percentage_used[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Critical warning | This field indicates critical warnings for the state of the controller. |
Dependent item | smart.disk.critical_warning[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Media errors | Contains the number of occurrences where the controller detected an unrecovered data integrity error. Errors such as uncorrectable ECC, CRC checksum failure, or LBA tag mismatch are included in this field. |
Dependent item | smart.disk.media_errors[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Exit status | The exit statuses of smartctl are defined by a bitmask but in decimal value. The eight different bits in the exit status have the following meanings for ATA disks; some of these values may also be returned for SCSI disks. Bit 0: Command line did not parse. Bit 1: Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode (see '-n' option above). Bit 2: Some SMART or other ATA command to the disk failed, or there was a checksum error in a SMART data structure (see '-b' option above). Bit 3: SMART status check returned "DISK FAILING". Bit 4: We found prefail Attributes <= threshold. Bit 5: SMART status check returned "DISK OK" but we found that some (usage or prefail) Attributes have been <= threshold at some time in the past. Bit 6: The device error log contains records of errors. Bit 7: The device self-test log contains records of errors. [ATA only] Failed self-tests outdated by a newer successful extended self-test are ignored. |
Dependent item | smart.disk.es[{#NAME}] Preprocessing
|
SMART [{#NAME}]: RawReadError_Rate | Stores data related to the rate of hardware read errors that occurred when reading data from a disk surface. The raw value has different structure for different vendors and is often not meaningful as a decimal number. For some drives, this number may increase during normal operation without necessarily signifying errors. |
Dependent item | smart.disk.attribute.rawreaderror_rate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: SpinUpTime | Average time of spindle spin up (from zero RPM to fully operational [milliseconds]). |
Dependent item | smart.disk.attribute.spinuptime[{#NAME}] Preprocessing
|
SMART [{#NAME}]: StartStopCount | A tally of spindle start/stop cycles. The spindle turns on, and hence the count is increased, both when the hard disk is turned on after having before been turned entirely off (disconnected from power source) and when the hard disk returns from having previously been put to sleep mode. |
Dependent item | smart.disk.attribute.startstopcount[{#NAME}] Preprocessing
|
SMART [{#NAME}]: PowerCycleCount | This attribute indicates the count of full hard disk power on/off cycles. |
Dependent item | smart.disk.attribute.powercyclecount[{#NAME}] Preprocessing
|
SMART [{#NAME}]: Reported_Uncorrect | The count of errors that could not be recovered using hardware ECC. |
Dependent item | smart.disk.attribute.reported_uncorrect[{#NAME}] Preprocessing
|
SMART [{#NAME}]: SeekErrorRate | Rate of seek errors of the magnetic heads. If there is a partial failure in the mechanical positioning system, then seek errors will arise. Such a failure may be due to numerous factors, such as damage to a servo, or thermal widening of the hard disk. The raw value has different structure for different vendors and is often not meaningful as a decimal number. For some drives, this number may increase during normal operation without necessarily signifying errors. |
Dependent item | smart.disk.attribute.seekerrorrate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: BadBlockRate | Percentage of used reserve blocks divided by total reserve blocks. |
Dependent item | smart.disk.attribute.badblockrate[{#NAME}] Preprocessing
|
SMART [{#NAME}]: ProgramFailCount_Chip | The total number of flash program operation failures since the drive was deployed. |
Dependent item | smart.disk.attribute.programfailcount_chip[{#NAME}] Preprocessing
|
SMART [{#NAME}]: ReallocatedSectorCt | Disk discovered attribute. |
Dependent item | smart.disk.attribute.reallocatedsectorct[{#NAME}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
SMART [{#NAME}]: Disk has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/SMART by Zabbix agent 2/smart.disk.sn[{#NAME}],#1)<>last(/SMART by Zabbix agent 2/smart.disk.sn[{#NAME}],#2) and length(last(/SMART by Zabbix agent 2/smart.disk.sn[{#NAME}]))>0 |Info |
Manual close: Yes | |
SMART [{#NAME}]: Disk self-test is not passed | last(/SMART by Zabbix agent 2/smart.disk.test[{#NAME}])="false" |High |
|||
SMART [{#NAME}]: Average disk temperature is too high | avg(/SMART by Zabbix agent 2/smart.disk.temperature[{#NAME}],5m)>{$SMART.TEMPERATURE.MAX.WARN} |Warning |
Depends on:
|
||
SMART [{#NAME}]: Average disk temperature is critical | avg(/SMART by Zabbix agent 2/smart.disk.temperature[{#NAME}],5m)>{$SMART.TEMPERATURE.MAX.CRIT} |Average |
|||
SMART [{#NAME}]: NVMe disk percentage using is over 90% of estimated endurance | last(/SMART by Zabbix agent 2/smart.disk.percentage_used[{#NAME}])>90 |Average |
|||
SMART [{#NAME}]: Command line did not parse | Command line did not parse. |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),1) = 1 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),1) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),1) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),1) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Device open failed | Device open failed, device did not return an IDENTIFY DEVICE structure, or device is in a low-power mode. |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),2) = 2 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),2) = 2 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),2) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),2) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some command to the disk failed | Some SMART or other ATA command to the disk failed, |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),4) = 4 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),4) = 4 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),4) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),4) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Check returned "DISK FAILING" | SMART status check returned "DISK FAILING". |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),8) = 8 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),8) = 8 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),8) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),8) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some prefail Attributes <= threshold | We found prefail Attributes <= threshold. |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),16) = 16 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),16) = 16 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),16) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),16) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Some Attributes have been <= threshold | SMART status check returned "DISK OK" but we found that some (usage |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),32) = 32 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),32) = 32 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),32) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),32) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Error log contains records | The device error log contains records of errors. |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),64) = 64 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),64) = 64 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),64) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),64) ) |High |
Manual close: Yes | |
SMART [{#NAME}]: Self-test log contains records | The device self-test log contains records of errors. [ATA only] |
( count(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2) = 1 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),128) = 128 ) or ( bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),128) = 128 and bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}]),128) > bitand(last(/SMART by Zabbix agent 2/smart.disk.es[{#NAME}],#2),128) ) |High |
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: 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.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$MEMORY.UTIL.MAX} | 90 |
|
{$MEMORY.AVAILABLE.MIN} | 20M |
|
{$SWAP.PFREE.MIN.WARN} | 50 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: 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] |
Linux: Free memory | MIB: UCD-SNMP-MIB |
SNMP agent | vm.memory.free[memAvailReal.0] Preprocessing
|
Linux: Memory (buffers) | MIB: UCD-SNMP-MIB Memory used by kernel buffers (Buffers in /proc/meminfo). |
SNMP agent | vm.memory.buffers[memBuffer.0] Preprocessing
|
Linux: Memory (cached) | MIB: UCD-SNMP-MIB Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo). |
SNMP agent | vm.memory.cached[memCached.0] Preprocessing
|
Linux: Total memory | MIB: UCD-SNMP-MIB The total memory expressed in bytes. |
SNMP agent | vm.memory.total[memTotalReal.0] Preprocessing
|
Linux: 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] |
Linux: Total swap space | MIB: UCD-SNMP-MIB The total amount of swap space configured for this host. |
SNMP agent | system.swap.total[memTotalSwap.0] Preprocessing
|
Linux: Free swap space | MIB: UCD-SNMP-MIB The amount of swap space currently unused or available. |
SNMP agent | system.swap.free[memAvailSwap.0] Preprocessing
|
Linux: Free swap space in % | The free space of the swap volume/file expressed in %. |
Calculated | system.swap.pfree[snmp] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: High memory utilization | The system is running out of free memory. |
min(/Linux memory by SNMP/vm.memory.util[snmp],5m)>{$MEMORY.UTIL.MAX} |Average |
Depends on:
|
|
Linux: Lack of available memory | max(/Linux memory by SNMP/vm.memory.available[snmp],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux memory by SNMP/vm.memory.total[memTotalReal.0])>0 |Average |
|||
Linux: High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux memory by SNMP/system.swap.pfree[snmp],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux memory by SNMP/system.swap.total[memTotalSwap.0])>0 |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux block devices monitoring by Zabbix via SNMP and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
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 |
Macro too long. Please see the 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 agent | vfs.dev.discovery[snmp] |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | MIB: UCD-DISKIO-MIB The number of read accesses from this device since boot. |
SNMP agent | vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}] Preprocessing
|
{#DEVNAME}: Disk write rate | MIB: UCD-DISKIO-MIB The number of write accesses from this device since boot. |
SNMP agent | vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}] Preprocessing
|
{#DEVNAME}: Disk utilization | MIB: UCD-DISKIO-MIB The 1 minute average load of disk (%) |
SNMP agent | vfs.dev.util[diskIOLA1.{#SNMPINDEX}] |
This template is designed for the effortless deployment of Linux CPU monitoring by Zabbix via SNMP and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
|
{$LOADAVGPER_CPU.MAX.WARN} | Load per CPU considered sustainable. Tune if needed. |
1.5 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: Load average (1m avg) | MIB: UCD-SNMP-MIB |
SNMP agent | system.cpu.load.avg1[laLoad.1] |
Linux: Load average (5m avg) | MIB: UCD-SNMP-MIB |
SNMP agent | system.cpu.load.avg5[laLoad.2] |
Linux: Load average (15m avg) | MIB: UCD-SNMP-MIB |
SNMP agent | system.cpu.load.avg15[laLoad.3] |
Linux: Number of CPUs | MIB: HOST-RESOURCES-MIB Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD |
SNMP agent | system.cpu.num[snmp] Preprocessing
|
Linux: Interrupts per second | SNMP agent | system.cpu.intr[ssRawInterrupts.0] Preprocessing
|
|
Linux: Context switches per second | SNMP agent | system.cpu.switches[ssRawContexts.0] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux CPU by SNMP/system.cpu.load.avg1[laLoad.1],5m)/last(/Linux CPU by SNMP/system.cpu.num[snmp])>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux CPU by SNMP/system.cpu.load.avg5[laLoad.2])>0 and last(/Linux CPU by SNMP/system.cpu.load.avg15[laLoad.3])>0 |Average |
Name | Description | Type | Key and additional info |
---|---|---|---|
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 item | cpu.discovery[snmp] Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: CPU idle time | MIB: UCD-SNMP-MIB The time the CPU has spent doing nothing. |
SNMP agent | system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}] Preprocessing
|
Linux: CPU system time | MIB: UCD-SNMP-MIB The time the CPU has spent running the kernel and its processes. |
SNMP agent | system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}] Preprocessing
|
Linux: CPU user time | MIB: UCD-SNMP-MIB The time the CPU has spent running users' processes that are not niced. |
SNMP agent | system.cpu.user[ssCpuRawUser.{#SNMPINDEX}] Preprocessing
|
Linux: 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 agent | system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}] Preprocessing
|
Linux: CPU softirq time | MIB: UCD-SNMP-MIB The amount of time the CPU has been servicing software interrupts. |
SNMP agent | system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}] Preprocessing
|
Linux: CPU nice time | MIB: UCD-SNMP-MIB The time the CPU has spent running users' processes that have been niced. |
SNMP agent | system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}] Preprocessing
|
Linux: CPU iowait time | MIB: UCD-SNMP-MIB The amount of time the CPU has been waiting for I/O to complete. |
SNMP agent | system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}] Preprocessing
|
Linux: CPU interrupt time | MIB: UCD-SNMP-MIB The amount of time the CPU has been servicing hardware interrupts. |
SNMP agent | system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}] Preprocessing
|
Linux: CPU guest time | MIB: UCD-SNMP-MIB Guest time - the time spent on running a virtual CPU for a guest operating system. |
SNMP agent | system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}] Preprocessing
|
Linux: 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 agent | system.cpu.guest_nice[ssCpuRawGuestNice.{#SNMPINDEX}] Preprocessing
|
Linux: CPU utilization | The CPU utilization expressed in %. |
Dependent item | system.cpu.util[snmp,{#SNMPINDEX}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux CPU by SNMP/system.cpu.util[snmp,{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT} |Warning |
This template is designed for the effortless deployment of Linux filesystems monitoring by Zabbix via SNMP and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$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.FSNAME.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.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.INODE.PFREE.MIN.CRIT} | 10 |
|
{$VFS.FS.INODE.PFREE.MIN.WARN} | 20 |
|
{$VFS.FS.PUSED.MAX.CRIT} | 90 |
|
{$VFS.FS.PUSED.MAX.WARN} | 80 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | HOST-RESOURCES-MIB::hrStorage discovery with storage filter |
SNMP agent | vfs.fs.discovery[snmp] |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSNAME}: Used space | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP agent | vfs.fs.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing
|
{#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 agent | vfs.fs.total[hrStorageSize.{#SNMPINDEX}] Preprocessing
|
{#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
Calculated | vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}] |
{#FSNAME}: Free inodes in % | MIB: UCD-SNMP-MIB If having problems collecting this item make sure access to UCD-SNMP-MIB is allowed. |
SNMP agent | vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low | The volume's space usage exceeds the |
last(/Linux filesystems by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |Average |
Manual close: Yes | |
{#FSNAME}: Disk space is low | The volume's space usage exceeds the |
last(/Linux filesystems by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. |
min(/Linux filesystems 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. |
min(/Linux filesystems by SNMP/vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |Warning |
Depends on:
|
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
This template is designed for the effortless deployment of Linux CPU monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
|
{$LOADAVGPER_CPU.MAX.WARN} | The CPU load per core is considered sustainable. If necessary, it can be tuned. |
1.5 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: Number of CPUs | Zabbix agent (active) | system.cpu.num Preprocessing
|
|
Linux: Load average (1m avg) | Zabbix agent (active) | system.cpu.load[all,avg1] | |
Linux: Load average (5m avg) | Zabbix agent (active) | system.cpu.load[all,avg5] | |
Linux: Load average (15m avg) | Zabbix agent (active) | system.cpu.load[all,avg15] | |
Linux: CPU utilization | The CPU utilization expressed in %. |
Dependent item | system.cpu.util Preprocessing
|
Linux: CPU idle time | The time the CPU has spent doing nothing. |
Zabbix agent (active) | system.cpu.util[,idle] |
Linux: CPU system time | The time the CPU has spent running the kernel and its processes. |
Zabbix agent (active) | system.cpu.util[,system] |
Linux: CPU user time | The time the CPU has spent running users' processes that are not niced. |
Zabbix agent (active) | system.cpu.util[,user] |
Linux: CPU nice time | The time the CPU has spent running users' processes that have been niced. |
Zabbix agent (active) | system.cpu.util[,nice] |
Linux: CPU iowait time | The amount of time the CPU has been waiting for I/O to complete. |
Zabbix agent (active) | system.cpu.util[,iowait] |
Linux: 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 agent (active) | system.cpu.util[,steal] |
Linux: CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
Zabbix agent (active) | system.cpu.util[,interrupt] |
Linux: CPU softirq time | The amount of time the CPU has been servicing software interrupts. |
Zabbix agent (active) | system.cpu.util[,softirq] |
Linux: CPU guest time | Guest time - the time spent on running a virtual CPU for a guest operating system. |
Zabbix agent (active) | system.cpu.util[,guest] |
Linux: 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 agent (active) | system.cpu.util[,guest_nice] |
Linux: Context switches per second | Zabbix agent (active) | system.cpu.switches Preprocessing
|
|
Linux: Interrupts per second | Zabbix agent (active) | system.cpu.intr Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux CPU by Zabbix agent active/system.cpu.load[all,avg1],5m)/last(/Linux CPU by Zabbix agent active/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux CPU by Zabbix agent active/system.cpu.load[all,avg5])>0 and last(/Linux CPU by Zabbix agent active/system.cpu.load[all,avg15])>0 |Average |
||
Linux: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux CPU by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux filesystems monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$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.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.FSTYPE.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
Macro too long. Please see the template. |
{$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 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | The discovery of mounted filesystems with different types. |
Zabbix agent (active) | vfs.fs.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSNAME}: Used space | Used storage in bytes |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},used] |
{#FSNAME}: Total space | Total space in bytes |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},total] |
{#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
Zabbix agent (active) | vfs.fs.size[{#FSNAME},pused] |
{#FSNAME}: Free inodes in % | Zabbix agent (active) | vfs.fs.inode[{#FSNAME},pfree] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low | The volume's space usage exceeds the |
last(/Linux filesystems by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |Average |
Manual close: Yes | |
{#FSNAME}: Disk space is low | The volume's space usage exceeds the |
last(/Linux filesystems by Zabbix agent active/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. |
min(/Linux filesystems 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. |
min(/Linux filesystems by Zabbix agent active/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux memory monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$MEMORY.UTIL.MAX} | This macro is used as a threshold in the memory utilization trigger. |
90 |
{$MEMORY.AVAILABLE.MIN} | This macro is used as a threshold in the memory available trigger. |
20M |
{$SWAP.PFREE.MIN.WARN} | 50 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: Memory utilization | The percentage of used memory is calculated as |
Dependent item | vm.memory.utilization Preprocessing
|
Linux: Available memory in % | The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the |
Zabbix agent (active) | vm.memory.size[pavailable] |
Linux: Total memory | The total memory expressed in bytes. |
Zabbix agent (active) | vm.memory.size[total] |
Linux: 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 agent (active) | vm.memory.size[available] |
Linux: Total swap space | The total space of the swap volume/file expressed in bytes. |
Zabbix agent (active) | system.swap.size[,total] |
Linux: Free swap space | The free space of the swap volume/file expressed in bytes. |
Zabbix agent (active) | system.swap.size[,free] |
Linux: Free swap space in % | The free space of the swap volume/file expressed in %. |
Zabbix agent (active) | system.swap.size[,pfree] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: High memory utilization | The system is running out of free memory. |
min(/Linux memory by Zabbix agent active/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX} |Average |
Depends on:
|
|
Linux: Lack of available memory | max(/Linux memory by Zabbix agent active/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux memory by Zabbix agent active/vm.memory.size[total])>0 |Average |
|||
Linux: High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux memory by Zabbix agent active/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux memory by Zabbix agent active/system.swap.size[,total])>0 |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux block devices monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$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.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. |
Macro too long. Please see the template. |
{$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. |
.+ |
Name | Description | Type | Key and additional info |
---|---|---|---|
Block devices discovery | Zabbix agent (active) | vfs.dev.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Get stats | The contents of get |
Zabbix agent (active) | vfs.file.contents[/sys/block/{#DEVNAME}/stat] Preprocessing
|
{#DEVNAME}: Disk read rate | r/s (read operations per second) - the number (after merges) of read requests completed per second for the device. |
Dependent item | vfs.dev.read.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk write rate | w/s (write operations per second) - the number (after merges) of write requests completed per second for the device. |
Dependent item | vfs.dev.write.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk read time (rate) | The rate of total read time counter; used in |
Dependent item | vfs.dev.read.time.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk write time (rate) | The rate of total write time counter; used in |
Dependent item | vfs.dev.write.time.rate[{#DEVNAME}] Preprocessing
|
{#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}] |
{#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}] |
{#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 item | vfs.dev.queue_size[{#DEVNAME}] Preprocessing
|
{#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 item | vfs.dev.util[{#DEVNAME}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk read/write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Linux block devices by Zabbix agent active/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux block devices by Zabbix agent active/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |Warning |
Manual close: Yes |
This template is designed for the effortless deployment of Linux network interfaces monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | 2 |
|
{$IFCONTROL} | 1 |
|
{$NET.IF.IFNAME.MATCHES} | ^.*$ |
|
{$NET.IF.IFNAME.NOT_MATCHES} | It filters out |
Macro too long. Please see the template. |
{$IF.UTIL.MAX} | This macro is used as a threshold in the interface utilization trigger. |
90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interface discovery | The discovery of network interfaces. |
Zabbix agent (active) | net.if.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}: Bits received | Zabbix agent (active) | net.if.in["{#IFNAME}"] Preprocessing
|
|
Interface {#IFNAME}: Bits sent | Zabbix agent (active) | net.if.out["{#IFNAME}"] Preprocessing
|
|
Interface {#IFNAME}: Outbound packets with errors | Zabbix agent (active) | net.if.out["{#IFNAME}",errors] Preprocessing
|
|
Interface {#IFNAME}: Inbound packets with errors | Zabbix agent (active) | net.if.in["{#IFNAME}",errors] Preprocessing
|
|
Interface {#IFNAME}: Outbound packets discarded | Zabbix agent (active) | net.if.out["{#IFNAME}",dropped] Preprocessing
|
|
Interface {#IFNAME}: Inbound packets discarded | Zabbix agent (active) | net.if.in["{#IFNAME}",dropped] Preprocessing
|
|
Interface {#IFNAME}: Operational status | Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt |
Zabbix agent (active) | vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"] Preprocessing
|
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 agent (active) | vfs.file.contents["/sys/class/net/{#IFNAME}/type"] Preprocessing
|
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 agent (active) | vfs.file.contents["/sys/class/net/{#IFNAME}/speed"] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}: High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux network interfaces by Zabbix agent active/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or avg(/Linux network interfaces by Zabbix agent active/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}: High error rate | It recovers when it is below 80% of the |
min(/Linux network interfaces by Zabbix agent active/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux network interfaces by Zabbix agent active/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}: Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#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. Acknowledge to close the problem manually. |
change(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and (last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1) and (last(/Linux network interfaces by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2) |Info |
Manual close: Yes Depends on:
|
This template is designed for the effortless deployment of Linux generic monitoring by Zabbix via Zabbix agent active and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$KERNEL.MAXPROC.MIN} | 1024 |
|
{$KERNEL.MAXFILES.MIN} | 256 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: System uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Zabbix agent (active) | system.uptime |
Linux: System boot time | Zabbix agent (active) | system.boottime Preprocessing
|
|
Linux: System local time | The local system time of the host. |
Zabbix agent (active) | system.localtime |
Linux: System name | The host name of the system. |
Zabbix agent (active) | system.hostname Preprocessing
|
Linux: System description | The information as normally returned by |
Zabbix agent (active) | system.uname Preprocessing
|
Linux: Number of logged in users | The number of users who are currently logged in. |
Zabbix agent (active) | system.users.num |
Linux: Maximum number of open file descriptors | It could be increased by using |
Zabbix agent (active) | kernel.maxfiles Preprocessing
|
Linux: Maximum number of processes | It could be increased by using |
Zabbix agent (active) | kernel.maxproc Preprocessing
|
Linux: Number of processes | Zabbix agent (active) | proc.num | |
Linux: Number of running processes | Zabbix agent (active) | proc.num[,,run] | |
Linux: Checksum of /etc/passwd | Zabbix agent (active) | vfs.file.cksum[/etc/passwd,sha256] Preprocessing
|
|
Linux: Operating system | Zabbix agent (active) | system.sw.os Preprocessing
|
|
Linux: Operating system architecture | The architecture of the operating system. |
Zabbix agent (active) | system.sw.arch Preprocessing
|
Linux: Software installed | Zabbix agent (active) | system.sw.packages Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: {HOST.NAME} has been restarted | The host uptime is less than 10 minutes. |
last(/Linux generic by Zabbix agent active/system.uptime)<10m |Warning |
Manual close: Yes | |
Linux: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
change(/Linux generic by Zabbix agent active/system.hostname) and length(last(/Linux generic by Zabbix agent active/system.hostname))>0 |Info |
Manual close: Yes | |
Linux: Configured max number of open filedescriptors is too low | last(/Linux generic by Zabbix agent active/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN} |Info |
|||
Linux: Configured max number of processes is too low | last(/Linux generic by Zabbix agent active/kernel.maxproc)<{$KERNEL.MAXPROC.MIN} |Info |
Depends on:
|
||
Linux: Getting closer to process limit | last(/Linux generic by Zabbix agent active/proc.num)/last(/Linux generic by Zabbix agent active/kernel.maxproc)*100>80 |Warning |
|||
Linux: /etc/passwd has been changed | last(/Linux generic by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux generic by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#2) |Info |
Manual close: Yes Depends on:
|
||
Linux: Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually. |
change(/Linux generic by Zabbix agent active/system.sw.os) and length(last(/Linux generic by Zabbix agent active/system.sw.os))>0 |Info |
Manual close: Yes Depends on:
|
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
This template is designed for the effortless deployment of Linux CPU monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
|
{$LOADAVGPER_CPU.MAX.WARN} | The CPU load per core is considered sustainable. If necessary, it can be tuned. |
1.5 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: Number of CPUs | Zabbix agent | system.cpu.num Preprocessing
|
|
Linux: Load average (1m avg) | Zabbix agent | system.cpu.load[all,avg1] | |
Linux: Load average (5m avg) | Zabbix agent | system.cpu.load[all,avg5] | |
Linux: Load average (15m avg) | Zabbix agent | system.cpu.load[all,avg15] | |
Linux: CPU utilization | The CPU utilization expressed in %. |
Dependent item | system.cpu.util Preprocessing
|
Linux: CPU idle time | The time the CPU has spent doing nothing. |
Zabbix agent | system.cpu.util[,idle] |
Linux: CPU system time | The time the CPU has spent running the kernel and its processes. |
Zabbix agent | system.cpu.util[,system] |
Linux: CPU user time | The time the CPU has spent running users' processes that are not niced. |
Zabbix agent | system.cpu.util[,user] |
Linux: CPU nice time | The time the CPU has spent running users' processes that have been niced. |
Zabbix agent | system.cpu.util[,nice] |
Linux: CPU iowait time | The amount of time the CPU has been waiting for I/O to complete. |
Zabbix agent | system.cpu.util[,iowait] |
Linux: 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 agent | system.cpu.util[,steal] |
Linux: CPU interrupt time | The amount of time the CPU has been servicing hardware interrupts. |
Zabbix agent | system.cpu.util[,interrupt] |
Linux: CPU softirq time | The amount of time the CPU has been servicing software interrupts. |
Zabbix agent | system.cpu.util[,softirq] |
Linux: CPU guest time | Guest time - the time spent on running a virtual CPU for a guest operating system. |
Zabbix agent | system.cpu.util[,guest] |
Linux: 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 agent | system.cpu.util[,guest_nice] |
Linux: Context switches per second | Zabbix agent | system.cpu.switches Preprocessing
|
|
Linux: Interrupts per second | Zabbix agent | system.cpu.intr Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: Load average is too high | The load average per CPU is too high. The system may be slow to respond. |
min(/Linux CPU by Zabbix agent/system.cpu.load[all,avg1],5m)/last(/Linux CPU by Zabbix agent/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN} and last(/Linux CPU by Zabbix agent/system.cpu.load[all,avg5])>0 and last(/Linux CPU by Zabbix agent/system.cpu.load[all,avg15])>0 |Average |
||
Linux: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Linux CPU by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux filesystems monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$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.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.FSTYPE.MATCHES} | This macro is used for discovery of the filesystems. It can be overridden on host level or its linked template level. |
Macro too long. Please see the template. |
{$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 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | The discovery of mounted filesystems with different types. |
Zabbix agent | vfs.fs.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSNAME}: Used space | Used storage in bytes |
Zabbix agent | vfs.fs.size[{#FSNAME},used] |
{#FSNAME}: Total space | Total space in bytes |
Zabbix agent | vfs.fs.size[{#FSNAME},total] |
{#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
Zabbix agent | vfs.fs.size[{#FSNAME},pused] |
{#FSNAME}: Free inodes in % | Zabbix agent | vfs.fs.inode[{#FSNAME},pfree] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low | The volume's space usage exceeds the |
last(/Linux filesystems by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} |Average |
Manual close: Yes | |
{#FSNAME}: Disk space is low | The volume's space usage exceeds the |
last(/Linux filesystems by Zabbix agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
{#FSNAME}: Running out of free inodes | It may become impossible to write to a disk if there are no index nodes left. |
min(/Linux filesystems 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. |
min(/Linux filesystems by Zabbix agent/vfs.fs.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"} |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux memory monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$MEMORY.UTIL.MAX} | This macro is used as a threshold in the memory utilization trigger. |
90 |
{$MEMORY.AVAILABLE.MIN} | This macro is used as a threshold in the memory available trigger. |
20M |
{$SWAP.PFREE.MIN.WARN} | 50 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: Memory utilization | The percentage of used memory is calculated as |
Dependent item | vm.memory.utilization Preprocessing
|
Linux: Available memory in % | The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the |
Zabbix agent | vm.memory.size[pavailable] |
Linux: Total memory | The total memory expressed in bytes. |
Zabbix agent | vm.memory.size[total] |
Linux: 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 agent | vm.memory.size[available] |
Linux: Total swap space | The total space of the swap volume/file expressed in bytes. |
Zabbix agent | system.swap.size[,total] |
Linux: Free swap space | The free space of the swap volume/file expressed in bytes. |
Zabbix agent | system.swap.size[,free] |
Linux: Free swap space in % | The free space of the swap volume/file expressed in %. |
Zabbix agent | system.swap.size[,pfree] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: High memory utilization | The system is running out of free memory. |
min(/Linux memory by Zabbix agent/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX} |Average |
Depends on:
|
|
Linux: Lack of available memory | max(/Linux memory by Zabbix agent/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux memory by Zabbix agent/vm.memory.size[total])>0 |Average |
|||
Linux: High swap space usage | If there is no swap configured, this trigger is ignored. |
max(/Linux memory by Zabbix agent/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux memory by Zabbix agent/system.swap.size[,total])>0 |Warning |
Depends on:
|
This template is designed for the effortless deployment of Linux block devices monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$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.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. |
Macro too long. Please see the template. |
{$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. |
.+ |
Name | Description | Type | Key and additional info |
---|---|---|---|
Block devices discovery | Zabbix agent | vfs.dev.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Get stats | The contents of get |
Zabbix agent | vfs.file.contents[/sys/block/{#DEVNAME}/stat] Preprocessing
|
{#DEVNAME}: Disk read rate | r/s (read operations per second) - the number (after merges) of read requests completed per second for the device. |
Dependent item | vfs.dev.read.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk write rate | w/s (write operations per second) - the number (after merges) of write requests completed per second for the device. |
Dependent item | vfs.dev.write.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk read time (rate) | The rate of total read time counter; used in |
Dependent item | vfs.dev.read.time.rate[{#DEVNAME}] Preprocessing
|
{#DEVNAME}: Disk write time (rate) | The rate of total write time counter; used in |
Dependent item | vfs.dev.write.time.rate[{#DEVNAME}] Preprocessing
|
{#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}] |
{#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}] |
{#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 item | vfs.dev.queue_size[{#DEVNAME}] Preprocessing
|
{#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 item | vfs.dev.util[{#DEVNAME}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk read/write request responses are too high | This trigger might indicate the disk |
min(/Linux block devices by Zabbix agent/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux block devices by Zabbix agent/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |Warning |
Manual close: Yes |
This template is designed for the effortless deployment of Linux network interfaces monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | 2 |
|
{$IFCONTROL} | 1 |
|
{$NET.IF.IFNAME.MATCHES} | ^.*$ |
|
{$NET.IF.IFNAME.NOT_MATCHES} | It filters out |
Macro too long. Please see the template. |
{$IF.UTIL.MAX} | This macro is used as a threshold in the interface utilization trigger. |
90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interface discovery | The discovery of network interfaces. |
Zabbix agent | net.if.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}: Bits received | Zabbix agent | net.if.in["{#IFNAME}"] Preprocessing
|
|
Interface {#IFNAME}: Bits sent | Zabbix agent | net.if.out["{#IFNAME}"] Preprocessing
|
|
Interface {#IFNAME}: Outbound packets with errors | Zabbix agent | net.if.out["{#IFNAME}",errors] Preprocessing
|
|
Interface {#IFNAME}: Inbound packets with errors | Zabbix agent | net.if.in["{#IFNAME}",errors] Preprocessing
|
|
Interface {#IFNAME}: Outbound packets discarded | Zabbix agent | net.if.out["{#IFNAME}",dropped] Preprocessing
|
|
Interface {#IFNAME}: Inbound packets discarded | Zabbix agent | net.if.in["{#IFNAME}",dropped] Preprocessing
|
|
Interface {#IFNAME}: Operational status | Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt |
Zabbix agent | vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"] Preprocessing
|
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 agent | vfs.file.contents["/sys/class/net/{#IFNAME}/type"] Preprocessing
|
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 agent | vfs.file.contents["/sys/class/net/{#IFNAME}/speed"] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}: High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Linux network interfaces by Zabbix agent/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or avg(/Linux network interfaces by Zabbix agent/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}: High error rate | It recovers when it is below 80% of the |
min(/Linux network interfaces by Zabbix agent/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Linux network interfaces by Zabbix agent/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}: Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#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. Acknowledge to close the problem manually. |
change(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and (last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1) and (last(/Linux network interfaces by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2) |Info |
Manual close: Yes Depends on:
|
This template is designed for the effortless deployment of Linux generic monitoring by Zabbix via Zabbix agent and doesn't require any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Install Zabbix agent on Linux OS following Zabbix documentation.
Name | Description | Default |
---|---|---|
{$SYSTEM.FUZZYTIME.MAX} | The upper threshold for difference of system time. |
60s |
{$SYSTEM.FUZZYTIME.MIN} | The lower threshold for difference of system time. Used in recovery expression to avoid trigger flapping. |
10s |
{$KERNEL.MAXPROC.MIN} | 1024 |
|
{$KERNEL.MAXFILES.MIN} | 256 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Linux: System uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Zabbix agent | system.uptime |
Linux: System boot time | Zabbix agent | system.boottime Preprocessing
|
|
Linux: System local time | The local system time of the host. |
Zabbix agent | system.localtime |
Linux: System name | The host name of the system. |
Zabbix agent | system.hostname Preprocessing
|
Linux: System description | The information as normally returned by |
Zabbix agent | system.uname Preprocessing
|
Linux: Number of logged in users | The number of users who are currently logged in. |
Zabbix agent | system.users.num |
Linux: Maximum number of open file descriptors | It could be increased by using |
Zabbix agent | kernel.maxfiles Preprocessing
|
Linux: Maximum number of processes | It could be increased by using |
Zabbix agent | kernel.maxproc Preprocessing
|
Linux: Number of processes | Zabbix agent | proc.num | |
Linux: Number of running processes | Zabbix agent | proc.num[,,run] | |
Linux: Checksum of /etc/passwd | Zabbix agent | vfs.file.cksum[/etc/passwd,sha256] Preprocessing
|
|
Linux: Operating system | Zabbix agent | system.sw.os Preprocessing
|
|
Linux: Operating system architecture | The architecture of the operating system. |
Zabbix agent | system.sw.arch Preprocessing
|
Linux: Software installed | Zabbix agent | system.sw.packages Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Linux: {HOST.NAME} has been restarted | The host uptime is less than 10 minutes. |
last(/Linux generic by Zabbix agent/system.uptime)<10m |Warning |
Manual close: Yes | |
Linux: System time is out of sync | The host's system time is different from Zabbix server time. |
fuzzytime(/Linux generic by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |Warning |
Manual close: Yes | |
Linux: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
change(/Linux generic by Zabbix agent/system.hostname) and length(last(/Linux generic by Zabbix agent/system.hostname))>0 |Info |
Manual close: Yes | |
Linux: Configured max number of open filedescriptors is too low | last(/Linux generic by Zabbix agent/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN} |Info |
|||
Linux: Configured max number of processes is too low | last(/Linux generic by Zabbix agent/kernel.maxproc)<{$KERNEL.MAXPROC.MIN} |Info |
Depends on:
|
||
Linux: Getting closer to process limit | last(/Linux generic by Zabbix agent/proc.num)/last(/Linux generic by Zabbix agent/kernel.maxproc)*100>80 |Warning |
|||
Linux: /etc/passwd has been changed | last(/Linux generic by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux generic by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2) |Info |
Manual close: Yes Depends on:
|
||
Linux: Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually. |
change(/Linux generic by Zabbix agent/system.sw.os) and length(last(/Linux generic by Zabbix agent/system.sw.os))>0 |Info |
Manual close: Yes Depends on:
|
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
Special version of interfaces template that is required for Windows OS. Since MS doesn't support 64 bit counters but supports ifAlias and ifHighSpeed.
Description: 32bit counters are used in this template (since 64bit are not supported by Windows OS). If busy interfaces return incorrect bits sent/received - set update interval to 1m or less.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$IFCONTROL} | 1 |
|
{$NET.IF.IFNAME.MATCHES} | ^.*$ |
|
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default |
Macro too long. Please see the template. |
{$NET.IF.IFOPERSTATUS.MATCHES} | ^.*$ |
|
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(6) |
^6$ |
{$NET.IF.IFADMINSTATUS.MATCHES} | ^.*$ |
|
{$NET.IF.IFADMINSTATUS.NOT_MATCHES} | Ignore down(2) administrative status |
^2$ |
{$NET.IF.IFDESCR.MATCHES} | .* |
|
{$NET.IF.IFDESCR.NOT_MATCHES} | Macro too long. Please see the template. |
|
{$NET.IF.IFALIAS.MATCHES} | .* |
|
{$NET.IF.IFALIAS.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$NET.IF.IFTYPE.MATCHES} | .* |
|
{$NET.IF.IFTYPE.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$IF.UTIL.MAX} | 90 |
|
{$IF.ERRORS.WARN} | 2 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovering interfaces from IF-MIB. |
SNMP agent | net.if.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
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 agent | net.if.status[ifOperStatus.{#SNMPINDEX}] |
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 another times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP agent | net.if.in[ifInOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out[ifOutOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.errors[ifInErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.errors[ifOutErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.discards[ifInDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.type[ifType.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.speed[ifHighSpeed.{#SNMPINDEX}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Interfaces Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Interfaces Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Interfaces Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) |Average |
Manual close: Yes | |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Interfaces Windows by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or avg(/Interfaces Windows by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and last(/Interfaces Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Interfaces Windows by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Interfaces Windows by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
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 to close the problem manually. |
change(/Interfaces Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Interfaces Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and ( last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Interfaces Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Interfaces Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) |Info |
Manual close: Yes Depends on:
|
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
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | 2 |
|
{$IF.UTIL.MAX} | 90 |
|
{$IFCONTROL} | 1 |
|
{$NET.IF.IFNAME.MATCHES} | ^.*$ |
|
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default |
Macro too long. Please see the template. |
{$NET.IF.IFOPERSTATUS.MATCHES} | ^.*$ |
|
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(6) |
^6$ |
{$NET.IF.IFADMINSTATUS.MATCHES} | ^.* |
|
{$NET.IF.IFADMINSTATUS.NOT_MATCHES} | Ignore down(2) administrative status |
^2$ |
{$NET.IF.IFDESCR.MATCHES} | .* |
|
{$NET.IF.IFDESCR.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$NET.IF.IFALIAS.MATCHES} | .* |
|
{$NET.IF.IFALIAS.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$NET.IF.IFTYPE.MATCHES} | .* |
|
{$NET.IF.IFTYPE.NOT_MATCHES} | CHANGE_IF_NEEDED |
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovering interfaces from IF-MIB. |
SNMP agent | net.if.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
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 agent | net.if.status[ifOperStatus.{#SNMPINDEX}] |
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 agent | net.if.in[ifHCInOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out[ifHCOutOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.errors[ifInErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.errors[ifOutErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.discards[ifInDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.type[ifType.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.speed[ifHighSpeed.{#SNMPINDEX}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Interfaces by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Interfaces by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Interfaces by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) |Average |
Manual close: Yes | |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Interfaces by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or avg(/Interfaces by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and last(/Interfaces by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Interfaces by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Interfaces by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
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 to close the problem manually. |
change(/Interfaces by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Interfaces by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and ( last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Interfaces by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Interfaces by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) |Info |
Manual close: Yes Depends on:
|
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: 32bit counters are used in this template (since there is no ifXtable available). If busy interfaces return incorrect bits sent/received - set update interval to 1m or less.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
Refer to the vendor documentation.
Name | Description | Default |
---|---|---|
{$IFCONTROL} | 1 |
|
{$IF.UTIL.MAX} | 95 |
|
{$NET.IF.IFNAME.MATCHES} | ^.*$ |
|
{$NET.IF.IFNAME.NOT_MATCHES} | Filter out loopbacks, nulls, docker veth links and docker0 bridge by default |
Macro too long. Please see the template. |
{$NET.IF.IFOPERSTATUS.MATCHES} | ^.*$ |
|
{$NET.IF.IFOPERSTATUS.NOT_MATCHES} | Ignore notPresent(6) |
^6$ |
{$NET.IF.IFADMINSTATUS.MATCHES} | ^.* |
|
{$NET.IF.IFADMINSTATUS.NOT_MATCHES} | Ignore down(2) administrative status |
^2$ |
{$NET.IF.IFDESCR.MATCHES} | .* |
|
{$NET.IF.IFDESCR.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$NET.IF.IFTYPE.MATCHES} | .* |
|
{$NET.IF.IFTYPE.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$NET.IF.IFALIAS.MATCHES} | .* |
|
{$NET.IF.IFALIAS.NOT_MATCHES} | CHANGE_IF_NEEDED |
|
{$IF.ERRORS.WARN} | 2 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovering interfaces from IF-MIB. |
SNMP agent | net.if.discovery Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
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 agent | net.if.status[ifOperStatus.{#SNMPINDEX}] |
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 another times as indicated by the value of ifCounterDiscontinuityTime. |
SNMP agent | net.if.in[ifInOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out[ifOutOctets.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.errors[ifInErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.errors[ifOutErrors.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.out.discards[ifOutDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.in.discards[ifInDiscards.{#SNMPINDEX}] Preprocessing
|
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 agent | net.if.type[ifType.{#SNMPINDEX}] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Speed | MIB: IF-MIB An estimate of the interface's current bandwidth in bits per second. For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. If the bandwidth of the interface is greater than the maximum value reportable by this object then this object should report its maximum value (4,294,967,295) and ifHighSpeed must be used to report the interface's speed. For a sub-layer which has no concept of bandwidth, this object should be zero. |
SNMP agent | net.if.speed[ifSpeed.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Interfaces Simple by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Interfaces Simple by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Interfaces Simple by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2)) |Average |
Manual close: Yes | |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Interfaces Simple by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces Simple by SNMP/net.if.speed[ifSpeed.{#SNMPINDEX}]) or avg(/Interfaces Simple by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Interfaces Simple by SNMP/net.if.speed[ifSpeed.{#SNMPINDEX}])) and last(/Interfaces Simple by SNMP/net.if.speed[ifSpeed.{#SNMPINDEX}])>0 |Warning |
Manual close: Yes Depends on:
|
|
Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Interfaces Simple by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Interfaces Simple by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |Warning |
Manual close: Yes Depends on:
|
|
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 to close the problem manually. |
change(/Interfaces Simple by SNMP/net.if.speed[ifSpeed.{#SNMPINDEX}])<0 and last(/Interfaces Simple by SNMP/net.if.speed[ifSpeed.{#SNMPINDEX}])>0 and ( last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or last(/Interfaces Simple by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117 ) and (last(/Interfaces Simple by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2) |Info |
Manual close: Yes Depends on:
|
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
Name | Description | Default |
---|---|---|
{$ICMPLOSSWARN} | 20 |
|
{$ICMPRESPONSETIME_WARN} | 0.15 |
Name | Description | Type | Key and additional info |
---|---|---|---|
ICMP: ICMP ping | Simple check | icmpping | |
ICMP: ICMP loss | Simple check | icmppingloss | |
ICMP: ICMP response time | Simple check | icmppingsec |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
ICMP: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/ICMP Ping/icmpping,#3)=0 |High |
||
ICMP: High ICMP ping loss | min(/ICMP Ping/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/ICMP Ping/icmppingloss,5m)<100 |Warning |
Depends on:
|
||
ICMP: High ICMP ping response time | avg(/ICMP Ping/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |Warning |
Depends on:
|
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
Name | Description | Default |
---|---|---|
{$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.FSNAME.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. |
CHANGE_IF_NEEDED |
{$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.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.PUSED.MAX.CRIT} | 90 |
|
{$VFS.FS.PUSED.MAX.WARN} | 80 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Storage discovery | HOST-RESOURCES-MIB::hrStorage discovery with storage filter. |
SNMP agent | vfs.fs.discovery[snmp] |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSNAME}: Used space | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP agent | vfs.fs.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing
|
{#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 agent | vfs.fs.total[hrStorageSize.{#SNMPINDEX}] Preprocessing
|
{#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
Calculated | vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low | Two conditions should match: |
last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |Average |
Manual close: Yes | |
{#FSNAME}: Disk space is low | Two conditions should match: |
last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/HOST-RESOURCES-MIB storage by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |Warning |
Manual close: Yes Depends on:
|
Name | Description | Default |
---|---|---|
{$MEMORY.UTIL.MAX} | The warning threshold of the "Physical memory: Memory utilization" item. |
90 |
{$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.TYPE.MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level. |
.*(\.2|hrStorageRam)$ |
{$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 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Memory discovery | HOST-RESOURCES-MIB::hrStorage discovery with memory filter |
SNMP agent | vm.memory.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#MEMNAME}: Used memory | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP agent | vm.memory.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing
|
{#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 agent | vm.memory.total[hrStorageSize.{#SNMPINDEX}] Preprocessing
|
{#MEMNAME}: Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#MEMNAME}: High memory utilization | The system is running out of free memory. |
min(/HOST-RESOURCES-MIB memory by SNMP/vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX} |Average |
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
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 agent | system.cpu.util Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
CPU: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/HOST-RESOURCES-MIB CPU by SNMP/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
Name | Description | Default |
---|---|---|
{$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.FSNAME.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. |
CHANGE_IF_NEEDED |
{$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.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.PUSED.MAX.CRIT} | 90 |
|
{$VFS.FS.PUSED.MAX.WARN} | 80 |
|
{$MEMORY.UTIL.MAX} | The warning threshold of the "Physical memory: Memory utilization" item. |
90 |
{$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.TYPE.MATCHES} | This macro is used in memory discovery. Can be overridden on the host or linked template level. |
.*(\.2|hrStorageRam)$ |
{$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 |
{$CPU.UTIL.CRIT} | 90 |
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 agent | system.cpu.util Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
CPU: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/HOST-RESOURCES-MIB by SNMP/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |Warning |
Name | Description | Type | Key and additional info |
---|---|---|---|
Storage discovery | HOST-RESOURCES-MIB::hrStorage discovery with storage filter. |
SNMP agent | vfs.fs.discovery[snmp] |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSNAME}: Used space | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP agent | vfs.fs.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing
|
{#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 agent | vfs.fs.total[hrStorageSize.{#SNMPINDEX}] Preprocessing
|
{#FSNAME}: Space utilization | The space utilization expressed in % for {#FSNAME}. |
Calculated | vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low | Two conditions should match: |
last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/HOST-RESOURCES-MIB by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |Average |
Manual close: Yes | |
{#FSNAME}: Disk space is low | Two conditions should match: |
last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/HOST-RESOURCES-MIB by SNMP/vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/HOST-RESOURCES-MIB by SNMP/vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}],1h,100)<1d) |Warning |
Manual close: Yes Depends on:
|
Name | Description | Type | Key and additional info |
---|---|---|---|
Memory discovery | HOST-RESOURCES-MIB::hrStorage discovery with memory filter |
SNMP agent | vm.memory.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#MEMNAME}: Used memory | MIB: HOST-RESOURCES-MIB The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits. |
SNMP agent | vm.memory.used[hrStorageUsed.{#SNMPINDEX}] Preprocessing
|
{#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 agent | vm.memory.total[hrStorageSize.{#SNMPINDEX}] Preprocessing
|
{#MEMNAME}: Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#MEMNAME}: High memory utilization | The system is running out of free memory. |
min(/HOST-RESOURCES-MIB by SNMP/vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX} |Average |
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
Name | Description | Default |
---|---|---|
{$SNMP.TIMEOUT} | 5m |
|
{$ICMPLOSSWARN} | 20 |
|
{$ICMPRESPONSETIME_WARN} | 0.15 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Generic SNMP: 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 agent | system.net.uptime[sysUpTime.0] Preprocessing
|
Generic SNMP: 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 agent | system.hw.uptime[hrSystemUptime.0] Preprocessing
|
Generic SNMP: SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
Generic SNMP: 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 agent | system.location[sysLocation.0] Preprocessing
|
Generic SNMP: 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 agent | system.contact[sysContact.0] Preprocessing
|
Generic SNMP: 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 agent | system.objectid[sysObjectID.0] Preprocessing
|
Generic SNMP: 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 agent | system.name Preprocessing
|
Generic SNMP: 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 agent | system.descr[sysDescr.0] Preprocessing
|
Generic SNMP: 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 |
Zabbix internal | zabbix[host,snmp,available] |
Generic SNMP: ICMP ping | Simple check | icmpping | |
Generic SNMP: ICMP loss | Simple check | icmppingloss | |
Generic SNMP: ICMP response time | Simple check | icmppingsec |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Generic SNMP: Host has been restarted | Uptime is less than 10 minutes. |
(last(/Generic by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Generic by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Generic by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Generic by SNMP/system.net.uptime[sysUpTime.0])<10m) |Warning |
Manual close: Yes Depends on:
|
|
Generic SNMP: System name has changed | The name of the system has changed. Acknowledge to close the problem manually. |
last(/Generic by SNMP/system.name,#1)<>last(/Generic by SNMP/system.name,#2) and length(last(/Generic by SNMP/system.name))>0 |Info |
Manual close: Yes | |
Generic SNMP: No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/Generic by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |Warning |
Depends on:
|
|
Generic SNMP: Unavailable by ICMP ping | Last three attempts returned timeout. Please check device connectivity. |
max(/Generic by SNMP/icmpping,#3)=0 |High |
||
Generic SNMP: High ICMP ping loss | min(/Generic by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Generic by SNMP/icmppingloss,5m)<100 |Warning |
Depends on:
|
||
Generic SNMP: High ICMP ping response time | avg(/Generic by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN} |Warning |
Depends on:
|
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
Name | Description | Type | Key and additional info |
---|---|---|---|
EtherLike-MIB Discovery | Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered. |
SNMP agent | net.if.duplex.discovery Preprocessing
|
Name | Description | Type | Key and additional info |
---|---|---|---|
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 agent | net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): In half-duplex mode | Please check autonegotiation settings and cabling |
last(/EtherLike-MIB by SNMP/net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}])=2 |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
Name | Description | Default |
---|---|---|
{$MEMORY.UTIL.MAX} | 90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Memory Discovery | Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries. http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html |
SNMP agent | memory.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#SNMPVALUE}: Used memory | MIB: CISCO-MEMORY-POOL-MIB Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device. Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html |
SNMP agent | vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}] |
{#SNMPVALUE}: Free memory | MIB: CISCO-MEMORY-POOL-MIB Indicates the number of bytes from the memory pool that are currently unused on the managed device. Note that the sum of ciscoMemoryPoolUsed and ciscoMemoryPoolFree is the total amount of memory in the pool Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html |
SNMP agent | vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}] |
{#SNMPVALUE}: Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util[vm.memory.util.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#SNMPVALUE}: High memory utilization | The system is running out of free memory. |
min(/Cisco CISCO-MEMORY-POOL-MIB by SNMP/vm.memory.util[vm.memory.util.{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX} |Average |
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU Discovery | If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable, indexed with cpmCPUTotalIndex. This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router, like different CPU chips, group of CPUs, or CPUs in different modules/cards. In case of a single CPU, cpmCPUTotalTable has only one entry. |
SNMP agent | cpu.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
#{#SNMPINDEX}: CPU utilization | MIB: CISCO-PROCESS-MIB The cpmCPUTotal5minRev MIB object provides a more accurate view of the performance of the router over time than the MIB objects cpmCPUTotal1minRev and cpmCPUTotal5secRev . These MIB objects are not accurate because they look at CPU at one minute and five second intervals, respectively. These MIBs enable you to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for cpmCPUTotal5minRev is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500s, can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine. Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html |
SNMP agent | system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
#{#SNMPINDEX}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Cisco CISCO-PROCESS-MIB by SNMP/system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT} |Warning |
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
CPU Discovery | If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable, indexed with cpmCPUTotalIndex. This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router, like different CPU chips, group of CPUs, or CPUs in different modules/cards. In case of a single CPU, cpmCPUTotalTable has only one entry. |
SNMP agent | cpu.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#SNMPVALUE}: CPU utilization | MIB: CISCO-PROCESS-MIB The overall CPU busy percentage in the last 5 minute period. This object deprecates the avgBusy5 object from the OLD-CISCO-SYSTEM-MIB. This object is deprecated by cpmCPUTotal5minRev which has the changed range of value (0..100). Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html |
SNMP agent | system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#SNMPVALUE}: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT} |Warning |
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Cisco OLD-CISCO-CPU-MIB: CPU utilization | MIB: OLD-CISCO-CPU-MIB 5 minute exponentially-decayed moving average of the CPU busy percentage. Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html |
SNMP agent | system.cpu.util[avgBusy5] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Cisco OLD-CISCO-CPU-MIB: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Cisco OLD-CISCO-CPU-MIB by SNMP/system.cpu.util[avgBusy5],5m)>{$CPU.UTIL.CRIT} |Warning |
Name | Description | Type | Key and additional info |
---|---|---|---|
Cisco Inventory: Hardware model name | MIB: ENTITY-MIB |
SNMP agent | system.hw.model Preprocessing
|
Cisco Inventory: Hardware serial number | MIB: ENTITY-MIB |
SNMP agent | system.hw.serialnumber Preprocessing
|
Cisco Inventory: Operating system | MIB: SNMPv2-MIB |
SNMP agent | system.sw.os[sysDescr.0] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Cisco Inventory: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/Cisco Inventory by SNMP/system.hw.serialnumber,#1)<>last(/Cisco Inventory by SNMP/system.hw.serialnumber,#2) and length(last(/Cisco Inventory by SNMP/system.hw.serialnumber))>0 |Info |
Manual close: Yes | |
Cisco Inventory: Operating system description has changed | The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually. |
last(/Cisco Inventory by SNMP/system.sw.os[sysDescr.0],#1)<>last(/Cisco Inventory by SNMP/system.sw.os[sysDescr.0],#2) and length(last(/Cisco Inventory by SNMP/system.sw.os[sysDescr.0]))>0 |Info |
Manual close: Yes |
Name | Description | Type | Key and additional info |
---|---|---|---|
Entity Serial Numbers Discovery | SNMP agent | entity_sn.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#ENT_NAME}: Hardware serial number | MIB: ENTITY-MIB |
SNMP agent | system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}] Preprocessing
|
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#ENT_NAME}: Device has been replaced | Device serial number has changed. Acknowledge to close the problem manually. |
last(/Cisco Inventory by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#1)<>last(/Cisco Inventory by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#2) and length(last(/Cisco Inventory by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]))>0 |Info |
Manual close: Yes |
Name | Description | Default |
---|---|---|
{$TEMP_CRIT} | 60 |
|
{$TEMPCRITLOW} | 5 |
|
{$TEMP_WARN} | 50 |
|
{$TEMP_CRIT:"CPU"} | 75 |
|
{$TEMP_WARN:"CPU"} | 70 |
|
{$TEMPWARNSTATUS} | 2 |
|
{$TEMPCRITSTATUS} | 3 |
|
{$TEMPDISASTERSTATUS} | 4 |
|
{$PSUCRITSTATUS:"critical"} | 3 |
|
{$PSUCRITSTATUS:"shutdown"} | 4 |
|
{$PSUWARNSTATUS:"warning"} | 2 |
|
{$PSUWARNSTATUS:"notFunctioning"} | 6 |
|
{$FANCRITSTATUS:"critical"} | 3 |
|
{$FANCRITSTATUS:"shutdown"} | 4 |
|
{$FANWARNSTATUS:"warning"} | 2 |
|
{$FANWARNSTATUS:"notFunctioning"} | 6 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Temperature Discovery | Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor. |
SNMP agent | temperature.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#SNMPVALUE}: Temperature | MIB: CISCO-ENVMON-MIB The current measurement of the test point being instrumented. |
SNMP agent | sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}] |
{#SNMPVALUE}: Temperature status | MIB: CISCO-ENVMON-MIB The current state of the test point being instrumented. |
SNMP agent | sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#SNMPVALUE}: Temperature is above warning threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"} or last(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS} |Warning |
Depends on:
|
|
{#SNMPVALUE}: Temperature is above critical threshold | This trigger uses temperature sensor values as well as temperature sensor status if available |
avg(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"} or last(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS} or last(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS} |High |
||
{#SNMPVALUE}: Temperature is too low | avg(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"} |Average |
Name | Description | Type | Key and additional info |
---|---|---|---|
PSU Discovery | The table of power supply status maintained by the environmental monitor card. |
SNMP agent | psu.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#SENSOR_INFO}: Power supply status | MIB: CISCO-ENVMON-MIB |
SNMP agent | sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#SENSOR_INFO}: Power supply is in critical state | Please check the power supply unit for errors |
count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1 |Average |
||
{#SENSOR_INFO}: Power supply is in warning state | Please check the power supply unit for errors |
count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"warning\"}")=1 or count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"notFunctioning\"}")=1 |Warning |
Depends on:
|
Name | Description | Type | Key and additional info |
---|---|---|---|
FAN Discovery | The table of fan status maintained by the environmental monitor. |
SNMP agent | fan.discovery |
Name | Description | Type | Key and additional info |
---|---|---|---|
{#SENSOR_INFO}: Fan status | MIB: CISCO-ENVMON-MIB |
SNMP agent | sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#SENSOR_INFO}: Fan is in critical state | Please check the fan unit |
count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"shutdown\"}")=1 |Average |
||
{#SENSOR_INFO}: Fan is in warning state | Please check the fan unit |
count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"warning\"}")=1 or count(/Cisco CISCO-ENVMON-MIB by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"notFunctioning\"}")=1 |Warning |
Depends on:
|
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
Name | Description | Default |
---|---|---|
{$CPU.UTIL.CRIT} | 90 |
|
{$MEMORY.UTIL.MAX} | 90 |
Name | Description | Type | Key and additional info |
---|---|---|---|
Brocade Foundry Performance: CPU utilization | MIB: FOUNDRY-SN-AGENT-MIB The statistics collection of 1 minute CPU utilization. |
SNMP agent | system.cpu.util[snAgGblCpuUtil1MinAvg.0] |
Brocade Foundry Performance: Memory utilization | MIB: FOUNDRY-SN-AGENT-MIB The system dynamic memory utilization, in unit of percentage. Deprecated: Refer to snAgSystemDRAMUtil. For NI platforms, refer to snAgentBrdMemoryUtil100thPercent. |
SNMP agent | vm.memory.util[snAgGblDynMemUtil.0] |
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Brocade Foundry Performance: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Brocade_Foundry Performance by SNMP/system.cpu.util[snAgGblCpuUtil1MinAvg.0],5m)>{$CPU.UTIL.CRIT} |Warning |
||
Brocade Foundry Performance: High memory utilization | The system is running out of free memory. |
min(/Brocade_Foundry Performance by SNMP/vm.memory.util[snAgGblDynMemUtil.0],5m)>{$MEMORY.UTIL.MAX} |Average |
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