You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yzl 93958d0fb0
zabbix6.0
1 year ago
..
README.md zabbix6.0 1 year ago
template_os_windows_agent.yaml zabbix6.0 1 year ago

README.md

Windows by Zabbix agent

Overview

New official Windows template. Requires agent of Zabbix 7.0 and newer.

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • Windows 7 and newer.
  • Windows Server 2008 R2 and newer.

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

Install Zabbix agent on Windows OS according to Zabbix documentation.

Macros used

Name Description Default
{$AGENT.TIMEOUT}

Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode).

3m
{$CPU.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.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.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 threshold for difference of system time in seconds.

60
{$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 Zabbix agent running Zabbix agent agent.version

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: Host name of Zabbix agent running Zabbix agent agent.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: Zabbix agent ping

The agent always returns 1 for this item. It could be used in combination with nodata() for availability check.

Zabbix agent agent.ping
Windows: Zabbix agent availability

Monitoring the availability status of the agent.

Zabbix internal zabbix[host,agent,available]
Windows: CPU utilization

The CPU utilization expressed in %.

Zabbix agent system.cpu.util
Windows: CPU interrupt time

The Processor Information% Interrupt Time is the time the processor spends receiving and servicing

hardware interrupts during sample intervals. This value is an indirect indicator of the activity of

devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication

lines, network interface cards and other peripheral devices. This is an easy way to identify a potential

hardware failure. This should never be higher than 20%.

Zabbix agent 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.

Zabbix 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.

Zabbix 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.

Zabbix 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.

Zabbix agent perf_counter_en["\Processor Information(_total)% User Time"]
Windows: Number of cores

The number of logical processors available on the computer.

Zabbix agent wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]
Windows: CPU queue length

The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue

and are waiting to be executed.

Zabbix agent perf_counter_en["\System\Processor Queue Length"]
Windows: Used memory

Used memory in bytes.

Zabbix agent vm.memory.size[used]
Windows: Total memory

The total memory expressed in bytes.

Zabbix agent vm.memory.size[total]
Windows: Memory utilization

Memory utilization in %.

Calculated vm.memory.util
Windows: Cache bytes

Cache Bytes is the sum of the Memory\System Cache Resident Bytes, Memory\System Driver Resident Bytes,

Memory\System Code Resident Bytes, and Memory\Pool Paged Resident Bytes counters. This counter displays

the last observed value only; it is not an average.

Zabbix agent 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

  • JavaScript: return (100 - value)

Windows: Used swap space in %

The used space of swap volume/file in percent.

Zabbix agent perf_counter_en["\Paging file(_Total)% Usage"]
Windows: Total swap space

The total space of the swap volume/file expressed in bytes.

Zabbix agent system.swap.size[,total]
Windows: Free system page table entries

This indicates the number of page table entries not currently in use by the system. If the number is less

than 5,000, there may well be a memory leak or you running out of memory.

Zabbix agent 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.

Zabbix 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.

Zabbix 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.

Zabbix agent perf_counter_en["\Memory\Pool Nonpaged Bytes"]
Windows: Get filesystems

The vfs.fs.get key acquires raw information set about the file systems. Later to be extracted by preprocessing in dependent items.

Zabbix agent vfs.fs.get
Windows: Uptime

The system uptime expressed in the following format: "N days, hh:mm:ss".

Zabbix agent system.uptime
Windows: System local time

The local system time of the host.

Zabbix agent system.localtime
Windows: System name

The host name of the system.

Zabbix agent system.hostname

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: System description

System description of the host.

Zabbix agent system.uname

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: Number of processes

The number of processes.

Zabbix agent proc.num[]
Windows: Number of threads

The number of threads used by all running processes.

Zabbix agent perf_counter_en["\System\Threads"]
Windows: Operating system architecture

The architecture of the operating system.

Zabbix agent system.sw.arch

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: Operating system Zabbix agent system.sw.os

Preprocessing

  • Discard unchanged with heartbeat: 1d

Windows: Network interfaces WMI get

Raw data of win32_networkadapter.

Zabbix agent wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Triggers

Name Description Expression Severity Dependencies and additional info
Windows: Zabbix agent is not available

For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold.

max(/Windows by Zabbix 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 Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT} Warning
Windows: CPU interrupt time is too high

"The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%."
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 Zabbix agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX} Warning Depends on:
  • Windows: High CPU utilization
