Source:
Windows by Áú»¢¶Ä²© agent
Overview
This is an official Windows template. It requires Áú»¢¶Ä²© agent 7.2 or newer.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
- Windows 7 and newer.
- Windows Server 2008 R2 and newer.
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Macros used
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Áú»¢¶Ä²© server/proxy (passive mode). |
3m |
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$MEM.PAGE_TABLE_CRIT.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 |
{$VFS.FS.FSNAME.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^(?:/dev|/sys|/run|/proc|.+/shm$) |
{$VFS.FS.FSTYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSDRIVETYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$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 |
{$VFS.DEV.DEVNAME.MATCHES} | Used in physical disk discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.DEV.DEVNAME.NOT_MATCHES} | Used in physical disk 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 fires. |
0.02 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger fires. |
0.02 |
{$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 |
{$IFCONTROL} | Macro for the interface operational state for the "link down" trigger. Can be used with interface name as context. |
1 |
{$NET.IF.IFNAME.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | 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} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$IF.UTIL.MAX} | Used as a threshold in the interface utilization trigger. |
90 |
{$IF.ERRORS.WARN} | Warning threshold of error packet rate. Can be used with interface name as context. |
2 |
{$SERVICE.NAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
{$SERVICE.NAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
Macro too long. Please see the template. |
{$SERVICE.STARTUPNAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:automatic|automatic delayed)$ |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:manual|disabled)$ |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Version of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.version Preprocessing
|
|
Host name of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.hostname Preprocessing
|
|
Áú»¢¶Ä²© agent ping | The agent always returns "1" for this item. May be used in combination with |
Áú»¢¶Ä²© agent | agent.ping |
Áú»¢¶Ä²© agent availability | Used for monitoring the availability status of the agent. |
Áú»¢¶Ä²© internal | zabbix[host,agent,available] |
CPU utilization | CPU utilization expressed in %. |
Áú»¢¶Ä²© agent | system.cpu.util |
CPU interrupt time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% Interrupt Time"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Context Switches/sec"] |
CPU privileged time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% Privileged Time"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% DPC Time"] |
CPU user time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% User Time"] |
Number of cores | The number of logical processors available on the computer. |
Áú»¢¶Ä²© agent | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Processor Queue Length"] |
Used memory | Used memory in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[used] |
Total memory | Total memory expressed in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[total] |
Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Cache Bytes"] |
Free swap space | The free space of the swap volume/file expressed in bytes. |
Calculated | system.swap.free |
Free swap space in % | The free space of the swap volume/file expressed in %. |
Dependent item | system.swap.pfree Preprocessing
|
Used swap space in % | The used space of swap volume/file in percent. |
Áú»¢¶Ä²© agent | perf_counter_en["\Paging file(_Total)% Usage"] |
Total swap space | The total space of the swap volume/file expressed in bytes. |
Áú»¢¶Ä²© agent | system.swap.size[,total] |
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 be a memory leak or you running out of memory. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Free System Page Table Entries"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Page Faults/sec"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pages/sec"] |
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). Consequently, Event ID 2019 is recorded in the system event log. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Get filesystems | The |
Áú»¢¶Ä²© agent | vfs.fs.get |
Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Áú»¢¶Ä²© agent | system.uptime |
System local time | The local system time of the host. |
Áú»¢¶Ä²© agent | system.localtime |
System name | The host name of the system. |
Áú»¢¶Ä²© agent | system.hostname Preprocessing
|
System description | System description of the host. |
Áú»¢¶Ä²© agent | system.uname Preprocessing
|
Number of processes | The number of processes. |
Áú»¢¶Ä²© agent | proc.num[] |
Number of threads | The number of threads used by all running processes. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Threads"] |
Operating system architecture | The architecture of the operating system. |
Áú»¢¶Ä²© agent | system.sw.arch Preprocessing
|
Operating system | Áú»¢¶Ä²© agent | system.sw.os Preprocessing
|
|
Windows: Network interfaces WMI get | Raw data of |
Áú»¢¶Ä²© agent | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Áú»¢¶Ä²© agent is not available | For passive agents only, host availability is used with |
max(/Windows by Áú»¢¶Ä²© agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
Average | Manual close: Yes |
Windows: High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
Warning | Depends on:
|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Áú»¢¶Ä²© agent/system.swap.size[,total])>0 |
Warning | Depends on:
|
Windows: Number of free system page table entries is too low |
|
max(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
Warning | Depends on:
|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Áú»¢¶Ä²© agent/system.uptime)<10m |
Warning | Manual close: Yes |
Windows: System time is out of sync | The host's system time is different from Áú»¢¶Ä²© server time. |
fuzzytime(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.hostname) and length(last(/Windows by Áú»¢¶Ä²© agent/system.hostname))>0 |
Info | Manual close: Yes |
Windows: 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(/Windows by Áú»¢¶Ä²© agent/system.sw.os) and length(last(/Windows by Áú»¢¶Ä²© agent/system.sw.os))>0 |
Info | Manual close: Yes Depends on:
|
LLD rule Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of filesystems of different types. |
Dependent item | vfs.fs.dependent.discovery Preprocessing
|
Item prototypes for Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
FS [{#FSLABEL}({#FSNAME})]: Get data | Intermediate data of |
Dependent item | vfs.fs.dependent[{#FSNAME},data] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used | Used storage expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},used] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Total | Total space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},total] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used, in % | Calculated as the percentage of currently used space compared to the maximum available space. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},pused] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Available | Available storage space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},free] Preprocessing
|
Trigger prototypes for Mounted filesystem discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"} |
Average | Manual close: Yes |
Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"} |
Warning | Manual close: Yes Depends on:
|
LLD rule Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Áú»¢¶Ä²© agent | perf_instance_en.discovery[PhysicalDisk] Preprocessing
|
Item prototypes for Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Trigger prototypes for Physical disks discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: {#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} |
Warning | Manual close: Yes Depends on:
|
Windows: {#DEVNAME}: Disk read request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
Windows: {#DEVNAME}: Disk write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
LLD rule Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Item prototypes for Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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
|
Trigger prototypes for Network interfaces discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 |
Warning | Manual close: Yes Depends on:
|
Windows: Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes Depends on:
|
Windows: 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 by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 |
Info | Manual close: Yes Depends on:
|
Windows: Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) |
Average | Manual close: Yes |
LLD rule Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Used for the discovery of Windows services of different types as defined in the template's macros. |
Áú»¢¶Ä²© agent | service.discovery |
Item prototypes for Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Áú»¢¶Ä²© agent | service.info["{#SERVICE.NAME}",state] |
Trigger prototypes for Windows services discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
Average |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source:
Windows by Áú»¢¶Ä²© agent
Overview
This is an official Windows template. It requires Áú»¢¶Ä²© agent 7.0 or newer.
Requirements
Áú»¢¶Ä²© version: 7.0 and higher.
Tested versions
This template has been tested on:
- Windows 7 and newer.
- Windows Server 2008 R2 and newer.
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Macros used
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Áú»¢¶Ä²© server/proxy (passive mode). |
3m |
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$MEM.PAGE_TABLE_CRIT.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 |
{$VFS.FS.FSNAME.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^(?:/dev|/sys|/run|/proc|.+/shm$) |
{$VFS.FS.FSTYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSDRIVETYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$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 |
{$VFS.DEV.DEVNAME.MATCHES} | Used in physical disk discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.DEV.DEVNAME.NOT_MATCHES} | Used in physical disk 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 fires. |
0.02 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger fires. |
0.02 |
{$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 |
{$IFCONTROL} | Macro for the interface operational state for the "link down" trigger. Can be used with interface name as context. |
1 |
{$NET.IF.IFNAME.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | 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} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$IF.UTIL.MAX} | Used as a threshold in the interface utilization trigger. |
90 |
{$IF.ERRORS.WARN} | Warning threshold of error packet rate. Can be used with interface name as context. |
2 |
{$SERVICE.NAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
{$SERVICE.NAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
Macro too long. Please see the template. |
{$SERVICE.STARTUPNAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:automatic|automatic delayed)$ |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:manual|disabled)$ |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Version of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.version Preprocessing
|
|
Host name of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.hostname Preprocessing
|
|
Áú»¢¶Ä²© agent ping | The agent always returns "1" for this item. May be used in combination with |
Áú»¢¶Ä²© agent | agent.ping |
Áú»¢¶Ä²© agent availability | Used for monitoring the availability status of the agent. |
Áú»¢¶Ä²© internal | zabbix[host,agent,available] |
CPU utilization | CPU utilization expressed in %. |
Áú»¢¶Ä²© agent | system.cpu.util |
CPU interrupt time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% Interrupt Time"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Context Switches/sec"] |
CPU privileged time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% Privileged Time"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% DPC Time"] |
CPU user time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% User Time"] |
Number of cores | The number of logical processors available on the computer. |
Áú»¢¶Ä²© agent | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Processor Queue Length"] |
Used memory | Used memory in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[used] |
Total memory | Total memory expressed in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[total] |
Memory utilization | Memory utilization in %. |
Calculated | vm.memory.util |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Cache Bytes"] |
Free swap space | The free space of the swap volume/file expressed in bytes. |
Calculated | system.swap.free |
Free swap space in % | The free space of the swap volume/file expressed in %. |
Dependent item | system.swap.pfree Preprocessing
|
Used swap space in % | The used space of swap volume/file in percent. |
Áú»¢¶Ä²© agent | perf_counter_en["\Paging file(_Total)% Usage"] |
Total swap space | The total space of the swap volume/file expressed in bytes. |
Áú»¢¶Ä²© agent | system.swap.size[,total] |
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 be a memory leak or you running out of memory. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Free System Page Table Entries"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Page Faults/sec"] |
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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pages/sec"] |
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). Consequently, Event ID 2019 is recorded in the system event log. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Get filesystems | The |
Áú»¢¶Ä²© agent | vfs.fs.get |
Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Áú»¢¶Ä²© agent | system.uptime |
System local time | The local system time of the host. |
Áú»¢¶Ä²© agent | system.localtime |
System name | The host name of the system. |
Áú»¢¶Ä²© agent | system.hostname Preprocessing
|
System description | System description of the host. |
Áú»¢¶Ä²© agent | system.uname Preprocessing
|
Number of processes | The number of processes. |
Áú»¢¶Ä²© agent | proc.num[] |
Number of threads | The number of threads used by all running processes. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Threads"] |
Operating system architecture | The architecture of the operating system. |
Áú»¢¶Ä²© agent | system.sw.arch Preprocessing
|
Operating system | Áú»¢¶Ä²© agent | system.sw.os Preprocessing
|
|
Windows: Network interfaces WMI get | Raw data of |
Áú»¢¶Ä²© agent | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Áú»¢¶Ä²© agent is not available | For passive agents only, host availability is used with |
max(/Windows by Áú»¢¶Ä²© agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
Average | Manual close: Yes |
Windows: High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
Warning | Depends on:
|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Áú»¢¶Ä²© agent/system.swap.size[,total])>0 |
Warning | Depends on:
|
Windows: Number of free system page table entries is too low |
|
max(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
Warning | Depends on:
|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Áú»¢¶Ä²© agent/system.uptime)<10m |
Warning | Manual close: Yes |
Windows: System time is out of sync | The host's system time is different from Áú»¢¶Ä²© server time. |
fuzzytime(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.hostname) and length(last(/Windows by Áú»¢¶Ä²© agent/system.hostname))>0 |
Info | Manual close: Yes |
Windows: 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(/Windows by Áú»¢¶Ä²© agent/system.sw.os) and length(last(/Windows by Áú»¢¶Ä²© agent/system.sw.os))>0 |
Info | Manual close: Yes Depends on:
|
LLD rule Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of filesystems of different types. |
Dependent item | vfs.fs.dependent.discovery Preprocessing
|
Item prototypes for Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
FS [{#FSLABEL}({#FSNAME})]: Get data | Intermediate data of |
Dependent item | vfs.fs.dependent[{#FSNAME},data] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used | Used storage expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},used] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Total | Total space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},total] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used, in % | Calculated as the percentage of currently used space compared to the maximum available space. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},pused] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Available | Available storage space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},free] Preprocessing
|
Trigger prototypes for Mounted filesystem discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"} |
Average | Manual close: Yes |
Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"} |
Warning | Manual close: Yes Depends on:
|
LLD rule Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Áú»¢¶Ä²© agent | perf_instance_en.discovery[PhysicalDisk] Preprocessing
|
Item prototypes for Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Trigger prototypes for Physical disks discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: {#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} |
Warning | Manual close: Yes Depends on:
|
Windows: {#DEVNAME}: Disk read request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
Windows: {#DEVNAME}: Disk write request responses are too high | This trigger might indicate the disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
LLD rule Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Item prototypes for Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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
|
Trigger prototypes for Network interfaces discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The utilization of the network interface is close to its estimated maximum bandwidth. |
(avg(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 |
Warning | Manual close: Yes Depends on:
|
Windows: Interface {#IFNAME}({#IFALIAS}): High error rate | It recovers when it is below 80% of the |
min(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} |
Warning | Manual close: Yes Depends on:
|
Windows: 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 by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 |
Info | Manual close: Yes Depends on:
|
Windows: Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) |
Average | Manual close: Yes |
LLD rule Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Used for the discovery of Windows services of different types as defined in the template's macros. |
Áú»¢¶Ä²© agent | service.discovery |
Item prototypes for Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Áú»¢¶Ä²© agent | service.info["{#SERVICE.NAME}",state] |
Trigger prototypes for Windows services discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
Average |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source:
Windows by Áú»¢¶Ä²© agent
Overview
This is an official Windows template. It requires Áú»¢¶Ä²© agent 6.4 or newer.
Requirements
Áú»¢¶Ä²© version: 6.4 and higher.
Tested versions
This template has been tested on:
- Windows 7 and newer.
- Windows Server 2008 R2 and newer.
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Macros used
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Áú»¢¶Ä²© server/proxy (passive mode). |
3m |
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$MEM.PAGE_TABLE_CRIT.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 |
{$VFS.FS.FSNAME.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^(?:/dev|/sys|/run|/proc|.+/shm$) |
{$VFS.FS.FSTYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSDRIVETYPE.MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | Used in filesystem discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$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 |
{$VFS.DEV.DEVNAME.MATCHES} | Used in physical disk discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.DEV.DEVNAME.NOT_MATCHES} | Used in physical disk 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 fires. |
0.02 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger fires. |
0.02 |
{$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 |
{$IFCONTROL} | Macro for the interface operational state for the "link down" trigger. Can be used with interface name as context. |
1 |
{$NET.IF.IFNAME.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | 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} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | Used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$IF.UTIL.MAX} | Used as a threshold in the interface utilization trigger. |
90 |
{$IF.ERRORS.WARN} | Warning threshold of error packet rate. Can be used with interface name as context. |
2 |
{$SERVICE.NAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
{$SERVICE.NAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
Macro too long. Please see the template. |
{$SERVICE.STARTUPNAME.MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:automatic|automatic delayed)$ |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | Used in Service discovery. Can be overridden on the host or linked template level. |
^(?:manual|disabled)$ |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Version of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.version Preprocessing
|
|
Windows: Host name of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.hostname Preprocessing
|
|
Windows: Áú»¢¶Ä²© agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
Áú»¢¶Ä²© agent | agent.ping |
Windows: Áú»¢¶Ä²© agent availability | Monitoring the availability status of the agent. |
Áú»¢¶Ä²© internal | zabbix[host,agent,available] |
Windows: CPU utilization | CPU utilization expressed in %. |
Áú»¢¶Ä²© agent | system.cpu.util |
Windows: CPU interrupt time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Context Switches/sec"] |
Windows: CPU privileged time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% DPC Time"] |
Windows: CPU user time | The processor information |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% User Time"] |
Windows: Number of cores | The number of logical processors available on the computer. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Processor Queue Length"] |
Windows: Used memory | Used memory in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[used] |
Windows: Total memory | Total memory expressed in bytes. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Paging file(_Total)% Usage"] |
Windows: Total swap space | The total space of the swap volume/file expressed in bytes. |
Áú»¢¶Ä²© 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 be a memory leak or you running out of memory. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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). Consequently, Event ID 2019 is recorded in the system event log. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Windows: Get filesystems | The |
Áú»¢¶Ä²© agent | vfs.fs.get |
Windows: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Áú»¢¶Ä²© agent | system.uptime |
Windows: System local time | The local system time of the host. |
Áú»¢¶Ä²© agent | system.localtime |
Windows: System name | The host name of the system. |
Áú»¢¶Ä²© agent | system.hostname Preprocessing
|
Windows: System description | System description of the host. |
Áú»¢¶Ä²© agent | system.uname Preprocessing
|
Windows: Number of processes | The number of processes. |
Áú»¢¶Ä²© agent | proc.num[] |
Windows: Number of threads | The number of threads used by all running processes. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Threads"] |
Windows: Operating system architecture | The architecture of the operating system. |
Áú»¢¶Ä²© agent | system.sw.arch Preprocessing
|
Windows: Operating system | Áú»¢¶Ä²© agent | system.sw.os Preprocessing
|
|
Windows: Network interfaces WMI get | Raw data of |
Áú»¢¶Ä²© agent | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Áú»¢¶Ä²© agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Windows by Áú»¢¶Ä²© agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
Average | Manual close: Yes |
Windows: High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
Warning | Depends on:
|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Áú»¢¶Ä²© agent/system.swap.size[,total])>0 |
Warning | Depends on:
|
Windows: Number of free system page table entries is too low |
|
max(/Windows by Áú»¢¶Ä²© 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 |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
Warning | Depends on:
|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Áú»¢¶Ä²© agent/system.uptime)<10m |
Warning | Manual close: Yes |
Windows: System time is out of sync | The host's system time is different from Áú»¢¶Ä²© server time. |
fuzzytime(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.hostname) and length(last(/Windows by Áú»¢¶Ä²© agent/system.hostname))>0 |
Info | Manual close: Yes |
Windows: 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(/Windows by Áú»¢¶Ä²© agent/system.sw.os) and length(last(/Windows by Áú»¢¶Ä²© agent/system.sw.os))>0 |
Info | Manual close: Yes Depends on:
|
LLD rule Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of filesystems of different types. |
Dependent item | vfs.fs.dependent.discovery Preprocessing
|
Item prototypes for Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
FS [{#FSLABEL}({#FSNAME})]: Get data | Intermediate data of |
Dependent item | vfs.fs.dependent[{#FSNAME},data] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used | Used storage expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},used] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Total | Total space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},total] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Used, in % | Calculated as the percentage of currently used space compared to the maximum available space. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},pused] Preprocessing
|
FS [{#FSLABEL}({#FSNAME})]: Space: Available | Available storage space expressed in bytes. |
Dependent item | vfs.fs.dependent.size[{#FSNAME},free] Preprocessing
|
Trigger prototypes for Mounted filesystem discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
FS [{#FSLABEL}({#FSNAME})]: Space is critically low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"} |
Average | Manual close: Yes |
FS [{#FSLABEL}({#FSNAME})]: Space is low | The volume's space usage exceeds the |
min(/Windows by Áú»¢¶Ä²© agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"} |
Warning | Manual close: Yes Depends on:
|
LLD rule Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Áú»¢¶Ä²© agent | perf_instance_en.discovery[PhysicalDisk] Preprocessing
|
Item prototypes for Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Trigger prototypes for Physical disks discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
LLD rule Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Item prototypes for Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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
|
Trigger prototypes for Network interfaces discovery
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 by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) |
Average | Manual close: Yes |
LLD rule Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Used for the discovery of Windows services of different types as defined in the template's macros. |
Áú»¢¶Ä²© agent | service.discovery |
Item prototypes for Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Áú»¢¶Ä²© agent | service.info["{#SERVICE.NAME}",state] |
Trigger prototypes for Windows services discovery
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 by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
Average |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source:
Windows by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 6.2 and higher. New official Windows template. Requires agent of Áú»¢¶Ä²© 4.4 and newer.
This template was tested on:
- Windows, version 7 and newer.
- Windows Server, version 2008 R2 and newer.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Áú»¢¶Ä²© server/proxy (passive mode). |
3m |
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization in %. |
90 |
{$IF.ERRORS.WARN} | - |
2 |
{$IF.UTIL.MAX} | - |
90 |
{$IFCONTROL} | - |
1 |
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
{$MEM.PAGE_TABLE_CRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
{$NET.IF.IFALIAS.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFNAME.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
`Miniport |
{$SERVICE.NAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
^.*$ |
{$SERVICE.NAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:RemoteRegistry |
{$SERVICE.STARTUPNAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:automatic |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:manual |
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
{$SYSTEM.FUZZYTIME.MAX} | The threshold for difference of system time in seconds. |
60 |
{$VFS.DEV.DEVNAME.MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.DEV.DEVNAME.NOT_MATCHES} | This macro is used in physical disks discovery. Can be overridden on the host or linked template level. |
_Total |
{$VFS.DEV.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.DEV.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
{$VFS.FS.FSDRIVETYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(?:/dev |
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization in percent. |
90 |
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization in percent. |
80 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHES_REGEX - {#FSTYPE} NOT_MATCHES_REGEX - {#FSNAME} MATCHES_REGEX - {#FSNAME} NOT_MATCHES_REGEX - {#FSDRIVETYPE} MATCHES_REGEX - {#FSDRIVETYPE} NOT_MATCHES_REGEX |
Network interfaces discovery | Discovery of installed network interfaces. |
DEPENDENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#IFNAME} MATCHES_REGEX - {#IFNAME} NOT_MATCHES_REGEX - {#IFDESCR} MATCHES_REGEX - {#IFDESCR} NOT_MATCHES_REGEX - {#IFALIAS} MATCHES_REGEX - {#IFALIAS} NOT_MATCHES_REGEX |
Physical disks discovery | Discovery of installed physical disks. |
ZABBIX_PASSIVE | perf_instance_en.discovery[PhysicalDisk] Preprocessing: - STR_REPLACE: Filter: AND- {#DEVNAME} MATCHES_REGEX - {#DEVNAME} NOT_MATCHES_REGEX |
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
ZABBIX_PASSIVE | service.discovery Filter: AND- {#SERVICE.NAME} MATCHES_REGEX - {#SERVICE.NAME} NOT_MATCHES_REGEX - {#SERVICE.STARTUPNAME} MATCHES_REGEX - {#SERVICE.STARTUPNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | CPU utilization in %. |
ZABBIX_PASSIVE | system.cpu.util |
CPU | CPU interrupt time | The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Interrupt Time"] |
CPU | Context switches per second | Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another. Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service. It is the sum of Thread\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches. There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval. |
ZABBIX_PASSIVE | perf_counter_en["\System\Context Switches/sec"] |
CPU | CPU privileged time | The Processor Information% Privileged Time counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows? Operating System. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Privileged Time"] |
CPU | CPU DPC time | Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% DPC Time"] |
CPU | CPU user time | The Processor Information% User Time counter shows the percent of time that the processor(s) is spent executing in User mode. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% User Time"] |
CPU | Number of cores | The number of logical processors available on the computer. |
ZABBIX_PASSIVE | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
CPU | CPU queue length | The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed. |
ZABBIX_PASSIVE | perf_counter_en["\System\Processor Queue Length"] |
Filesystems | {#FSLABEL}({#FSNAME}): Used space | Used storage in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSLABEL}({#FSNAME}): Total space | Total space in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
General | System local time | System local time of the host. |
ZABBIX_PASSIVE | system.localtime |
General | System name | System host name. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | System description of the host. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Number of processes | The number of processes. |
ZABBIX_PASSIVE | proc.num[] |
General | Number of threads | The number of threads used by all running processes. |
ZABBIX_PASSIVE | perf_counter_en["\System\Threads"] |
Inventory | Operating system architecture | Operating system architecture of the host. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Memory | Used memory | Used memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[used] |
Memory | Total memory | Total memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Memory utilization | Memory utilization in %. |
CALCULATED | vm.memory.util Expression: last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100 |
Memory | Cache bytes | Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Cache Bytes"] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
CALCULATED | system.swap.free Expression: last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"]) |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
DEPENDENT | system.swap.pfree Preprocessing: - JAVASCRIPT: |
Memory | Used swap space in % | The used space of swap volume/file in percent. |
ZABBIX_PASSIVE | perf_counter_en["\Paging file(_Total)% Usage"] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free system page table entries | This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak or you running out of memory. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Free System Page Table Entries"] |
Memory | Memory page faults per second | Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Page Faults/sec"] |
Memory | Memory pages per second | This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pages/sec"] |
Memory | Memory pool non-paged | This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Monitoring agent | Version of Áú»¢¶Ä²© agent running | - |
ZABBIX_PASSIVE | agent.version Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Monitoring agent | Host name of Áú»¢¶Ä²© agent running | - |
ZABBIX_PASSIVE | agent.hostname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Monitoring agent | Áú»¢¶Ä²© agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
ZABBIX_PASSIVE | agent.ping |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
DEPENDENT | net.if.speed["{#IFGUID}"] Preprocessing: - JSONPATH: ??ON_FAIL: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
DEPENDENT | net.if.type["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
DEPENDENT | net.if.status["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Services | State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | - |
ZABBIX_PASSIVE | service.info["{#SERVICE.NAME}",state] |
Status | Uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_PASSIVE | system.uptime |
Status | Áú»¢¶Ä²© agent availability | Monitoring agent availability status |
INTERNAL | zabbix[host,agent,available] |
Storage | {#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
Storage | {#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
Storage | {#DEVNAME}: Disk utilization by idle time | This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})% Idle Time",60] Preprocessing: - JAVASCRIPT: |
Storage | {#DEVNAME}: Disk read request avg waiting time | The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
Storage | {#DEVNAME}: Disk write request avg waiting time | The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
Storage | {#DEVNAME}: Average disk read queue length | Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
Storage | {#DEVNAME}: Average disk write queue length | Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Áú»¢¶Ä²© raw items | Network interfaces WMI get | Raw data of win32_networkadapter. |
ZABBIX_PASSIVE | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization | CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Áú»¢¶Ä²© agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | |
CPU interrupt time is too high | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
CPU privileged time is too high | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |
WARNING | Depends on: - CPU interrupt time is too high - High CPU utilization |
CPU queue length is too high | The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro {$CPU.QUEUE.CRIT.MAX }. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization |
{#FSLABEL}({#FSNAME}): Disk space is critically low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},total])-last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSLABEL}({#FSNAME}): Disk space is low | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},total])-last(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Windows by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSLABEL}({#FSNAME}): Disk space is critically low |
System time is out of sync | The host system time is different from the Áú»¢¶Ä²© server time. |
fuzzytime(/Windows by Áú»¢¶Ä²© agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed | System name has changed. Ack to close. |
last(/Windows by Áú»¢¶Ä²© agent/system.hostname,#1)<>last(/Windows by Áú»¢¶Ä²© agent/system.hostname,#2) and length(last(/Windows by Áú»¢¶Ä²© agent/system.hostname))>0 |
INFO | Manual close: YES |
High memory utilization | The system is running out of free memory. |
min(/Windows by Áú»¢¶Ä²© agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | |
High swap space usage | This trigger is ignored, if there is no swap configured |
max(/Windows by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Áú»¢¶Ä²© agent/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization |
Number of free system page table entries is too low | The Memory Free System Page Table Entries is less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
max(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |
WARNING | Depends on: - High memory utilization |
The Memory Pages/sec is too high | The Memory Pages/sec in the last 5 minutes exceeds {$MEM.PAGE_SEC.CRIT.MAX}. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
WARNING | Depends on: - High memory utilization |
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage | The network interface utilization is close to its estimated maximum bandwidth. |
(avg(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 Recovery expression: avg(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) and avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Windows by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
change(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status is different from Connected(2). WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) Recovery expression: last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running | The service has a state other than "Running" for the last three times. |
min(/Windows by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
AVERAGE | |
Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Áú»¢¶Ä²© agent/system.uptime)<10m |
WARNING | Manual close: YES |
Áú»¢¶Ä²© agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Windows by Áú»¢¶Ä²© agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
AVERAGE | Manual close: YES |
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} |
WARNING | Manual close: YES Depends on: - {#DEVNAME}: Disk read request responses are too high - {#DEVNAME}: Disk write request responses are too high |
{#DEVNAME}: Disk read request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
{#DEVNAME}: Disk write request responses are too high | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at .
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
Source:
Windows by Áú»¢¶Ä²© agent
Overview
New official Windows template. Requires agent of Áú»¢¶Ä²© 6.0 and newer.
Requirements
Áú»¢¶Ä²© version: 6.0 and higher.
Tested versions
This template has been tested on:
- Windows 7 and newer.
- Windows Server 2008 R2 and newer.
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Macros used
Name | Description | Default |
---|---|---|
{$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. Works only for agents reachable from Áú»¢¶Ä²© server/proxy (passive mode). |
3m |
{$CPU.INTERRUPT.CRIT.MAX} | The critical threshold of the % Interrupt Time counter. |
50 |
{$CPU.PRIV.CRIT.MAX} | The threshold of the % Privileged Time counter. |
30 |
{$CPU.QUEUE.CRIT.MAX} | The threshold of the Processor Queue Length counter. |
3 |
{$CPU.UTIL.CRIT} | The critical threshold of the CPU utilization expressed in %. |
90 |
{$MEM.PAGE_TABLE_CRIT.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 |
{$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 |
{$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 |
{$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 |
{$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 |
|
{$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)$ |
Items
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows: Version of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.version Preprocessing
|
|
Windows: Host name of Áú»¢¶Ä²© agent running | Áú»¢¶Ä²© agent | agent.hostname Preprocessing
|
|
Windows: Áú»¢¶Ä²© agent ping | The agent always returns 1 for this item. It could be used in combination with nodata() for availability check. |
Áú»¢¶Ä²© agent | agent.ping |
Windows: Áú»¢¶Ä²© agent availability | Monitoring the availability status of the agent. |
Áú»¢¶Ä²© internal | zabbix[host,agent,available] |
Windows: CPU utilization | The CPU utilization expressed in %. |
Áú»¢¶Ä²© 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%. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Processor Information(_total)% User Time"] |
Windows: Number of cores | The number of logical processors available on the computer. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Processor Queue Length"] |
Windows: Used memory | Used memory in bytes. |
Áú»¢¶Ä²© agent | vm.memory.size[used] |
Windows: Total memory | The total memory expressed in bytes. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Paging file(_Total)% Usage"] |
Windows: Total swap space | The total space of the swap volume/file expressed in bytes. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Windows: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Áú»¢¶Ä²© agent | system.uptime |
Windows: System local time | The local system time of the host. |
Áú»¢¶Ä²© agent | system.localtime |
Windows: System name | The host name of the system. |
Áú»¢¶Ä²© agent | system.hostname Preprocessing
|
Windows: System description | System description of the host. |
Áú»¢¶Ä²© agent | system.uname Preprocessing
|
Windows: Number of processes | The number of processes. |
Áú»¢¶Ä²© agent | proc.num[] |
Windows: Number of threads | The number of threads used by all running processes. |
Áú»¢¶Ä²© agent | perf_counter_en["\System\Threads"] |
Windows: Operating system architecture | The architecture of the operating system. |
Áú»¢¶Ä²© agent | system.sw.arch Preprocessing
|
Windows: Network interfaces WMI get | Raw data of win32_networkadapter. |
Áú»¢¶Ä²© agent | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing
|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Windows: Áú»¢¶Ä²© agent is not available | For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold. |
max(/Windows by Áú»¢¶Ä²© agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0 |
Average | Manual close: Yes |
Windows: High CPU utilization | The CPU utilization is too high. The system might be slow to respond. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
Warning | Depends on:
|
Windows: High memory utilization | The system is running out of free memory. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Áú»¢¶Ä²© 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.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
max(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
Warning | Depends on:
|
Windows: Host has been restarted | The device uptime is less than 10 minutes. |
last(/Windows by Áú»¢¶Ä²© agent/system.uptime)<10m |
Warning | Manual close: Yes |
Windows: System time is out of sync | The host's system time is different from Áú»¢¶Ä²© server time. |
fuzzytime(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/system.hostname) and length(last(/Windows by Áú»¢¶Ä²© agent/system.hostname))>0 |
Info | Manual close: Yes |
LLD rule Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
Áú»¢¶Ä²© agent | vfs.fs.discovery |
Item prototypes for Mounted filesystem discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#FSLABEL}({#FSNAME}): Used space | Used storage in bytes |
Áú»¢¶Ä²© agent | vfs.fs.size[{#FSNAME},used] |
{#FSLABEL}({#FSNAME}): Total space | Total space in bytes |
Áú»¢¶Ä²© agent | vfs.fs.size[{#FSNAME},total] |
{#FSLABEL}({#FSNAME}): Space utilization | Space utilization in % for {#FSNAME} |
Áú»¢¶Ä²© agent | vfs.fs.size[{#FSNAME},pused] |
Trigger prototypes for Mounted filesystem discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSLABEL}({#FSNAME}): Disk space is critically low | The volume's space usage exceeds the |
last(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} |
Warning | Manual close: Yes Depends on:
|
LLD rule Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
Áú»¢¶Ä²© agent | perf_instance_en.discovery[PhysicalDisk] Preprocessing
|
Item prototypes for Physical disks discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
{#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
{#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\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. |
Áú»¢¶Ä²© agent | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Trigger prototypes for Physical disks discovery
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded | The disk appears to be under heavy load. |
min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
Warning | Manual close: Yes |
LLD rule Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
Dependent item | net.if.discovery Preprocessing
|
Item prototypes for Network interfaces discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
Áú»¢¶Ä²© agent | net.if.out["{#IFGUID}"] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
Áú»¢¶Ä²© agent | net.if.in["{#IFGUID}",dropped] Preprocessing
|
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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. |
Áú»¢¶Ä²© 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
|
Trigger prototypes for Network interfaces discovery
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 by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Áú»¢¶Ä²© 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 by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) |
Average | Manual close: Yes |
LLD rule Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
Áú»¢¶Ä²© agent | service.discovery |
Item prototypes for Windows services discovery
Name | Description | Type | Key and additional info |
---|---|---|---|
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | Áú»¢¶Ä²© agent | service.info["{#SERVICE.NAME}",state] |
Trigger prototypes for Windows services discovery
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 by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
Average |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source:
Windows CPU by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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 in %. |
90 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | CPU utilization in % |
ZABBIX_PASSIVE | system.cpu.util |
CPU | CPU interrupt time | The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Interrupt Time"] |
CPU | Context switches per second | Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another. Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service. It is the sum of Thread\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches. There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval. |
ZABBIX_PASSIVE | perf_counter_en["\System\Context Switches/sec"] |
CPU | CPU privileged time | The Processor Information% Privileged Time counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows? Operating System. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Privileged Time"] |
CPU | CPU DPC time | Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% DPC Time"] |
CPU | CPU user time | The Processor Information% User Time counter shows the percent of time that the processor(s) is spent executing in User mode. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% User Time"] |
CPU | Number of cores | The number of logical processors available on the computer. |
ZABBIX_PASSIVE | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
CPU | CPU queue length | The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed. |
ZABBIX_PASSIVE | perf_counter_en["\System\Processor Queue Length"] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
min(/Windows CPU by Áú»¢¶Ä²© agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} |
WARNING | |
CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m) | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
min(/Windows CPU by Áú»¢¶Ä²© agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m) | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
min(/Windows CPU by Áú»¢¶Ä²© agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} |
WARNING | Depends on: - CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m) - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX} for 5m) | 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 Áú»¢¶Ä²© agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows CPU by Áú»¢¶Ä²© agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
Feedback
Please report any issues with the template at
Windows memory by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
{$MEM.PAGE_TABLE_CRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Memory | Used memory | Used memory in Bytes |
ZABBIX_PASSIVE | vm.memory.size[used] |
Memory | Total memory | Total memory in Bytes |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Memory utilization | Memory utilization in % |
CALCULATED | vm.memory.util Expression: last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100 |
Memory | Cache bytes | Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Cache Bytes"] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
CALCULATED | system.swap.free Expression: last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"]) |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
DEPENDENT | system.swap.pfree Preprocessing: - JAVASCRIPT: |
Memory | Used swap space in % | The used space of swap volume/file in percent. |
ZABBIX_PASSIVE | perf_counter_en["\Paging file(_Total)% Usage"] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free system page table entries | This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak or you running out of memory. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Free System Page Table Entries"] |
Memory | Memory page faults per second | Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Page Faults/sec"] |
Memory | Memory pages per second | This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pages/sec"] |
Memory | Memory pool non-paged | This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) | The system is running out of free memory. |
min(/Windows memory by Áú»¢¶Ä²© agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} |
AVERAGE | |
High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free) | This trigger is ignored, if there is no swap configured |
min(/Windows memory by Áú»¢¶Ä²© agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows memory by Áú»¢¶Ä²© agent/system.swap.size[,total])>0 |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m) | The Memory Free System Page Table Entries is less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
max(/Windows memory by Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m) | 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 Áú»¢¶Ä²© agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
Feedback
Please report any issues with the template at
Windows filesystems by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$VFS.FS.FSDRIVETYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(?:/dev |
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization in percent. |
90 |
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization in percent. |
80 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- {#FSTYPE} MATCHES_REGEX - {#FSTYPE} NOT_MATCHES_REGEX - {#FSNAME} MATCHES_REGEX - {#FSNAME} NOT_MATCHES_REGEX - {#FSDRIVETYPE} MATCHES_REGEX - {#FSDRIVETYPE} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Filesystems | {#FSNAME}: Used space | Used storage in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSNAME}: Total space | Total space in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSNAME}: Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than 5G. - The disk will be full in less than 24 hours. |
last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},total])-last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},used]))<5G or timeleft(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%) | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than 10G. - The disk will be full in less than 24 hours. |
last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},total])-last(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},used]))<10G or timeleft(/Windows filesystems by Áú»¢¶Ä²© agent/vfs.fs.size[{#FSNAME},pused],1h,100)<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) |
Feedback
Please report any issues with the template at
Windows physical disks by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.DEV.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
ZABBIX_PASSIVE | perf_instance_en.discovery[PhysicalDisk] Preprocessing: - STR_REPLACE: Filter: AND- {#DEVNAME} MATCHES_REGEX - {#DEVNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Storage | {#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
Storage | {#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
Storage | {#DEVNAME}: Disk utilization by idle time | This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})% Idle Time",60] Preprocessing: - JAVASCRIPT: |
Storage | {#DEVNAME}: Disk read request avg waiting time | The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
Storage | {#DEVNAME}: Disk write request avg waiting time | The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
Storage | {#DEVNAME}: Average disk read queue length | Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
Storage | {#DEVNAME}: Average disk write queue length | Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded (util > {$VFS.DEV.UTIL.MAX.WARN}% for 15m) | The disk appears to be under heavy load |
min(/Windows physical disks by Áú»¢¶Ä²© 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 (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m - {#DEVNAME}: Disk write request responses are too high (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m) |
{#DEVNAME}: Disk read request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows physical disks by Áú»¢¶Ä²© 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 (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m) | This trigger might indicate disk {#DEVNAME} saturation. |
min(/Windows physical disks by Áú»¢¶Ä²© agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at
Windows generic by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$SYSTEM.FUZZYTIME.MAX} | The threshold for difference of system time in seconds. |
60 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
General | System local time | System local time of the host. |
ZABBIX_PASSIVE | system.localtime |
General | System name | System host name. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | System description of the host. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Number of processes | The number of processes. |
ZABBIX_PASSIVE | proc.num[] |
General | Number of threads | The number of threads used by all running processes. |
ZABBIX_PASSIVE | perf_counter_en["\System\Threads"] |
Inventory | Operating system architecture | Operating system architecture of the host. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Status | Uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_PASSIVE | system.uptime |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
System time is out of sync (diff with Áú»¢¶Ä²© server > {$SYSTEM.FUZZYTIME.MAX}s) | The host system time is different from the Áú»¢¶Ä²© server time. |
fuzzytime(/Windows generic by Áú»¢¶Ä²© agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 |
WARNING | Manual close: YES |
System name has changed (new name: {ITEM.VALUE}) | System name has changed. Ack to close. |
last(/Windows generic by Áú»¢¶Ä²© agent/system.hostname,#1)<>last(/Windows generic by Áú»¢¶Ä²© agent/system.hostname,#2) and length(last(/Windows generic by Áú»¢¶Ä²© agent/system.hostname))>0 |
INFO | Manual close: YES |
Host has been restarted (uptime < 10m) | The device uptime is less than 10 minutes. |
last(/Windows generic by Áú»¢¶Ä²© agent/system.uptime)<10m |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at
Windows network by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | - |
2 |
{$IF.UTIL.MAX} | - |
90 |
{$IFCONTROL} | - |
1 |
{$NET.IF.IFALIAS.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFNAME.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
`Miniport |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
DEPENDENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- {#IFNAME} MATCHES_REGEX - {#IFNAME} NOT_MATCHES_REGEX - {#IFDESCR} MATCHES_REGEX - {#IFDESCR} NOT_MATCHES_REGEX - {#IFALIAS} MATCHES_REGEX - {#IFALIAS} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
DEPENDENT | net.if.speed["{#IFGUID}"] Preprocessing: - JSONPATH: ??ON_FAIL: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
DEPENDENT | net.if.type["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
DEPENDENT | net.if.status["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Áú»¢¶Ä²©_raw_items | Network interfaces WMI get | Raw data of win32_networkadapter. |
ZABBIX_PASSIVE | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%) | The network interface utilization is close to its estimated maximum bandwidth. |
(avg(/Windows network by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) or avg(/Windows network by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])) and last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 Recovery expression: avg(/Windows network by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) and avg(/Windows network by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"]) |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
min(/Windows network by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows network by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: max(/Windows network by Áú»¢¶Ä²© agent/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and max(/Windows network by Áú»¢¶Ä²© agent/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
change(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows network by Áú»¢¶Ä²© agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows network by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status is different from Connected(2). WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows network by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows network by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows network by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"],#2)) Recovery expression: last(/Windows network by Áú»¢¶Ä²© agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Feedback
Please report any issues with the template at
Windows services by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
Special version of services template that is required for Windows OS.
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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. |
`^(?:RemoteRegistry |
{$SERVICE.STARTUPNAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:automatic |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:manual |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
ZABBIX_PASSIVE | service.discovery Filter: AND- {#SERVICE.NAME} MATCHES_REGEX - {#SERVICE.NAME} NOT_MATCHES_REGEX - {#SERVICE.STARTUPNAME} MATCHES_REGEX - {#SERVICE.STARTUPNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Services | State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | - |
ZABBIX_PASSIVE | service.info["{#SERVICE.NAME}",state] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running (startup type {#SERVICE.STARTUPNAME}) | The service has a state other than "Running" for the last three times. |
min(/Windows services by Áú»¢¶Ä²© agent/service.info["{#SERVICE.NAME}",state],#3)<>0 |
AVERAGE |
Feedback
Please report any issues with the template at
Windows by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
New official Windows template. Requires agent of Áú»¢¶Ä²© 4.4 and newer.
This template was tested on:
- Windows, version 7 and newer.
- Windows Server, version 2008 R2 and newer.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Template links
Name |
---|
Windows CPU by Áú»¢¶Ä²© agent |
Windows filesystems by Áú»¢¶Ä²© agent |
Windows generic by Áú»¢¶Ä²© agent |
Windows memory by Áú»¢¶Ä²© agent |
Windows network by Áú»¢¶Ä²© agent |
Windows physical disks by Áú»¢¶Ä²© agent |
Windows services by Áú»¢¶Ä²© agent |
Áú»¢¶Ä²© agent |
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|
Feedback
Please report any issues with the template at
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Source:
Template Module Windows CPU by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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 in %. |
90 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
CPU | CPU utilization | CPU utilization in %. |
ZABBIX_PASSIVE | system.cpu.util |
CPU | CPU interrupt time | The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Interrupt Time"] |
CPU | Context switches per second | Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another. Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service. It is the sum of Thread\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches. There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval. |
ZABBIX_PASSIVE | perf_counter_en["\System\Context Switches/sec"] |
CPU | CPU privileged time | The Processor Information% Privileged Time counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows? Operating System. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% Privileged Time"] |
CPU | CPU DPC time | Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% DPC Time"] |
CPU | CPU user time | The Processor Information% User Time counter shows the percent of time that the processor(s) is spent executing in User mode. |
ZABBIX_PASSIVE | perf_counter_en["\Processor Information(_total)% User Time"] |
CPU | Number of cores | The number of logical processors available on the computer. |
ZABBIX_PASSIVE | wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"] |
CPU | CPU queue length | The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed. |
ZABBIX_PASSIVE | perf_counter_en["\System\Processor Queue Length"] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
{TEMPLATE_NAME:system.cpu.util.min(5m)}>{$CPU.UTIL.CRIT} |
WARNING | |
CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m) | "The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%." The Processor Information% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. This is an easy way to identify a potential hardware failure. This should never be higher than 20%. |
{TEMPLATE_NAME:perf_counter_en["\Processor Information(_total)\% Interrupt Time"].min(5m)}>{$CPU.INTERRUPT.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m) | The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%. |
{TEMPLATE_NAME:perf_counter_en["\Processor Information(_total)\% Privileged Time"].min(5m)}>{$CPU.PRIV.CRIT.MAX} |
WARNING | Depends on: - CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m) - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX} for 5m) | 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 }. |
{TEMPLATE_NAME:perf_counter_en["\System\Processor Queue Length"].min(5m)} - {TEMPLATE_NAME:wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"].last()} * 2 > {$CPU.QUEUE.CRIT.MAX} |
WARNING | Depends on: - High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |
Feedback
Please report any issues with the template at
Template Module Windows memory by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$MEM.PAGE_SEC.CRIT.MAX} | The warning threshold of the Memory Pages/sec counter. |
1000 |
{$MEM.PAGE_TABLE_CRIT.MIN} | The warning threshold of the Free System Page Table Entries counter. |
5000 |
{$MEMORY.UTIL.MAX} | The warning threshold of the Memory util item. |
90 |
{$SWAP.PFREE.MIN.WARN} | The warning threshold of the minimum free swap. |
20 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Memory | Used memory | Used memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[used] |
Memory | Total memory | Total memory in Bytes. |
ZABBIX_PASSIVE | vm.memory.size[total] |
Memory | Memory utilization | Memory utilization in %. |
CALCULATED | vm.memory.util Expression: last("vm.memory.size[used]") / last("vm.memory.size[total]") * 100 |
Memory | Cache bytes | Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes, Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Cache Bytes"] |
Memory | Free swap space | The free space of swap volume/file in bytes. |
CALCULATED | system.swap.free Expression: last("system.swap.size[,total]") - last("system.swap.size[,total]") / 100 * last("perf_counter_en[\"\Paging file(_Total)\% Usage\"]") |
Memory | Free swap space in % | The free space of swap volume/file in percent. |
DEPENDENT | system.swap.pfree Preprocessing: - JAVASCRIPT: |
Memory | Used swap space in % | The used space of swap volume/file in percent. |
ZABBIX_PASSIVE | perf_counter_en["\Paging file(_Total)% Usage"] |
Memory | Total swap space | The total space of swap volume/file in bytes. |
ZABBIX_PASSIVE | system.swap.size[,total] |
Memory | Free system page table entries | This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may well be a memory leak or you running out of memory. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Free System Page Table Entries"] |
Memory | Memory page faults per second | Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Page Faults/sec"] |
Memory | Memory pages per second | This measures the rate at which pages are read from or written to disk to resolve hard page faults. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pages/sec"] |
Memory | Memory pool non-paged | This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated. There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). A typical Event ID 2019 is recorded in the system event log. |
ZABBIX_PASSIVE | perf_counter_en["\Memory\Pool Nonpaged Bytes"] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) | The system is running out of free memory. |
{TEMPLATE_NAME:vm.memory.util.min(5m)}>{$MEMORY.UTIL.MAX} |
AVERAGE | |
High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free) | This trigger is ignored, if there is no swap configured. |
{TEMPLATE_NAME:system.swap.pfree.max(5m)}<{$SWAP.PFREE.MIN.WARN} and {TEMPLATE_NAME:system.swap.size[,total].last()}>0 |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m) | The Memory Free System Page Table Entries is less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak. |
{TEMPLATE_NAME:perf_counter_en["\Memory\Free System Page Table Entries"].max(5m)}<{$MEM.PAGE_TABLE_CRIT.MIN} |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m) | 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. |
{TEMPLATE_NAME:perf_counter_en["\Memory\Pages/sec"].min(5m)}>{$MEM.PAGE_SEC.CRIT.MAX} |
WARNING | Depends on: - High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |
Feedback
Please report any issues with the template at
Template Module Windows filesystems by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$VFS.FS.FREE.MIN.CRIT} | The critical threshold of the filesystem utilization. |
5G |
{$VFS.FS.FREE.MIN.WARN} | The warning threshold of the filesystem utilization. |
10G |
{$VFS.FS.FSDRIVETYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
fixed |
{$VFS.FS.FSDRIVETYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.FSNAME.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSNAME.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
`^(?:/dev |
{$VFS.FS.FSTYPE.MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
.* |
{$VFS.FS.FSTYPE.NOT_MATCHES} | This macro is used in filesystems discovery. Can be overridden on the host or linked template level. |
^\s$ |
{$VFS.FS.PUSED.MAX.CRIT} | The critical threshold of the filesystem utilization in percent. |
90 |
{$VFS.FS.PUSED.MAX.WARN} | The warning threshold of the filesystem utilization in percent. |
80 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Mounted filesystem discovery | Discovery of file systems of different types. |
ZABBIX_PASSIVE | vfs.fs.discovery Filter: AND- A: {#FSTYPE} MATCHES_REGEX - B: {#FSTYPE} NOT_MATCHES_REGEX - C: {#FSNAME} MATCHES_REGEX - D: {#FSNAME} NOT_MATCHES_REGEX - E: {#FSDRIVETYPE} MATCHES_REGEX - F: {#FSDRIVETYPE} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Filesystems | {#FSNAME}: Used space | Used storage in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},used] |
Filesystems | {#FSNAME}: Total space | Total space in Bytes |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},total] |
Filesystems | {#FSNAME}: Space utilization | Space utilization in % for {#FSNAME} |
ZABBIX_PASSIVE | vfs.fs.size[{#FSNAME},pused] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
{TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].last()}>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and (({TEMPLATE_NAME:vfs.fs.size[{#FSNAME},total].last()}-{TEMPLATE_NAME:vfs.fs.size[{#FSNAME},used].last()})<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or {TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d) |
AVERAGE | Manual close: YES |
{#FSNAME}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%) | Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}. Second condition should be one of the following: - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"}. - The disk will be full in less than 24 hours. |
{TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].last()}>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and (({TEMPLATE_NAME:vfs.fs.size[{#FSNAME},total].last()}-{TEMPLATE_NAME:vfs.fs.size[{#FSNAME},used].last()})<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or {TEMPLATE_NAME:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}<1d) |
WARNING | Manual close: YES Depends on: - {#FSNAME}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%) |
Feedback
Please report any issues with the template at
Template Module Windows physical disks by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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.READ.AWAIT.WARN} | Disk read average response time (in s) before the trigger would fire. |
0.02 |
{$VFS.DEV.UTIL.MAX.WARN} | The warning threshold of disk time utilization in percent. |
95 |
{$VFS.DEV.WRITE.AWAIT.WARN} | Disk write average response time (in s) before the trigger would fire. |
0.02 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Physical disks discovery | Discovery of installed physical disks. |
ZABBIX_PASSIVE | perf_instance_en.discovery[PhysicalDisk] Preprocessing: - STR_REPLACE: Filter: AND- A: {#DEVNAME} MATCHES_REGEX - B: {#DEVNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Storage | {#DEVNAME}: Disk read rate | Rate of read operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60] |
Storage | {#DEVNAME}: Disk write rate | Rate of write operations on the disk. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60] |
Storage | {#DEVNAME}: Disk average queue size (avgqu-sz) | Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60] |
Storage | {#DEVNAME}: Disk utilization by idle time | This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})% Idle Time",60] Preprocessing: - JAVASCRIPT: |
Storage | {#DEVNAME}: Disk read request avg waiting time | The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60] |
Storage | {#DEVNAME}: Disk write request avg waiting time | The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60] |
Storage | {#DEVNAME}: Average disk read queue length | Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60] |
Storage | {#DEVNAME}: Average disk write queue length | Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected. |
ZABBIX_PASSIVE | perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
{#DEVNAME}: Disk is overloaded (util > {$VFS.DEV.UTIL.MAX.WARN}% for 15m) | The disk appears to be under heavy load |
{TEMPLATE_NAME:perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60].min(15m)}>{$VFS.DEV.UTIL.MAX.WARN} |
WARNING | Manual close: YES Depends on: - {#DEVNAME}: Disk read request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m - {#DEVNAME}: Disk write request responses are too high (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m) |
{#DEVNAME}: Disk read request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m | This trigger might indicate disk {#DEVNAME} saturation. |
{TEMPLATE_NAME:perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60].min(15m)} > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
{#DEVNAME}: Disk write request responses are too high (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m) | This trigger might indicate disk {#DEVNAME} saturation. |
{TEMPLATE_NAME:perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60].min(15m)} > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at
Template Module Windows generic by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$SYSTEM.FUZZYTIME.MAX} | The threshold for difference of system time in seconds. |
60 |
Template links
There are no template links in this template.
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
General | System local time | System local time of the host. |
ZABBIX_PASSIVE | system.localtime |
General | System name | System host name. |
ZABBIX_PASSIVE | system.hostname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | System description | System description of the host. |
ZABBIX_PASSIVE | system.uname Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
General | Number of processes | The number of processes. |
ZABBIX_PASSIVE | proc.num[] |
General | Number of threads | The number of threads used by all running processes. |
ZABBIX_PASSIVE | perf_counter_en["\System\Threads"] |
Inventory | Operating system architecture | Operating system architecture of the host. |
ZABBIX_PASSIVE | system.sw.arch Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Status | Uptime | System uptime in 'N days, hh:mm:ss' format. |
ZABBIX_PASSIVE | system.uptime |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
System time is out of sync (diff with Áú»¢¶Ä²© server > {$SYSTEM.FUZZYTIME.MAX}s) | The host system time is different from the Áú»¢¶Ä²© server time. |
{TEMPLATE_NAME:system.localtime.fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0 |
WARNING | Manual close: YES |
System name has changed (new name: {ITEM.VALUE}) | System name has changed. Ack to close. |
{TEMPLATE_NAME:system.hostname.diff()}=1 and {TEMPLATE_NAME:system.hostname.strlen()}>0 |
INFO | Manual close: YES |
Host has been restarted (uptime < 10m) | The device uptime is less than 10 minutes. |
{TEMPLATE_NAME:system.uptime.last()}<10m |
WARNING | Manual close: YES |
Feedback
Please report any issues with the template at
Template Module Windows network by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$IF.ERRORS.WARN} | - |
2 |
{$IF.UTIL.MAX} | - |
90 |
{$IFCONTROL} | - |
1 |
{$NET.IF.IFALIAS.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFALIAS.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFDESCR.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFDESCR.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
CHANGE_THIS |
{$NET.IF.IFNAME.MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
.* |
{$NET.IF.IFNAME.NOT_MATCHES} | This macro is used in Network interface discovery. Can be overridden on the host or linked template level. |
`Miniport |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Network interfaces discovery | Discovery of installed network interfaces. |
DEPENDENT | net.if.discovery Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: Filter: AND- C: {#IFNAME} MATCHES_REGEX - D: {#IFNAME} NOT_MATCHES_REGEX - E: {#IFDESCR} MATCHES_REGEX - F: {#IFDESCR} NOT_MATCHES_REGEX - G: {#IFALIAS} MATCHES_REGEX - H: {#IFALIAS} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Bits received | Incoming traffic on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Bits sent | Outgoing traffic on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}"] Preprocessing: - CHANGE_PER_SECOND - MULTIPLIER: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded | The number of incoming packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded | The number of outgoing packets dropped on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",dropped] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors | The number of incoming packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.in["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors | The number of outgoing packets with errors on the network interface. |
ZABBIX_PASSIVE | net.if.out["{#IFGUID}",errors] Preprocessing: - CHANGE_PER_SECOND |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Speed | Estimated bandwidth of the network interface if any. |
DEPENDENT | net.if.speed["{#IFGUID}"] Preprocessing: - JSONPATH: ??ON_FAIL: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Interface type | The type of the network interface. |
DEPENDENT | net.if.type["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Network_interfaces | Interface {#IFNAME}({#IFALIAS}): Operational status | The operational status of the network interface. |
DEPENDENT | net.if.status["{#IFGUID}"] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Áú»¢¶Ä²©_raw_items | Network interfaces WMI get | Raw data of win32_networkadapter. |
ZABBIX_PASSIVE | wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%) | The network interface utilization is close to its estimated maximum bandwidth. |
({TEMPLATE_NAME:net.if.in["{#IFGUID}"].avg(15m)}>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*{TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()} or {TEMPLATE_NAME:net.if.out["{#IFGUID}"].avg(15m)}>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*{TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()}) and {TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()}>0 Recovery expression: {TEMPLATE_NAME:net.if.in["{#IFGUID}"].avg(15m)}<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*{TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()} and {TEMPLATE_NAME:net.if.out["{#IFGUID}"].avg(15m)}<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*{TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()} |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m) | Recovers when below 80% of {$IF.ERRORS.WARN:"{#IFNAME}"} threshold |
{TEMPLATE_NAME:net.if.in["{#IFGUID}",errors].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"} or {TEMPLATE_NAME:net.if.out["{#IFGUID}",errors].min(5m)}>{$IF.ERRORS.WARN:"{#IFNAME}"} Recovery expression: {TEMPLATE_NAME:net.if.in["{#IFGUID}",errors].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 and {TEMPLATE_NAME:net.if.out["{#IFGUID}",errors].max(5m)}<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8 |
WARNING | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before | This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close. |
{TEMPLATE_NAME:net.if.speed["{#IFGUID}"].change()}<0 and {TEMPLATE_NAME:net.if.speed["{#IFGUID}"].last()}>0 and {TEMPLATE_NAME:net.if.status["{#IFGUID}"].last()}=2 |
INFO | Manual close: YES Depends on: - Interface {#IFNAME}({#IFALIAS}): Link down |
Interface {#IFNAME}({#IFALIAS}): Link down | This trigger expression works as follows: 1. Can be triggered if operations status is down. 2. {$IFCONTROL:"{#IFNAME}"}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down. 3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status is different from Connected(2). WARNING: if closed manually - won't fire again on next poll, because of .diff. |
{$IFCONTROL:"{#IFNAME}"}=1 and ({TEMPLATE_NAME:net.if.status["{#IFGUID}"].last()}<>2 and {TEMPLATE_NAME:net.if.status["{#IFGUID}"].diff()}=1) Recovery expression: {TEMPLATE_NAME:net.if.status["{#IFGUID}"].last()}=2 or {$IFCONTROL:"{#IFNAME}"}=0 |
AVERAGE | Manual close: YES |
Feedback
Please report any issues with the template at
Template Module Windows services by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
Special version of services template that is required for Windows OS.
Setup
Refer to the vendor documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
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.EXTENDED} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(CDPUserSvc_.+ |
{$SERVICE.NAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:RemoteRegistry |
{$SERVICE.STARTUPNAME.MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:automatic |
{$SERVICE.STARTUPNAME.NOT_MATCHES} | This macro is used in Service discovery. Can be overridden on the host or linked template level. |
`^(?:manual |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Windows services discovery | Discovery of Windows services of different types as defined in template's macros. |
ZABBIX_PASSIVE | service.discovery Filter: AND- A: {#SERVICE.NAME} MATCHES_REGEX - B: {#SERVICE.NAME} NOT_MATCHES_REGEX - C: {#SERVICE.NAME} NOT_MATCHES_REGEX - D: {#SERVICE.STARTUPNAME} MATCHES_REGEX - E: {#SERVICE.STARTUPNAME} NOT_MATCHES_REGEX |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Services | State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) | - |
ZABBIX_PASSIVE | service.info["{#SERVICE.NAME}",state] |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
"{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running (startup type {#SERVICE.STARTUPNAME}) | The service has a state other than "Running" for the last three times. |
{TEMPLATE_NAME:service.info["{#SERVICE.NAME}",state].min(#3)}<>0 |
AVERAGE |
Feedback
Please report any issues with the template at
Template OS Windows by Áú»¢¶Ä²© agent
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
New official Windows template. Requires agent of Áú»¢¶Ä²© 4.4 and newer.
This template was tested on:
- Windows, version 7 and newer.
- Windows Server, version 2008 R2 and newer.
Setup
Install Áú»¢¶Ä²© agent on Windows OS according to Áú»¢¶Ä²© documentation.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Template links
Name |
---|
Windows CPU by Áú»¢¶Ä²© agent |
Windows filesystems by Áú»¢¶Ä²© agent |
Windows generic by Áú»¢¶Ä²© agent |
Windows memory by Áú»¢¶Ä²© agent |
Windows network by Áú»¢¶Ä²© agent |
Windows physical disks by Áú»¢¶Ä²© agent |
Windows services by Áú»¢¶Ä²© agent |
Áú»¢¶Ä²© agent |
Discovery rules
Items collected
Group | Name | Description | Type | Key and additional info |
---|
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|
Feedback
Please report any issues with the template at
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.