Windows: CPU privileged time is too high

The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.

min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX} Warning Depends on:
  • Windows: High CPU utilization
  • Windows: CPU interrupt time is too high
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 Zabbix agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Zabbix agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX} Warning Depends on:
  • Windows: High CPU utilization
Windows: High memory utilization

The system is running out of free memory.

min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX} Average
Windows: High swap space usage

This trigger is ignored, if there is no swap configured

max(/Windows by Zabbix agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Zabbix agent/system.swap.size[,total])>0 Warning Depends on:
  • Windows: High memory utilization
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 Zabbix agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN} Warning Depends on:
  • Windows: High memory utilization
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 Zabbix agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX} Warning Depends on:
  • Windows: High memory utilization
Windows: Host has been restarted

The device uptime is less than 10 minutes.

last(/Windows by Zabbix agent/system.uptime)<10m Warning Manual close: Yes
Windows: System time is out of sync

The host's system time is different from Zabbix server time.

fuzzytime(/Windows by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0 Warning Manual close: Yes
Windows: System name has changed

The name of the system has changed. Acknowledge to close the problem manually.

change(/Windows by Zabbix agent/system.hostname) and length(last(/Windows by Zabbix 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 Zabbix agent/system.sw.os) and length(last(/Windows by Zabbix agent/system.sw.os))>0 Info Manual close: Yes
Depends on:
  • Windows: System name has changed

LLD rule Mounted filesystem discovery

Name Description Type Key and additional info
Mounted filesystem discovery

Discovery of file systems of different types.

Dependent item vfs.fs.dependent.discovery

Item prototypes for Mounted filesystem discovery

Name Description Type Key and additional info
{#FSLABEL}({#FSNAME}): Get filesystem data Dependent item vfs.fs.dependent[{#FSNAME},data]

Preprocessing

  • JSON Path: $.[?(@.fsname=='{#FSNAME}')].first()

{#FSLABEL}({#FSNAME}): Used space

Used storage expressed in bytes.

Dependent item vfs.fs.dependent.size[{#FSNAME},used]

Preprocessing

  • JSON Path: $.bytes.used

{#FSLABEL}({#FSNAME}): Total space

The total space expressed in bytes.

Dependent item vfs.fs.dependent.size[{#FSNAME},total]

Preprocessing

  • JSON Path: $.bytes.total

{#FSLABEL}({#FSNAME}): Space utilization

Space utilization expressed in % for {#FSNAME}.

Dependent item vfs.fs.dependent.size[{#FSNAME},pused]

Preprocessing

  • JSON Path: $.bytes.pused

Trigger prototypes for Mounted filesystem discovery

Name Description Expression Severity Dependencies and additional info
{#FSLABEL}({#FSNAME}): Disk space is critically low

Two conditions should match:
1. The first condition - utilization of the space should be above {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}.
2. The 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 Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and ((last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],1h,100)<1d) Average Manual close: Yes
{#FSLABEL}({#FSNAME}): Disk space is low

Two conditions should match:
1. The first condition - utilization of the space should be above {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}.
2. The 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 Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"} and ((last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.WARN:"{#FSNAME}"} or timeleft(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],1h,100)<1d) Warning Manual close: Yes
Depends on:
  • {#FSLABEL}({#FSNAME}): Disk space is critically low

LLD rule Physical disks discovery

Name Description Type Key and additional info
Physical disks discovery

Discovery of installed physical disks.

Zabbix agent perf_instance_en.discovery[PhysicalDisk]

Preprocessing

  • Replace: {#INSTANCE} -> {#DEVNAME}

Item prototypes for Physical disks discovery

Name Description Type Key and additional info
{#DEVNAME}: Disk read rate

Rate of read operations on the disk.

Zabbix agent perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]
{#DEVNAME}: Disk write rate

Rate of write operations on the disk.

Zabbix 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.

Zabbix 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.

Zabbix agent perf_counter_en["\PhysicalDisk({#DEVNAME})% Idle Time",60]

Preprocessing

  • JavaScript: return (100 - value)

{#DEVNAME}: Disk read request avg waiting time

The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.

Zabbix agent 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.

Zabbix 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.

Zabbix 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.

Zabbix 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 Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN} Warning Manual close: Yes
Depends on:
  • {#DEVNAME}: Disk read request responses are too high
  • {#DEVNAME}: Disk write request responses are too high
{#DEVNAME}: Disk read request responses are too high

This trigger might indicate the disk {#DEVNAME} saturation.

min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} Warning Manual close: Yes
{#DEVNAME}: Disk write request responses are too high

This trigger might indicate the disk {#DEVNAME} saturation.

min(/Windows by Zabbix 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

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 1h

Item prototypes for Network interfaces discovery

Name Description Type Key and additional info
Interface {#IFNAME}({#IFALIAS}): Bits received

Incoming traffic on the network interface.

Zabbix agent net.if.in["{#IFGUID}"]

Preprocessing

  • Change per second
  • Custom multiplier: 8

Interface {#IFNAME}({#IFALIAS}): Bits sent

Outgoing traffic on the network interface.

Zabbix agent net.if.out["{#IFGUID}"]

Preprocessing

  • Change per second
  • Custom multiplier: 8

Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded

The number of incoming packets dropped on the network interface.

Zabbix agent net.if.in["{#IFGUID}",dropped]

Preprocessing

  • Change per second
Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded

The number of outgoing packets dropped on the network interface.

Zabbix agent net.if.out["{#IFGUID}",dropped]

Preprocessing

  • Change per second
Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors

The number of incoming packets with errors on the network interface.

Zabbix agent net.if.in["{#IFGUID}",errors]

Preprocessing

  • Change per second
Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors

The number of outgoing packets with errors on the network interface.

Zabbix agent net.if.out["{#IFGUID}",errors]

Preprocessing

  • Change per second
Interface {#IFNAME}({#IFALIAS}): Speed

Estimated bandwidth of the network interface if any.

Dependent item net.if.speed["{#IFGUID}"]

Preprocessing

  • JSON Path: $[?(@.GUID == "{#IFGUID}")].Speed.first()

    Custom on fail: Set value to: 0

  • JavaScript: return (value=='9223372036854775807' ? 0 : value)

  • Discard unchanged with heartbeat: 1h

Interface {#IFNAME}({#IFALIAS}): Interface type

The type of the network interface.

Dependent item net.if.type["{#IFGUID}"]

Preprocessing

  • JSON Path: $[?(@.GUID == "{#IFGUID}")].AdapterTypeId.first()

  • Discard unchanged with heartbeat: 1d

Interface {#IFNAME}({#IFALIAS}): Operational status

The operational status of the network interface.

Dependent item net.if.status["{#IFGUID}"]

Preprocessing

  • JSON Path: $[?(@.GUID == "{#IFGUID}")].NetConnectionStatus.first()

  • Discard unchanged with heartbeat: 1d

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 Zabbix agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) or avg(/Windows by Zabbix agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])) and last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0 Warning Manual close: Yes
Depends on:
  • Interface {#IFNAME}({#IFALIAS}): Link down
Interface {#IFNAME}({#IFALIAS}): High error rate

It recovers when it is below 80% of the {$IF.ERRORS.WARN:"{#IFNAME}"} threshold.

min(/Windows by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} or min(/Windows by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"} 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. Acknowledge to close the problem manually.

change(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])<0 and last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0 and last(/Windows by Zabbix 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. It can be triggered if the operations status is down.
2. {$IFCONTROL:"{#IFNAME}"}=1 - a 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 - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'eternal off' interfaces.)

WARNING: if closed manually - it will not fire again on the next poll, because of .diff.

{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix 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.

Zabbix agent service.discovery

Item prototypes for Windows services discovery

Name Description Type Key and additional info
State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) Zabbix 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 Zabbix agent/service.info["{#SERVICE.NAME}",state],#3)<>0 Average

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums