Template module windows cpu by zabbix agent active

This is an official Windows template. It requires Zabbix agent 7.0 or newer.

You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows

Generated by official Zabbix template tool «Templator»

Items

Item: Host name of Zabbix agent running

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: Zabbix agent ping

The agent always returns «1» for this item. May be used in combination with nodata() for the availability check.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Version of Zabbix agent running

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: 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.

perf_counter_en["\Memory\Cache Bytes"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: 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.

perf_counter_en["\Memory\Free System Page Table Entries"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: 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.

perf_counter_en["\Memory\Page Faults/sec"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
History 7d

Item: 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.

perf_counter_en["\Memory\Pages/sec"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
History 7d

Item: 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.

perf_counter_en["\Memory\Pool Nonpaged Bytes"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Used swap space in %

The used space of swap volume/file in percent.

perf_counter_en["\Paging file(_Total)\% Usage"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: 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.

perf_counter_en["\Processor Information(_total)\% DPC Time"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: CPU interrupt time

The processor information % Interrupt Time counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.

perf_counter_en["\Processor Information(_total)\% Interrupt Time"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: 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.

perf_counter_en["\Processor Information(_total)\% Privileged Time"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: CPU user time

The processor information % User Time counter shows the percent of time that the processor(s) is spent executing in User mode.

perf_counter_en["\Processor Information(_total)\% User Time"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: 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.

perf_counter_en["\System\Context Switches/sec"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
History 7d

Item: 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.

perf_counter_en["\System\Processor Queue Length"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
History 7d

Item: Number of threads

The number of threads used by all running processes.

perf_counter_en["\System\Threads"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Number of processes

The number of processes.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: CPU utilization

CPU utilization expressed in %.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
History 7d

Item: System name

The host name of the system.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: System local time

The local system time of the host.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Operating system architecture

The architecture of the operating system.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: Operating system

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: Free swap space

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

Settings:

Item Setting Value
Type CALCULATED
History 7d

Item: Free swap space in %

The free space of the swap volume/file expressed in %.

Settings:

Item Setting Value
Type DEPENDENT
Value type FLOAT in %
History 7d
Source item perf_counter_en["\Paging file(_Total)\% Usage"]

Preprocessing steps:

Type Parameters
JAVASCRIPT ["return (100 - value)"]

Item: Total swap space

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: System description

System description of the host.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type CHAR
History 7d

Item: Uptime

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Get filesystems

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type TEXT

Item: Total memory

Total memory expressed in bytes.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Used memory

Used memory in bytes.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Memory utilization

Memory utilization in %.

Settings:

Item Setting Value
Type CALCULATED
Value type FLOAT in %
History 7d

Item: Windows: Network interfaces WMI get

Raw data of win32_networkadapter.

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type TEXT

Item: Number of cores

The number of logical processors available on the computer.

wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
History 7d

Item: Active agent availability

Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
Possible values:
0 — unknown
1 — available
2 — not available

zabbix[host,active_agent,available]

Settings:

Item Setting Value
Type INTERNAL
History 7d

Triggers

Trigger: Zabbix agent is not available

For active agents, nodata() with agent.ping is used with {$AGENT.NODATA_TIMEOUT} as a time threshold.
Settings:

Trigger Setting Values
Priority AVERAGE
Manual close YES
nodata(/Windows by Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1

Trigger: Number of free system page table entries is too low

Memory\Free System Page Table Entries has been less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may be a memory leak.
Settings:

Trigger Setting Values
Priority WARNING
max(/Windows by Zabbix agent active/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN}

Trigger: 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.
Settings:

Trigger Setting Values
Priority WARNING
min(/Windows by Zabbix agent active/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX}

Trigger: CPU interrupt time is too high

The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%.
Settings:

Trigger Setting Values
Priority WARNING
min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX}

Trigger: CPU privileged time is too high

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

Trigger Setting Values
Priority WARNING
min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX}

Trigger: High CPU utilization

CPU utilization is too high. The system might be slow to respond.
Settings:

Trigger Setting Values
Priority WARNING
min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}

Trigger: System name has changed

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

Trigger Setting Values
Priority INFO
Manual close YES
change(/Windows by Zabbix agent active/system.hostname) and length(last(/Windows by Zabbix agent active/system.hostname))>0

Trigger: 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.
Settings:

Trigger Setting Values
Priority INFO
Manual close YES
change(/Windows by Zabbix agent active/system.sw.os) and length(last(/Windows by Zabbix agent active/system.sw.os))>0

Trigger: Host has been restarted

The device uptime is less than 10 minutes.
Settings:

Trigger Setting Values
Priority WARNING
Manual close YES
last(/Windows by Zabbix agent active/system.uptime)<10m

Trigger: High memory utilization

The system is running out of free memory.
Settings:

Trigger Setting Values
Priority AVERAGE
min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}

Trigger: Active checks are not available

Active checks are considered unavailable. Agent has not sent a heartbeat for a prolonged time.
Settings:

Trigger Setting Values
Priority HIGH
min(/Windows by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2

Discovery Rules

Discovery Rule: Network interfaces discovery

Discovery of installed network interfaces.

Settings:

Item Setting Value
Type DEPENDENT
Source item wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]

Preprocessing steps:

Type Parameters
JAVASCRIPT ["output = JSON.parse(value).map(function(net){\n\treturn {\n\t\t\"{#IFNAME}\": net.Name,\n\t\t\"{#IFDESCR}\": net.Description,\n\t\t\"{#IFALIAS}\": net.NetConnectionID,\n\t\t\"{#IFGUID}\": net.GUID\n\t}})\nreturn JSON.stringify({\"data\": output})\n"]
DISCARD_UNCHANGED_HEARTBEAT ["1h"]

Discovery Rule: Network interfaces discovery: Item Prototypes

Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded

The number of incoming packets dropped on the network interface.

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors

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

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Bits received

Incoming traffic on the network interface.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded

The number of outgoing packets dropped on the network interface.

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors

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

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Bits sent

Outgoing traffic on the network interface.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Speed

Estimated bandwidth of the network interface if any.

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

Settings:

Item Setting Value
Type DEPENDENT
Source item wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]

Preprocessing steps:

Type Parameters
JSONPATH ["$[?(@.GUID == \"{#IFGUID}\")].Speed.first()"]
JAVASCRIPT ["return (value=='9223372036854775807' ? 0 : value)"]
DISCARD_UNCHANGED_HEARTBEAT ["1h"]
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Operational status

The operational status of the network interface.

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

Settings:

Item Setting Value
Type DEPENDENT
Source item wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]

Preprocessing steps:

Type Parameters
JSONPATH ["$[?(@.GUID == \"{#IFGUID}\")].NetConnectionStatus.first()"]
DISCARD_UNCHANGED_HEARTBEAT ["1d"]
Discovery Rule: Network interfaces discovery: Item Prototype: Interface {#IFNAME}({#IFALIAS}): Interface type

The type of the network interface.

Settings:

Item Setting Value
Type DEPENDENT
Source item wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]

Preprocessing steps:

Type Parameters
JSONPATH ["$[?(@.GUID == \"{#IFGUID}\")].AdapterTypeId.first()"]
DISCARD_UNCHANGED_HEARTBEAT ["1d"]

Discovery Rule: Network interfaces discovery: Discovery Triggers

Discovery Rule: Network interfaces discovery: Trigger Prototype: 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 the context macro to «0», marking this interface as not important.
No new trigger will be fired if this interface is down.
3. last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2) — the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for «eternal off» interfaces.)

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

Settings:

Trigger Setting Values
Priority AVERAGE
Manual close YES
{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2))

Discovery Rule: Network interfaces discovery: Graph Prototypes

The following graph prototypes are defined by this Template

  • Interface {#IFNAME}({#IFALIAS}): Network traffic

Discovery Rule: Physical disks discovery

Discovery of installed physical disks.

perf_instance_en.discovery[PhysicalDisk]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE

Discovery Rule: Physical disks discovery: Item Prototypes

Discovery Rule: Physical disks discovery: Item Prototype: {#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.

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

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in %
Discovery Rule: Physical disks discovery: Item Prototype: {#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.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
Discovery Rule: Physical disks discovery: Item Prototype: {#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.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in s
Discovery Rule: Physical disks discovery: Item Prototype: {#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.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in s
Discovery Rule: Physical disks discovery: Item Prototype: {#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.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
Discovery Rule: Physical disks discovery: Item Prototype: {#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.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT
Discovery Rule: Physical disks discovery: Item Prototype: {#DEVNAME}: Disk read rate

Rate of read operations on the disk.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in !r/s
Discovery Rule: Physical disks discovery: Item Prototype: {#DEVNAME}: Disk write rate

Rate of write operations on the disk.

perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE
Value type FLOAT in !w/s

Discovery Rule: Physical disks discovery: Discovery Triggers

Discovery Rule: Physical disks discovery: Trigger Prototype: {#DEVNAME}: Disk is overloaded

The disk appears to be under heavy load.
Settings:

Trigger Setting Values
Priority WARNING
Manual close YES
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN}
Discovery Rule: Physical disks discovery: Trigger Prototype: {#DEVNAME}: Disk read request responses are too high

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

Trigger Setting Values
Priority WARNING
Manual close YES
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}
Discovery Rule: Physical disks discovery: Trigger Prototype: {#DEVNAME}: Disk write request responses are too high

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

Trigger Setting Values
Priority WARNING
Manual close YES
min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}

Discovery Rule: Physical disks discovery: Graph Prototypes

The following graph prototypes are defined by this Template

  • {#DEVNAME}: Disk average queue length
  • {#DEVNAME}: Disk average waiting time
  • {#DEVNAME}: Disk read/write rates
  • {#DEVNAME}: Disk utilization and queue

Discovery Rule: Windows services discovery

Used for the discovery of Windows services of different types as defined in the template’s macros.

Settings:

Item Setting Value
Type ZABBIX_ACTIVE

Discovery Rule: Windows services discovery: Item Prototypes

Discovery Rule: Windows services discovery: Item Prototype: State of service «{#SERVICE.NAME}» ({#SERVICE.DISPLAYNAME})

service.info["{#SERVICE.NAME}",state]

Settings:

Item Setting Value
Type ZABBIX_ACTIVE

Discovery Rule: Windows services discovery: Discovery Triggers

Discovery Rule: Windows services discovery: Trigger Prototype: «{#SERVICE.NAME}» ({#SERVICE.DISPLAYNAME}) is not running

The service has a state other than «Running» for the last three times.
Settings:

Trigger Setting Values
Priority AVERAGE
min(/Windows by Zabbix agent active/service.info["{#SERVICE.NAME}",state],#3)<>0

Discovery Rule: Mounted filesystem discovery

Discovery of filesystems of different types.

vfs.fs.dependent.discovery

Settings:

Item Setting Value
Type DEPENDENT
Source item vfs.fs.get

Preprocessing steps:

Type Parameters
JAVASCRIPT ["var filesystems = JSON.parse(value);\n\nresult = filesystems.map(function (filesystem) {\n\treturn {\n\t\t'fsname': filesystem.fsname,\n\t\t'fstype': filesystem.fstype,\n\t\t'fslabel': filesystem.fslabel,\n\t\t'fsdrivetype': filesystem.fsdrivetype\n\t};\n});\n\nreturn JSON.stringify(result);\n"]
DISCARD_UNCHANGED_HEARTBEAT ["1h"]

Discovery Rule: Mounted filesystem discovery: Item Prototypes

Discovery Rule: Mounted filesystem discovery: Item Prototype: FS [{#FSLABEL}({#FSNAME})]: Space: Available

Available storage space expressed in bytes.

vfs.fs.dependent.size[{#FSNAME},free]

Settings:

Item Setting Value
Type DEPENDENT
Source item vfs.fs.dependent[{#FSNAME},data]

Preprocessing steps:

Type Parameters
JSONPATH ["$.bytes.free"]
Discovery Rule: Mounted filesystem discovery: Item Prototype: FS [{#FSLABEL}({#FSNAME})]: Space: Used, in %

Calculated as the percentage of currently used space compared to the maximum available space.

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

Settings:

Item Setting Value
Type DEPENDENT
Value type FLOAT in %
Source item vfs.fs.dependent[{#FSNAME},data]

Preprocessing steps:

Type Parameters
JSONPATH ["$.bytes.pused"]
Discovery Rule: Mounted filesystem discovery: Item Prototype: FS [{#FSLABEL}({#FSNAME})]: Space: Total

Total space expressed in bytes.

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

Settings:

Item Setting Value
Type DEPENDENT
Source item vfs.fs.dependent[{#FSNAME},data]

Preprocessing steps:

Type Parameters
JSONPATH ["$.bytes.total"]
Discovery Rule: Mounted filesystem discovery: Item Prototype: FS [{#FSLABEL}({#FSNAME})]: Space: Used

Used storage expressed in bytes.

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

Settings:

Item Setting Value
Type DEPENDENT
Source item vfs.fs.dependent[{#FSNAME},data]

Preprocessing steps:

Type Parameters
JSONPATH ["$.bytes.used"]
Discovery Rule: Mounted filesystem discovery: Item Prototype: FS [{#FSLABEL}({#FSNAME})]: Get data

Intermediate data of {#FSNAME} filesystem.

vfs.fs.dependent[{#FSNAME},data]

Settings:

Item Setting Value
Type DEPENDENT
Value type TEXT
History 1h
Source item vfs.fs.get

Preprocessing steps:

Type Parameters
JSONPATH ["$.[?(@.fsname=='{#FSNAME}')].first()"]

Discovery Rule: Mounted filesystem discovery: Discovery Triggers

Discovery Rule: Mounted filesystem discovery: Trigger Prototype: FS [{#FSLABEL}({#FSNAME})]: Space is critically low

The volume’s space usage exceeds the {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}% limit.
The trigger expression is based on the current used and maximum available spaces.
Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.

Settings:

Trigger Setting Values
Priority AVERAGE
Manual close YES
min(/Windows by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}
Discovery Rule: Mounted filesystem discovery: Trigger Prototype: FS [{#FSLABEL}({#FSNAME})]: Space is low

The volume’s space usage exceeds the {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}% limit.
The trigger expression is based on the current used and maximum available spaces.
Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.

Settings:

Trigger Setting Values
Priority WARNING
Manual close YES
min(/Windows by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"}

Discovery Rule: Mounted filesystem discovery: Graph Prototypes

The following graph prototypes are defined by this Template

  • FS [{#FSLABEL}({#FSNAME})]: Space usage graph, in %
  • FS [{#FSLABEL}({#FSNAME})]: Space utilization chart

Macros

The following Zabbix macros are configured via this template.

Macro: {$AGENT.NODATA_TIMEOUT}

No data timeout for active agents. Consider to keep it relatively high.

Default:

Macro: {$AGENT.TIMEOUT}

Timeout after which agent is considered unavailable.

Default:

Macro: {$CPU.INTERRUPT.CRIT.MAX}

The critical threshold of the % Interrupt Time counter.

Default:

Macro: {$CPU.PRIV.CRIT.MAX}

The threshold of the % Privileged Time counter.

Default:

Macro: {$CPU.QUEUE.CRIT.MAX}

The threshold of the Processor Queue Length counter.

Default:

Macro: {$CPU.UTIL.CRIT}

The critical threshold of the CPU utilization expressed in %.

Default:

Macro: {$IF.ERRORS.WARN}

Warning threshold of error packet rate. Can be used with interface name as context.

Default:

Macro: {$IF.UTIL.MAX}

Used as a threshold in the interface utilization trigger.

Default:

Macro: {$IFCONTROL}

Macro for the interface operational state for the «link down» trigger. Can be used with interface name as context.

Default:

Macro: {$MEM.PAGE_SEC.CRIT.MAX}

The warning threshold of the Memory Pages/sec counter.

Default:

Macro: {$MEM.PAGE_TABLE_CRIT.MIN}

The warning threshold of the Free System Page Table Entries counter.

Default:

Macro: {$MEMORY.UTIL.MAX}

The warning threshold of the Memory util item.

Default:

Macro: {$NET.IF.IFALIAS.MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$NET.IF.IFALIAS.NOT_MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$NET.IF.IFDESCR.MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$NET.IF.IFDESCR.NOT_MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$NET.IF.IFNAME.MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$NET.IF.IFNAME.NOT_MATCHES}

Used in Network interface discovery. Can be overridden on the host or linked template level.

Default:

Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer

Macro: {$SERVICE.NAME.MATCHES}

Used in Service discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$SERVICE.NAME.NOT_MATCHES}

Used in Service discovery. Can be overridden on the host or linked template level.

Default:

^(?:RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|dbupdate|DoSvc|CDPUserSvc_.+|WpnUserService_.+|OneSyncSvc_.+|WbioSrvc|BITS|tiledatamodelsvc|GISvc|ShellHWDetection|TrustedInstaller|TabletInputService|CDPSvc|wuauserv|edgeupdate|cbdhsvc_.+)$

Macro: {$SERVICE.STARTUPNAME.MATCHES}

Used in Service discovery. Can be overridden on the host or linked template level.

Default:

^(?:automatic|automatic delayed)$

Macro: {$SERVICE.STARTUPNAME.NOT_MATCHES}

Used in Service discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$SWAP.PFREE.MIN.WARN}

The warning threshold of the minimum free swap.

Default:

Macro: {$VFS.DEV.DEVNAME.MATCHES}

Used in physical disk discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.DEV.DEVNAME.NOT_MATCHES}

Used in physical disk discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.DEV.READ.AWAIT.WARN}

Disk read average response time (in s) before the trigger fires.

Default:

Macro: {$VFS.DEV.UTIL.MAX.WARN}

The warning threshold of disk time utilization in percent.

Default:

Macro: {$VFS.DEV.WRITE.AWAIT.WARN}

Disk write average response time (in s) before the trigger fires.

Default:

Macro: {$VFS.FS.FSDRIVETYPE.MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.FS.FSDRIVETYPE.NOT_MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.FS.FSNAME.MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.FS.FSNAME.NOT_MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

^(?:/dev|/sys|/run|/proc|.+/shm$)

Macro: {$VFS.FS.FSTYPE.MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.FS.FSTYPE.NOT_MATCHES}

Used in filesystem discovery. Can be overridden on the host or linked template level.

Default:

Macro: {$VFS.FS.PUSED.MAX.CRIT}

The critical threshold of the filesystem utilization.

Default:

Macro: {$VFS.FS.PUSED.MAX.WARN}

The warning threshold of the filesystem utilization.

Default:

Dashboards

The following Zabbix dashboards are included in this template.

  • Filesystems
  • Network interfaces
  • System performance

Template OS Windows rus

Так же Ниже описания шаблона:
Проверка текущего времени узла сети
Как убрать лишние сетевые интерфейсы
Во 2 сообщении
Автоперезапуск / подъем упавших служб Windows
Автоматический Перезапуск (Перезагрузка) Windows
Завершение Сеанса Пользователей

СКАЧАТЬ

Скачать

Скачать

Скачать Без зависимости NoPingAgent {HOST.NAME}

Присоединенные шаблоны
Template App Zabbix Agent

Изменения
05.08.2020 добавлено сравнение времени расхождение

Template OS Windows rus

Макросы
{$HOST.PORTS} > 10050
{$IF_ERRORS_WARN} > 2

Template OS Windows rus Группы

Группы
Центральный процессор Элементы данных 11
Файловая система Элементы данных 4
Службы Элементы данных
Сетевой интерфейс Элементы данных
Процессы Элементы данных 1
Производительность Элементы данных 11
Операционная система Элементы данных 7
Общее Элементы данных 6
Template App Zabbix Agent: Zabbix агент Элементы данных 3
SWAP Память (файл подкачки) Элементы данных 8
RAM Память Элементы данных 18

Template OS Windows rus Элементы данных

Элементы данных
Template App Zabbix Agent: Имя хоста запущенного zabbix_агентаd Триггеры 1 agent.hostname 1h 1w Zabbix агент Zabbix агент Активировано

Template App Zabbix Agent: Агент пинг ping Триггеры 1 agent.ping 1m 1w 365d Zabbix агент Zabbix агент Активировано

Template App Zabbix Agent: Версия zabbix_агента(d) работает Триггеры 1 agent.version 1h 1w Zabbix агент Zabbix агент Активировано

Файл считывает байты в секунду perf_counter[\2\16] 1m 1w 365d Zabbix агент Производительность, Файловая система Активировано

Запись файла байт в секунду perf_counter[\2\18] 1m 1w 365d Zabbix агент Производительность, Файловая система Активировано

Число потоков perf_counter[\2\250] 1m 1w 365d Zabbix агент Операционная система Активировано

Память Ошибок страницы/сек Триггеры 1 perf_counter_en[\4\28] 1m 90d 90d Zabbix агент (активный) RAM Память, SWAP Память (файл подкачки), Производительность Активировано

Память и файл подкачки Учитывает промахи подсистемы кэширования обращение к диску не требуется Триггеры 1 perf_counter_en[\4\36] 1m 90d 90d Zabbix агент (активный) SWAP Память (файл подкачки) Активировано

Память и файл подкачки Память\Обмен страниц/с Триггеры 1 perf_counter_en[\4\40] 1m 90d 90d Zabbix агент Производительность, Файловая система Активировано

Память и файл подкачки Кол-во операций чтения, совершенных при подкачке Триггеры 1 perf_counter_en[\4\42] 1m 90d 90d Zabbix агент Производительность, Файловая система Активировано

Память и файл подкачки Кол-во страниц, прочитанных с диска Триггеры 1 perf_counter_en[\4\822] 1m 90d 365d Zabbix агент (активный) SWAP Память (файл подкачки) Активировано

Число процессов Триггеры 1 proc.num[] 1m 1w 90d Zabbix агент Процессы Активировано

Прерывания устройств. system.cpu.intr 1m 1w 365d Zabbix агент Центральный процессор Деактивировано

Загрузка процессора ALL (1 мин в среднем) system.cpu.load[all,avg1] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка процессора ALL (среднее 5 минут) system.cpu.load[all,avg5] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка процессора ALL (среднее 15 минут) system.cpu.load[all,avg15] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Загрузка процессора (1 мин в среднем) Триггеры 3 system.cpu.load[percpu,avg1] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка на процессор (в среднем 5 мин ) system.cpu.load[percpu,avg5] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка процессора (среднее 15 минут) system.cpu.load[percpu,avg15] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Общее Число ядер в процессорах CPU онлайн system.cpu.num[] 1h 1w 90d Zabbix агент Центральный процессор Активировано

Все CPU system Время затраченное на выполнение системных вызовов (5 мин в среднем) system.cpu.util[,system,avg5] 1m 1w 365d Zabbix агент Центральный процессор Активировано

Все CPU system Время затраченное на выполнение системных вызовов (15 мин в среднем) system.cpu.util[,system,avg15] 1m 1w 365d Zabbix агент Центральный процессор Активировано

Все CPU system Время затраченное на выполнение системных вызовов (1 мин в среднем) system.cpu.util[,system] 1m 1w 365d Zabbix агент Центральный процессор Активировано

Host name имя хоста Триггеры 1 system.hostname 1h 90d Zabbix агент Общее, Операционная система Активировано

Местное время хоста Триггеры 1 system.localtime 1m 90d 90d Zabbix агент Общее, Операционная система Активировано

Местное время хоста 2 Триггеры 1 system.localtime.fuzzytime 1m 90d 90d Вычисляемое Общее, Операционная система Деактивировано

Архитектура ПО system.sw.arch 6h 90d Zabbix агент Операционная система Активировано

Свободное место подкачки Триггеры 1 system.swap.size[,free] 1m 1w 90d Zabbix агент SWAP Память (файл подкачки) Активировано

Свободное место подкачки в файле % Триггеры 2 system.swap.size[,pfree] 1m 1w 90d Zabbix агент SWAP Память (файл подкачки) Активировано

Используемое место в файле подкачки, в % system.swap.size[,pused] 1m 1w 90d Zabbix агент SWAP Память (файл подкачки) Деактивировано

Общее пространство файла подкачки Триггеры 1 system.swap.size[,total] 1h 1w 90d Zabbix агент SWAP Память (файл подкачки) Активировано

Используется места в файле подкачки Триггеры 1 system.swap.size[,used] 1m 1w 90d Zabbix агент SWAP Память (файл подкачки) Активировано

Системная информация Триггеры 1 system.uname 1h 1w Zabbix агент Общее, Операционная система Активировано

Работоспособность системы Триггеры 1 system.uptime 1m 1w 365d Zabbix агент Общее Активировано

Число пользователей system.users.num 1m 1w 365d Zabbix агент Общее, Операционная система Активировано

Активная память находится в RAM vm.memory.size[active] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Память RAM, не связанная с файлами (повторное чтение из них невозможно). vm.memory.size[anon] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Доступная RAM память Триггеры 1 vm.memory.size[available] 1m 90d 90d Zabbix агент RAM Память Активировано

Буферная RAM память, кэш метаданных файловой системы. vm.memory.size[buffers] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Память RAM кэш для различных вещей vm.memory.size[cached] 1m 90d 90d Zabbix агент RAM Память Активировано

Выполняемая Память RAM, исполняемый код, в основном из (программ) файлов vm.memory.size[exec] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Файловая Память RAM, кэш содержимого наиболее часто используемых файлов. vm.memory.size[file] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Свободная память RAM Триггеры 2 vm.memory.size[free] 1m 1w 90d Zabbix агент RAM Память Активировано

Неактивная память RAM vm.memory.size[inactive] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Закрепленная память в RAM не может быть перемещена на диск. vm.memory.size[pinned] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Используемая память RAM в% Триггеры 2 vm.memory.size[pused] 1m 1w 90d Zabbix агент RAM Память Активировано

Общедоступная память RAM для нескольких процессов vm.memory.size[shared] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Общий объем памяти RAM используемый ядром для кэширования структур данных vm.memory.size[slab] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Общая память RAM Триггеры 1 vm.memory.size[total] 1h 1w 90d Zabbix агент RAM Память Активировано

Используемая память RAM Триггеры 1 vm.memory.size[used] 1m 1w 90d Zabbix агент RAM Память Активировано

Память всегда в RAM не используя диск vm.memory.size[wired] 1m 90d 90d Zabbix агент RAM Память Деактивировано

Свободная виртуальная память RAM, внутри % Триггеры 2 vm.vmemory.size[pavailable] 1m 1w 90d Zabbix агент RAM Память Активировано

Отображено 52 из 52 найденных

Template OS Windows rus Триггеры

Триггеры
Средняя Template App Zabbix Agent: NoPingAgent {HOST.NAME} {Template OS Windows:agent.ping.nodata(6m)}=1 Активировано

Информационная Template App Zabbix Agent: VersionAgent= {HOST.NAME} {Template OS Windows:agent.version.diff(0)}>0 Активировано

Средняя {HOST.NAME} только что было перезапущено {Template OS Windows:system.uptime.change(0)}<0 Активировано

Информационная Время Windows {HOST.HOST} отличается от времени Zabbix Server {Template OS Windows:system.localtime.fuzzytime(60)}=0 Активировано

Информационная Время Windows {HOST.HOST} отличается от времени Zabbix Server {Template OS Windows:system.localtime.fuzzytime.sum(#3)}=0 Деактивировано

Информационная Template App Zabbix Agent: Имя было изменено на {HOST.NAME} {Template OS Windows:agent.hostname.diff(0)}>0 Активировано

Информационная Имя было изменено на {HOST.NAME} {Template OS Windows:system.hostname.diff(0)}>0 Активировано

Средняя Информация о хосте была изменена на {HOST.NAME} {Template OS Windows:system.uname.diff(0)}>0 Активировано

Внимание/Предупреждение Нагрузка процессора более 70% на {HOST.NAME} {Template OS Windows:system.cpu.load[percpu,avg1].avg(5m)}>0.70 Активировано

Средняя Нагрузка процессора почти 100% на {HOST.NAME} {Template OS Windows:system.cpu.load[percpu,avg1].avg(5m)}>1 Активировано

Высокая Нагрузка процессора слишком высока на {HOST.NAME} {Template OS Windows:system.cpu.load[percpu,avg1].avg(5m)}>5 Активировано

Средняя Отсутствие доступной RAM виртуальной памяти 10% {HOST.NAME} Проблема: {Template OS Windows:vm.vmemory.size[pavailable].min(10m)}<10
Восстановление: {Template OS Windows:vm.vmemory.size[pavailable].min(10m)}>20 Активировано

Средняя Отсутствие свободной RAM памяти menee 5 % {HOST.NAME} {Template OS Windows:vm.memory.size[pused].min(5m)}>=95 or {Template OS Windows:vm.memory.size[total].last(0)}-({Template OS Windows:vm.memory.size[used].min(3m)}*1.06)<=0 or {Template OS Windows:vm.memory.size[total].last(0)}-({Template OS Windows:vm.memory.size[available].min(3m)}*20)>=0 or {Template OS Windows:vm.memory.size[total].last(0)}-({Template OS Windows:vm.memory.size[free].min(3m)}*20)>=0 or {Template OS Windows:vm.vmemory.size[pavailable].min(5m)}<=5 Активировано

Средняя Отсутствие свободной RAM памяти menee 5 % {HOST.NAME} {Template OS Windows:vm.memory.size[pused].min(5m)}>=95 Активировано

Средняя Отсутствие свободной RAM памяти {HOST.NAME} {Template OS Windows:vm.memory.size[free].last(0)}<10000 Активировано

Внимание/Предупреждение Память Обмен страниц/с, Файл подкачки чтение с диска, промахи кеша {Template OS Windows:perf_counter_en[\4\40].min(5)}>2500 or {Template OS Windows:perf_counter_en[\4\40].min(3m)}>{Template OS Windows:perf_counter_en[\4\36].min(3m)} and {Template OS Windows:perf_counter_en[\4\42].min(3)}>{Template OS Windows:perf_counter_en[\4\36].min(3m)} and {Template OS Windows:perf_counter_en[\4\822].min(3)}>{Template OS Windows:perf_counter_en[\4\36].min(3m)} and {Template OS Windows:perf_counter_en[\4\36].min(5m)}<90 or {Template OS Windows:perf_counter_en[\4\36].min(10m)}>3000 Деактивировано

Информационная Память Ошибок страницы/сек {Template OS Windows:perf_counter_en[\4\28].min(5m)}>1000 Активировано

Внимание/Предупреждение Свободного места swap в файла подкачки менее 50% на {HOST.NAME} {Template OS Windows:system.swap.size[,pfree].min(3m)}<50 Активировано

Высокая Свободного места swap подкачки менее 90% на {HOST.NAME} Проблема: {Template OS Windows:system.swap.size[,total].last(0)}<>0 and {Template OS Windows:system.swap.size[,pfree].max(3m)}<=10 or {Template OS Windows:system.swap.size[,total].last(0)}<>0 and {Template OS Windows:system.swap.size[,total].last(0)}-({Template OS Windows:system.swap.size[,used].min(3m)}*1.12)<=0 or {Template OS Windows:system.swap.size[,total].last(0)}<>0 and {Template OS Windows:system.swap.size[,total].last(0)}-({Template OS Windows:system.swap.size[,free].min(3m)}*10)>=0
Восстановление: {Template OS Windows:system.swap.size[,total].last(0)}=0 Активировано

Средняя Слишком много процессов на {HOST.NAME} {Template OS Windows:proc.num[].avg(5m)}>300 Активировано

Template OS Windows rus Графики

Графики
Свободная память RAM 900 200 Нормальный
Оперативная RAM память в% 900 200 Стэкируемый
Оперативная RAM память Круговой 900 200 Расширенный круговой
Оперативная RAM память 900 200 Стэкируемый
Использование файла подкачки памяти SWAP Круговой 900 200 Круговой
Использование файла подкачки SWAP % 900 200 Стэкируемый
Использование памяти файла подкачки SWAP 900 200 Нормальный
Загрузка процессора CPU 900 200 Нормальный

Комплексные экраны
Производительность системы

Template OS Windows rus Правила обнаружения

Правила обнаружения
Обнаружение сетевого интерфейса Прототипы элементов данных 22 Прототипы триггеров 14 Прототипы графиков 4 Прототипы узлов сети net.if.discovery 1h Zabbix агент Активировано

Обнаружение службы Windows Прототипы элементов данных 1 Прототипы триггеров 1 Прототипы графиков Прототипы узлов сети service.discovery 1h Zabbix агент Активировано

Смонтированная файловая система обнаружения Прототипы элементов данных 5 Прототипы триггеров 2 Прототипы графиков 1 Прототипы узлов сети vfs.fs.discovery 1h Zabbix агент Активировано

Список обнаружения Физических дисков Прототипы элементов данных 21 Прототипы триггеров 3 Прототипы графиков 6 Прототипы узлов сети disk.spisok.sh[{HOST.CONN},discovery.physical] 1h Внешняя проверка Деактивировано

Список обнаружения Логических дисков Прототипы элементов данных 21 Прототипы триггеров 3 Прототипы графиков 6 Прототипы узлов сети disk.spisok.sh[{HOST.CONN},discovery.logical] 1h Внешняя проверка Деактивировано

Список найденных CPU/CPU ядер Прототипы элементов данных 3 Прототипы триггеров Прототипы графиков Прототипы узлов сети system.cpu.discovery 6h Zabbix агент Деактивировано

Обнаружение сетевого интерфейса

Template OS Windows rus Правило Обнаружение сетевого интерфейса

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение сетевого интерфейса Прототипы Элементов

Коллизии за пределами окна (out-of-window) {#IFNAME} net.if.collisions[{#IFNAME}] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Входящий трафик кол-во сжатых пакетов {#IFNAME} net.if.in[{#IFNAME},compressed] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Входящий трафик кол-во отброшенных пакетов {#IFNAME} net.if.in[{#IFNAME},dropped] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Входящий трафик кол-во ошибок {#IFNAME} net.if.in[{#IFNAME},errors] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Входящий трафик кол-во ошибок кадрирования пакетов {#IFNAME} net.if.in[{#IFNAME},frame] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Входящий трафик кол-во кадров многоадресного вещания {#IFNAME} net.if.in[{#IFNAME},multicast] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Входящий трафик кол-во ошибок FIFO буфера {#IFNAME} net.if.in[{#IFNAME},overruns] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Входящий сетевой трафик пакетов {#IFNAME} net.if.in[{#IFNAME},packets] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Входящий сетевой трафик {#IFNAME} net.if.in[{#IFNAME}] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Исходящий трафик кол-во потерь несущей {#IFNAME} net.if.out[{#IFNAME},carrier] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Исходящий трафик кол-во коллизий обнаруженных на {#IFNAME} net.if.out[{#IFNAME},collisions] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Исходящий трафик кол-во отброшенных пакетов {#IFNAME} net.if.out[{#IFNAME},dropped] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Исходящий трафик кол-во ошибок {#IFNAME} net.if.out[{#IFNAME},errors] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Исходящий сетевой трафик пакетов {#IFNAME} net.if.out[{#IFNAME},packets] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Исходящий сетевой трафик {#IFNAME} net.if.out[{#IFNAME}] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Суммарное кол-во сжатых пакетов на {#IFNAME} net.if.total[{#IFNAME},compressed] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Суммарное кол-во отброшенных пакетов на {#IFNAME} net.if.total[{#IFNAME},dropped] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Суммарное кол-во ошибок на {#IFNAME} net.if.total[{#IFNAME},errors] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Суммарное кол-во ошибок FIFO буфера на {#IFNAME} net.if.total[{#IFNAME},overruns] 1m 1w 365d Zabbix агент Сетевой интерфейс Нет

Суммарный сетевой трафик пакетов на {#IFNAME} net.if.total[{#IFNAME},packets] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

Суммарный сетевой трафик {#IFNAME} net.if.total[{#IFNAME}] 1m 1w 365d Zabbix агент Сетевой интерфейс Да

MAC адрес {#IFNAME} system.hw.macaddr[{#IFNAME},full] 6h 90d Zabbix агент Сетевой интерфейс Да

Прототипы триггеров

Template OS Windows rus Правило Обнаружение сетевого интерфейса Прототипы Триггеров

Высокая 95% LAN загрузка входящего трафика {#IFNAME} {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}>=95M and {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}<=100M Да

Высокая 95% LAN загрузка входящего трафика {#IFNAME} {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}>=950M and {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}<=1000M Да

Высокая 95% LAN загрузка исходящего трафика {#IFNAME} {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}>=95M and {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}<=100M Да

Высокая 95% LAN загрузка исходящего трафика {#IFNAME} {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}>=950M and {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}<=1000M Да

Высокая 95% LAN загрузка суммарного трафика {#IFNAME} {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}>=95M and {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}<=100M Да

Высокая 95% LAN загрузка суммарного трафика {#IFNAME} {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}>=950M and {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}<=1000M Да

Чрезвычайная Аварийная 100% LAN загрузка входящего трафика {#IFNAME} {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}>=100M and {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}<=950M Да

Чрезвычайная Аварийная 100% LAN загрузка входящего трафика {#IFNAME} {Template OS Windows:net.if.in[{#IFNAME}].min(10m)}>=1000M Да
Чрезвычайная Аварийная 100% LAN загрузка исходящего трафика {#IFNAME} {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}>=100M and {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}<=950M Да

Чрезвычайная Аварийная 100% LAN загрузка исходящего трафика {#IFNAME} {Template OS Windows:net.if.out[{#IFNAME}].min(10m)}>=1000M Да

Чрезвычайная Аварийная 100% LAN загрузка суммарного трафика {#IFNAME} {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}>=100M and {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}<=950M Да

Чрезвычайная Аварийная 100% LAN загрузка суммарного трафика {#IFNAME} {Template OS Windows:net.if.total[{#IFNAME}].min(10m)}>=1000M Да

Внимание/Предупреждение Интерфейс {#IFNAME}: Высокая частота отброшенных пакетов Проблема: {Template OS Windows:net.if.in[{#IFNAME},dropped].avg(5m)}>{$IF_ERRORS_WARN:»{#IFNAME}»} or {Template OS Windows:net.if.out[{#IFNAME},dropped].avg(5m)}>{$IF_ERRORS_WARN:»{#IFNAME}»}
Восстановление: {Template OS Windows:net.if.in[{#IFNAME},dropped].avg(5m)}<{$IF_ERRORS_WARN:»{#IFNAME}»} * 0.8 and {Template OS Windows:net.if.in[{#IFNAME},dropped].avg(5m)}<{$IF_ERRORS_WARN:»{#IFNAME}»} * 0.8 Нет

Внимание/Предупреждение Интерфейс {#IFNAME}: Высокая частота ошибок Проблема: {Template OS Windows:net.if.in[{#IFNAME},errors].avg(5m)}>{$IF_ERRORS_WARN:»{#IFNAME}»} or {Template OS Windows:net.if.out[{#IFNAME},errors].avg(5m)}>{$IF_ERRORS_WARN:»{#IFNAME}»}
Восстановление: {Template OS Windows:net.if.in[{#IFNAME},errors].avg(5m)}<{$IF_ERRORS_WARN:»{#IFNAME}»} * 0.8 and {Template OS Windows:net.if.in[{#IFNAME},errors].avg(5m)}<{$IF_ERRORS_WARN:»{#IFNAME}»} * 0.8 Да

Прототипы графиков

Template OS Windows rus Правило Обнаружение сетевого интерфейса Прототипы Графиков

Сетевой трафик на {#IFNAME} 900 200 Нормальный
Пакеты Сетевой трафик на {#IFNAME} 900 200 Нормальный
Ошибки на сетевом интерфейсе {#IFNAME} 900 200 Нормальный
Отброшенные на сетевом интерфейсе {#IFNAME} 900 200 Нормальный

Обнаружение службы Windows

Template OS Windows rus Правило Обнаружение службы Windows

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение службы Windows Прототипы Элемента данных

Служба «{#SERVICE.NAME}» ({#SERVICE.DISPLAYNAME}) service.info[{#SERVICE.NAME},state] 1m 1w 365d Zabbix агент Службы Да

Прототипы триггеров

Template OS Windows rus Правило Обнаружение службы Windows Прототипы Триггеров

Средняя Служба «{#SERVICE.NAME}» ({#SERVICE.DISPLAYNAME}) не работает (тип запуска {#SERVICE.STARTUPNAME}) {Template OS Windows:service.info[{#SERVICE.NAME},state].min(#3)}<>0 Да #SERVICE.NAME: {#SERVICE.NAME}{#SERVICE.NAME}

Смонтированная файловая система обнаружения

Template OS Windows rus Правило Обнаружение Смонтированная файловая система обнаружения

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение Смонтированная файловая система обнаружения Прототипы элемента данных

Свободное место на диске {#FSNAME} vfs.fs.size[{#FSNAME},free] 1m 1w 365d Zabbix агент Файловая система Да

Свободное место на диске {#FSNAME} (в процентах) vfs.fs.size[{#FSNAME},pfree] 1m 1w 365d Zabbix агент Файловая система Да

Использовано место на диске {#FSNAME} (в процентах) vfs.fs.size[{#FSNAME},pused] 1m 1w 365d Zabbix агент Файловая система Да

Общее место на диске {#FSNAME} vfs.fs.size[{#FSNAME},total] 1h 1w 365d Zabbix агент Файловая система Да

Использованное место на диске {#FSNAME} vfs.fs.size[{#FSNAME},used] 1m 1w 365d Zabbix агент Файловая система Да

Прототипы триггеров

Template OS Windows rus Правило Обнаружение Смонтированная файловая система обнаружения Прототипы Триггеров

Внимание/Предупреждение Свободное место на диске меньше 15% на томе {#FSNAME}
Зависит от:
Template OS Windows rus: Свободное место на диске составляет менее 1% на томе {#FSNAME}
Проблема: {Template OS Windows:vfs.fs.size[{#FSNAME},pfree].last(0)}<15
Восстановление: {Template OS Windows:vfs.fs.size[{#FSNAME},pfree].last(0)}<2 or {Template OS Windows:vfs.fs.size[{#FSNAME},pfree].last(0)}>15 Да

Чрезвычайная Аварийная Свободное место на диске составляет менее 1% на томе {#FSNAME} {Template OS Windows:vfs.fs.size[{#FSNAME},pfree].last(0)}<1 Да

Прототипы графиков
Использование дискового пространства {#FSNAME} 600 340 Расширенный круговой

Список найденных CPU/CPU ядер

Template OS Windows rus Правило Обнаружение Список найденных CPU ядер

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение Список найденных CPU ядер Прототипы элементов данных

Время system затраченное на выполнение системных вызовов (1 мин в среднем) CPU{#CPU.NUMBER}-{#CPU.STATUS} system.cpu.util[{#CPU.NUMBER},system,avg1] 1m 90d 90d Zabbix агент Центральный процессор Да

Время system затраченное на выполнение системных вызовов (5 мин в среднем) CPU{#CPU.NUMBER}-{#CPU.STATUS} system.cpu.util[{#CPU.NUMBER},system,avg5] 1m 90d 90d Zabbix агент Центральный процессор Да

Время system затраченное на выполнение системных вызовов (15 мин в среднем) CPU{#CPU.NUMBER}-{#CPU.STATUS} system.cpu.util[{#CPU.NUMBER},system,avg15] 1m 90d 90d Zabbix агент Центральный процессор Да

Скрипт для дисков disk.spisok.sh

Код: Выделить всё

#!/bin/bash
#2021/08/19 v1.0
# Автор Мамзиков Артём Андреевич Описание по скрипту
# Получение списка Физических Логических дисков

#./net.if.sh 192.168.ххх.ххх discovery 10050, ключ disk.spisok.sh[{HOST.CONN},discovery,{HOST.PORT}]
# {HOST.HOST} -Имя узла сети; {HOST.CONN} -IP адрес или DNS имя узла сети; {HOST.PORT} -Порт узла сети (агента)

if [[ $2 = "discovery.physical" ]]
then

# Список Физический/Логический диск|Удалить шапку|Удалить пустые строки|Удалить пробелы в конце строки и каретку \r|Подстановка макроса|зыкрытие }, кроме последней строки| закрытие последней строки}
DISKNUM=$(zabbix_get -s $1 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed -e '/^$/d'| sed 's/[ ]*\r//'|sed 's/^/\t{\"{#DISKNUMLET}\":\"/'|sed '$!s/.$/\"},/'|sed '${s/$/\"}/}')

# Вариант с портом
#DISKNUM=$(zabbix_get -s $1 -p $3 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed -e '/^$/d'| sed 's/[ ]*\r//'|sed 's/^/\t{\"{#DISKNUMLET}\":\"/'|sed '$!s/.$/\"},/'|sed '${s/$/\"}/}')

#echo "${DISKNUM}"

# Проверка что ответ не пустой или не ошибка, если пусто то отправляем _Total
if [ -z "${DISKNUM}" ]; then DISKNUM={"{#DISKNUMLET}":"_Total"}
elif [[ "${DISKNUM}" =~ ZBX_NOTSUPPORTED|Timeout|ERROR|WMIC ]]; then DISKNUM={"{#DISKNUMLET}":"_Total"}
fi

#case $DISKNUM in
#        *ZBX_NOTSUPPORTED*|*Timeout*)
#         DISKNUM={"{#DISKNUMLET}":"_Total"}
#         ;;
#esac

# Формируе Вывод
JSONPHY="[\n"$DISKNUM"\n]"
echo -e "${JSONPHY}"
fi


if [[ $2 = "discovery.logical" ]]
then

# Список Физический/Логический диск|Удалить шапку|Удаление номеров дисков|Удаление пробелов и каретки \r|Диски по строкам|Удаление пустых строк|Подстановка макроса|зыкрытие }, кроме последней строки| закрытие последней строки}
FSNAME=$(zabbix_get -s $1 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed 's/^[0-9] *//'|tr -d ' \r'|sed 's/:/:\n/g'|sed -e '/^$/d'| sed 's/^/\t{\"{#FSNAME}\":\"/'|sed '$!s/$/\"},/'|sed '${s/$/\"}/}')


# Вариант с портом
#FSNAME=$(zabbix_get -s $1 -p $3 -k system.run["WMIC.exe /NAMESPACE:\\\root\CIMV2 PATH win32_PerfFormattedData_PerfDisk_PhysicalDisk GET Name"]|sed -e '/Name/d'|sed 's/^[0-9] *//'|tr -d ' \r'|sed 's/:/:\n/g'|sed -e '/^$/d'| sed 's/^/\t{\"{#FSNAME}\":\"/'|sed '$!s/$/\"},/'|sed '${s/$/\"}/}')

# Проверка что ответ не пустой или не ошибка, если пусто то отправляем _Total
if [ -z "${FSNAME}" ]; then FSNAME={"{#FSNAME}":"_Total"}
elif [[ "${FSNAME}" =~ ZBX_NOTSUPPORTED|Timeout|ERROR|WMIC ]]; then FSNAME={"{#FSNAME}":"_Total"}
fi

# Формируе Вывод
JSONLOG="[\n"$FSNAME"\n]"
echo -e "${JSONLOG}"
fi

Список обнаружения Физических дисков

Template OS Windows rus Правило Обнаружение Список обнаружения Физических дисков

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение Список обнаружения Физических дисков Прототипы элементов данных

Текущая длина очереди Физического диска {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\198] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность Физического диска в % {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\200] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность чтением Физического диска в % {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\202] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность записью Физического диска в % {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\204] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Среднее время в сек, выполнения Физическим диском одной операции чтения или записи. {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\206] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск\Среднее время Чтения с диска (с) % {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\208] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск\Среднее время Записи на диск (с) {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\210] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общее кол-во операций ввода\вывода, обработанных Физическим диском за 1 сек {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\212] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Количество обработанных запросов(обращений) на чтение Физическим диском за 1 сек {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\214] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Количество обработанных запросов(обращений) на запись Физическим диском за 1 сек {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\216] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Скорость обмена (байт/с){#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\218] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Скорость Чтения (байт/с) {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\220] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Скорость Записи (байт/с) {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\222] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Среднее кол-во байт, одной операции Чтения\Записи. Физического диска {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\224] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Кол-во байт при одной операции Чтения Физического диска {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\226] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Кол-тво байт, передаваемое при одной операции Записи. Физического диска {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\228] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Кол-во запросов(средняя длина), стоящих в очереди к диску {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\1400] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Кол-во запросов Чтения(средняя длина), стоящих в очереди к диску {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\1402] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск Кол-во запросов Записи(средняя длина), стоящих в очереди к диску {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\1404] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск простаивает, в % {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\1482] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Физический диск расщеплений операций ввода-вывода за секунду {#DISKNUMLET} perf_counter_en[\234({#DISKNUMLET})\1484] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Прототипы триггеров

Template OS Windows rus Правило Обнаружение Список обнаружения Физических дисков Прототипы Триггеров

Внимание/Предупреждение Утилизация физического диска {#DISKNUMLET} {Template OS Windows:perf_counter_en[\234({#DISKNUMLET})\1482].last()}<20 Нет

Внимание/Предупреждение Физический диск\Среднее время чтения с диска у {#DISKNUMLET} {Template OS Windows:perf_counter_en[\234({#DISKNUMLET})\208].last()}>12 Да

Внимание/Предупреждение Физический диск Кол-во запросов, стоящих в очереди к диску {#DISKNUMLET} {Template OS Windows:perf_counter_en[\234({#DISKNUMLET})\1400].min(5)}>8 Да

Прототипы графиков

Template OS Windows rus Правило Обнаружение Список обнаружения Физических дисков Прототипы Графиков

Средняя Длина Очереди\(Запросов) Физического диска {#DISKNUMLET} 900 200 Нормальный
Среднее кол-во байт, одной операции Физического диска {#DISKNUMLET} 900 200 Нормальный
Среднее время сек обращения к Физическим дискам {#DISKNUMLET} 900 200 Нормальный
Скорость обмена (байт/с) Физического диска {#DISKNUMLET} 900 200 Нормальный
Кол-во обращений в секунду Физического диска {#DISKNUMLET} 900 200 Нормальный
Активное Время % Физического диска {#DISKNUMLET} 900 200 Нормальный

Список обнаружения Логических дисков

Template OS Windows rus Правило Обнаружение Список обнаружения Логических дисков

Прототипы элементов данных

Template OS Windows rus Правило Обнаружение Список обнаружения Логических дисков Прототипы Элементов данных

Текущая длина очереди Логического диска {#FSNAME} perf_counter_en[\236({#FSNAME})\198] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность Логического диска в % {#FSNAME} perf_counter_en[\236({#FSNAME})\200] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность чтением Логического диска в % {#FSNAME} perf_counter_en[\236({#FSNAME})\202] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общей загруженность записью Логического диска в % {#FSNAME} perf_counter_en[\236({#FSNAME})\204] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Среднее время в сек, выполнения Логическим диском одной операции чтения или записи. {#FSNAME} perf_counter_en[\236({#FSNAME})\206] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск\Среднее время Чтения с диска (с) % {#FSNAME} perf_counter_en[\236({#FSNAME})\208] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск\Среднее время Записи на диск (с) {#FSNAME} perf_counter_en[\236({#FSNAME})\210] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Общее кол-во операций ввода\вывода, обработанных Логическим диском за 1 сек {#FSNAME} perf_counter_en[\236({#FSNAME})\212] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Количество обработанных запросов(обращений) на чтение Логическим диском за 1 сек {#FSNAME} perf_counter_en[\236({#FSNAME})\214] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Количество обработанных запросов(обращений) на запись Логическим диском за 1 сек {#FSNAME} perf_counter_en[\236({#FSNAME})\216] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Скорость обмена (байт/с) {#FSNAME} perf_counter_en[\236({#FSNAME})\218] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Скорость Чтения (байт/с) {#FSNAME} perf_counter_en[\236({#FSNAME})\220] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Скорость Записи (байт/с) {#FSNAME} perf_counter_en[\236({#FSNAME})\222] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Среднее кол-во байт, одной операции Чтения\Записи. Логического диска {#FSNAME} perf_counter_en[\236({#FSNAME})\224] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Кол-во байт при одной операции Чтения Логического диска {#FSNAME} perf_counter_en[\236({#FSNAME})\226] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Кол-во байт, передаваемое при одной операции Записи Логического диска {#FSNAME} perf_counter_en[\236({#FSNAME})\228] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Кол-во запросов(средняя длина), стоящих в очереди к диску {#FSNAME} perf_counter_en[\236({#FSNAME})\1400] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Кол-во запросов Чтения(средняя длина), стоящих в очереди к диску {#FSNAME} perf_counter_en[\236({#FSNAME})\1402] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск Кол-во запросов Записи(средняя длина), стоящих в очереди к диску {#FSNAME} perf_counter_en[\236({#FSNAME})\1404] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск простаивает, в % {#FSNAME} perf_counter_en[\236({#FSNAME})\1482] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Логический диск расщеплений операций ввода-вывода за секунду {#FSNAME} perf_counter_en[\236({#FSNAME})\1484] 1m 90d 90d Zabbix агент (активный) Производительность, Файловая система Да

Прототипы триггеров

Template OS Windows rus Правило Обнаружение Список обнаружения Логических дисков Прототипы Триггеров

Внимание/Предупреждение Логический диск\Среднее время записи на диск (с) {#FSNAME} {Template OS Windows:perf_counter_en[\236({#FSNAME})\210].last()}>0.06 Да

Внимание/Предупреждение Логический диск\Среднее время чтения с диска {#FSNAME} {Template OS Windows:perf_counter_en[\236({#FSNAME})\208].last()}>0.6 Да

Внимание/Предупреждение Логический диск Кол-во запросов, стоящих в очереди к диску {#FSNAME} {Template OS Windows:perf_counter_en[\236({#FSNAME})\1400].min(5)}>8 Да

Прототипы графиков

Template OS Windows rus Правило Обнаружение Список обнаружения Логических дисков Прототипы Графиков

Средняя Длина Очереди\(Запросов) Логического диска {#FSNAME} 900 200 Нормальный
Среднее кол-во байт, одной операции Логического диска {#FSNAME} 900 200 Нормальный
Среднее время сек обращения к Логическим дискам {#FSNAME} 900 200 Нормальный
Скорость обмена (байт/с) Логического диска {#FSNAME} 900 200 Нормальный
Кол-во обращений в секунду Логического диска {#FSNAME} 900 200 Нормальный
Активное Время % Логического диска {#FSNAME} 900 200 Нормальный

Данные настройки шаблона связаны с настройками шаблона графаны
Внизу поста

Проверка текущего времени узла сети
Проверка расхождения времени влияет на активные проверки и на элементы сравнения по времени.
Системное время.
Ключ system.localtime[<тип>]
utc — (по умолчанию) время с начала Эпохи (00:00:00 UTC, Январь 1, 1970), измеренное в секундах.
local — время в формате ‘гггг-мм-дд,чч:мм:сс.ннн,+чч:мм’

Проверка в терминале заббикс сервера
zabbix_get -s 192.168.175.9 -p 10050 -k system.localtime Ответ 1645882547
zabbix_get -s 192.168.175.9 -p 10050 -k system.localtime[local] Ответ 2022-02-26,16:37:05.397,+03:00

Функция
fuzzytime секунды — Проверка, на сколько отличается штамп времени значения элемента данных от времени Zabbix сервера.
Возвращает:
1 — если разница между штампом времени значения элемента данных и штампом времени Zabbix сервера меньше или равна сек секунд
0 — в противном случае.
Пример: fuzzytime(60)=0 > обнаружение проблемы, если разница во времени больше 60 секунд

Создаем элементы данных:

Имя: Местное время хоста
Тип: Zabbix агент
Ключ: system.localtime
Тип информации: Числовой (целое положительное)
Единица измерения: unixtime
Группа: Операционная система
Интервал обновления: 1m
Описание:
Системное время.
utc — (по умолчанию) время с начала Эпохи (00:00:00 UTC, Январь 1, 1970), измеренное в секундах.
local — время в формате ‘гггг-мм-дд,чч:мм:сс.ннн,+чч:мм’

В данном элементе данных может получаться большая погрешность, если интервал обновления будет большой (несколько минут),
а проверяемая разница небольшая (десятки секунд) в триггере

Еще создадим вычисляемый элемент данных с функцией fuzzytime вычисляемое значение сразу в элементе.

Имя: Местное время хоста 2
Тип: Вычисляемое
Ключ: system.localtime.fuzzytime
Формула: fuzzytime(system.localtime,60)
Тип информации: Числовой (целое положительное)
Единица измерения: unixtime
Группа: Операционная система
Интервал обновления: 1m
Описание:
Системное время.
utc — (по умолчанию) время с начала Эпохи (00:00:00 UTC, Январь 1, 1970), измеренное в секундах.
local — время в формате ‘гггг-мм-дд,чч:мм:сс.ннн,+чч:мм’

В данном случае функция fuzzytime сравнивает время
на сервере zabbix и локальным временем наблюдаемого узла.
Если разница больше 60 секунд,
функция возвратит 0, если меньше, то 1

Текущее время узла Элемент данных zabbix windows

ТРИГГЕРЫ

Имя: Время Windows {HOST.HOST} отличается от времени Zabbix Server
Важность: Информационная
Выражение: {Template OS Windows:system.localtime.fuzzytime(60)}=0
Разрешить закрывать вручную: V
Описание:
fuzzytime (сек)
1 — если разница между штампом времени значения элемента данных и штампом времени Zabbix сервера меньше или равна сек секунд
0 — в противном случае
Последнее значение:
{ITEM.VALUE}
{ITEM.LASTVALUE}

Имя: Время Windows {HOST.HOST} отличается от времени Zabbix Server
Важность: Информационная
Выражение: {Template OS Windows:system.localtime.fuzzytime.sum(#3)}=0
Разрешить закрывать вручную: V
Описание:
Если 3 последние проверки были с ошибкой, то их сумма будет равно 0.
Триггер сработает.
Как только время будет синхронизировано, триггер выйдет из проблемы
Последнее значение:
{ITEM.VALUE}
{ITEM.LASTVALUE}

Если 3 последних 0 т.е. 0+0+0 = 0 значит триггер срабатывает у нас есть расхождение более чем на 1 минуту

Проверка времени на узлах триггеры

Действие на синхронизацию времени при срабатывании триггера

Действие на синхронизацию времени.jpg

Команда net time \\192.168.ххх.ххх /set /y

Или стандартные если на них есть доступ
time.windows.com
time.nist.gov
time-nw.nist.gov
time-a.nist.gov
time-b.nist.gov
time-b-wwv.nist.gov
time-e-wwv.nist.gov
time-e-g.nist.gov
time-a-g.nist.gov
utcnist.colorado.edu
ntp-d.nist.gov
ntp-b.nist.gov

Как настроить службу на Windows Пост ВК от 2012г Синхронизация времени в локальной сети
Добавлено Синхронизация даты и сделано 3 попытки через 5 минут

Синхронизация даты и времени Windows

date /T {$DATEDD.MM.YYYY}
time /t {TIME}
date {$DATEDD.MM.YYYY}
time {TIME}
net time \\192.168.***.*** /set /y
net time \\192.168.***.*** /set /y

Как сделать текущую дату в глобальный макрос разбирали тут В середине поста ТЕКУЩАЯ ДАТА в Элементе данных , макрос в zabbix

Как убрать лишние сетевые интерфейсы

Например у нас есть 2 интерфейса одного узла
Realtek PCIe GBE Family Controller и
TAP-Windows Adapter V9 for OpenVPN Connect

Сетевые интерфейсы пример.jpg

Такой список интерфейсов получаем командой net.if.discovery
{«{#IFNAME}»:»RAS Async Adapter»},
{«{#IFNAME}»:»Software Loopback Interface 1″},

Подключение по локальной сети:
{«{#IFNAME}»:»Realtek PCIe GBE Family Controller»},
{«{#IFNAME}»:»Realtek PCIe GBE Family Controller-QoS Packet Scheduler-0000″},
{«{#IFNAME}»:»Realtek PCIe GBE Family Controller-WFP LightWeight Filter-0000″},

Подключение по локальной сети: «От ПО OpenVPN»
{«{#IFNAME}»:»TAP-Windows Adapter V9 for OpenVPN Connect»},
{«{#IFNAME}»:»TAP-Windows Adapter V9 for OpenVPN Connect-QoS Packet Scheduler-0000″},
{«{#IFNAME}»:»TAP-Windows Adapter V9 for OpenVPN Connect-WFP LightWeight Filter-0000″},

Туннельный адаптер Teredo Tunneling Pseudo-Interface:
{«{#IFNAME}»:»Teredo Tunneling Pseudo-Interface»},

Туннельный адаптер isatap:
{«{#IFNAME}»:»Адаптер Microsoft ISATAP»},
{«{#IFNAME}»:»Адаптер Microsoft ISATAP #2″},
{«{#IFNAME}»:»Адаптер Microsoft ISATAP #3″},

Программная реализация сетевых протоколов:
{«{#IFNAME}»:»WAN Miniport (IP)»},
{«{#IFNAME}»:»WAN Miniport (IP)-QoS Packet Scheduler-0000″},
{«{#IFNAME}»:»WAN Miniport (IPv6)»},
{«{#IFNAME}»:»WAN Miniport (IPv6)-QoS Packet Scheduler-0000″},
{«{#IFNAME}»:»WAN Miniport (L2TP)»},
{«{#IFNAME}»:»WAN Miniport (PPPOE)»},
{«{#IFNAME}»:»WAN Miniport (PPTP)»},
{«{#IFNAME}»:»WAN Miniport (SSTP)»},
{«{#IFNAME}»:»WAN Miniport (IKEv2)»},
{«{#IFNAME}»:»WAN Miniport (Network Monitor)»},
{«{#IFNAME}»:»WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000″},

Так же нашлись
Устройства предустановленные в системе,
устройства которые были когда-то подключены,но небыли удалены драйвера после отключения устройства,
так же созданные подключения (VPN PPPOE и тд) или ПО которое создает сетевой интерфейс

{«{#IFNAME}»:»Устройства Bluetooth (личной сети)»},
{«{#IFNAME}»:»Устройство Bluetooth (протокол RFCOMM TDI)»},

{«{#IFNAME}»:»Remote NDIS based Internet Sharing Device»},
{«{#IFNAME}»:»RemoteNDIS based Internet Sharing Device #2″},

{«{#IFNAME}»:»USB-адаптер беспроводных сетей 802.11 USB Wireless LAN»},
{«{#IFNAME}»:»802.11n USB Wireless LAN Card»}

Просмотреть командой через cmd
ipconfig /all
netsh interface show interface

Ключ заббикса net.if.list дает следующий ответ
zabbix_get -s 192.168.xxx.xxx -k net.if.list
Other unknown — Устройство Bluetooth (протокол RFCOMM TDI)
Other unknown — Remote NDIS based Internet Sharing Device #2
Ethernet enabled — WAN Miniport (IPv6)
Ethernet enabled — WAN Miniport (Network Monitor)
Ethernet enabled — Realtek PCIe GBE Family Controller-QoS Packet Scheduler-0000
Ethernet enabled — Realtek PCIe GBE Family Controller-WFP LightWeight Filter-0000
Ethernet enabled — WAN Miniport (IP)
Ethernet enabled — WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000
Ethernet enabled 192.168.xxx.xxx Realtek PCIe GBE Family Controller
Ethernet enabled — WAN Miniport (IP)-QoS Packet Scheduler-0000
Ethernet enabled — WAN Miniport (IPv6)-QoS Packet Scheduler-0000
Ethernet unknown — Устройства Bluetooth (личной сети)
Ethernet unknown — Remote NDIS based Internet Sharing Device
PPP enabled — WAN Miniport (PPPOE)
PPP enabled — RAS Async Adapter
Software Loopback enabled 127.0.0.1 Software Loopback Interface 1
unknown enabled — TAP-Windows Adapter V9 for OpenVPN Connect
unknown enabled — TAP-Windows Adapter V9 for OpenVPN Connect-QoS Packet Scheduler-0000
unknown enabled — TAP-Windows Adapter V9 for OpenVPN Connect-WFP LightWeight Filter-0000
IEEE 802.11 Wireless unknown — USB-адаптер беспроводных сетей 802.11 USB Wireless LAN
IEEE 802.11 Wireless unknown — 802.11n USB Wireless LAN Card
Tunnel type encapsulation enabled — WAN Miniport (SSTP)
Tunnel type encapsulation enabled — WAN Miniport (IKEv2)
Tunnel type encapsulation enabled — WAN Miniport (L2TP)
Tunnel type encapsulation enabled — WAN Miniport (PPTP)
Tunnel type encapsulation enabled — Адаптер Microsoft ISATAP
Tunnel type encapsulation enabled — Teredo Tunneling Pseudo-Interface
Tunnel type encapsulation enabled — Адаптер Microsoft ISATAP #2
Tunnel type encapsulation enabled — Адаптер Microsoft ISATAP #3

В правиле обнаружения вкладка Фильтры
{#IFNAME} совпадает @Network interfaces for discovery

Фильтр для Обнаружение сетевого интерфейса

Далее идем Администрирование -> Регулярные выражения -> Network interfaces for discovery

Регулярное выражение Network interfaces for discovery

Далее меняем/добавляем регулярки, для того чтоб убрать лишние сетевые интерфейсы

Глобальные регулярные выражения

Используется как для Windows так и для Linux! Так же может применятся в других шаблонах таких как SNMP

Стандартно
^Software Loopback Interface [Результат ЛОЖЬ]
^(In)?[Ll]oop[Bb]ack[0-9._]*$ [Результат ЛОЖЬ]
^NULL[0-9.]*$ [Результат ЛОЖЬ]
^[Ll]o[0-9.]*$ [Результат ЛОЖЬ]
^[Ss]ystem$ [Результат ЛОЖЬ]
^Nu[0-9.]*$ [Результат ЛОЖЬ]

Некоторый список для Windows что можно скрыть, стоит учесть если вы начнете пользоватся данным адаптером, а он у вас скрыт для обнаружения и данные для этого интерфейся вы получать не будете!!!
^WAN Miniport [Результат ЛОЖЬ]
^Microsoft Loopback [Результат ЛОЖЬ]
^RAS Async Adapter [Результат ЛОЖЬ]
^MS TCP Loopback interface [Результат ЛОЖЬ]
^WAN Miniport (Network Monitor)-QoS [Результат ЛОЖЬ]
^WAN Miniport (Network Monitor)-Symantec [Результат ЛОЖЬ]
^lo$ [Результат ЛОЖЬ]
^Software Loopback Interface [Результат ЛОЖЬ]
^Teredo Tunneling [Результат ЛОЖЬ]
^Microsoft ISATAP [Результат ЛОЖЬ]
^vmxnet3 Ethernet Adapter-WFP [Результат ЛОЖЬ]
LightWeight Filter [Результат ЛОЖЬ]
QoS Packet Scheduler [Результат ЛОЖЬ]
Symantec Endpoint Protection [Результат ЛОЖЬ]
Microsoft Kernel Debug Network Adapter [Результат ЛОЖЬ]

RAS асинхронный адаптер [Результат ЛОЖЬ]
Адаптер Microsoft ISATAP [Результат ЛОЖЬ]
WFP LightWeight Filter [Результат ЛОЖЬ]
RAS Async Adapter [Результат ЛОЖЬ]
network traffic on WAN Miniport [Результат ЛОЖЬ]
Сетевой адаптер с отладкой ядра [Результат ЛОЖЬ]
Туннельный адаптер Microsoft Teredo [Результат ЛОЖЬ]
Мини-порт глобальной сети [Результат ЛОЖЬ]
Kaspersky Lab NDIS [Результат ЛОЖЬ]
Microsoft Kernel Debug Network Adapter [Результат ЛОЖЬ]
WFP 802.3 MAC Layer LightWeight Filter [Результат ЛОЖЬ]
WFP Native MAC Layer LightWeight Filter [Результат ЛОЖЬ]
QoS Packet Scheduler [Результат ЛОЖЬ]
^Software Loopback Interface [Результат ЛОЖЬ]
^lo$ [Результат ЛОЖЬ]

можно создать регулярное выражение, которое исключает несколько подстрок, так:
^((?!()|()|()).*)$
Сами подстроки пихать в пустые скобки.

Еще варианты переделать ключ с
net.if.discovery на wmi.getll
wmi.getll — работает с версии 4.4 wmi.getall[<пространство_имён>,<запрос>]
Обнаружение с использованием WMI запросов
Исходник агента
{«wmi.get», CF_HAVEPARAMS, WMI_GET, «root\\cimv2,select Caption from Win32_OperatingSystem»},
{«wmi.getall», CF_HAVEPARAMS, WMI_GETALL, «root\\cimv2,select * from Win32_OperatingSystem»},

Через скрипт powershell
сеть через
Get-WmiObject Win32_NetworkInterface
Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface обнаруживается
Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface | select name |where-object {$_.name -notlike ‘*isatap*’} | Where-Object {$_.name -notlike ‘*Teredo*’}

Еще один запрос обнаружения
LLD. в связи с тем что net.if.discovery уже был занят.
я создал Alias=net.if.discovery.error:net.if.discovery
Alias=net.if.discovery_v:net.if.discovery

На новых версиях 5 Есть Модули

Черз скрипт

net.if.discovery поменять на net.if.sh Внешняя проверка
ключ net.if.sh {HOST.CONN} {HOST.PORT} discovery
Скопировать его в /usr/local/share/zabbix/externalscripts

#!/bin/bash
#2021/07/06 v1.0
# Автор Мамзиков Артём Андреевич Описание по скрипту
# Получение списка Интерфейсов Windows которые в статусе подключены или находятся в папке Сетевые подключения

#./net.if.sh 192.168.221.89 10050 discovery , ключ net.if.sh {HOST.CONN} {HOST.PORT} discovery
# {HOST.HOST} -Имя узла сети; {HOST.CONN} -IP адрес или DNS имя узла сети; {HOST.PORT} -Порт узла сети (агента)

if [[ $3 = «discovery» ]]
then

# Запрос Сетевых интерфейсов
get=`zabbix_get -s $1 -p $2 -k system.run[«netsh interface show interface»]`

#Убрать первые 3 строки|Если коректно не отображается русский перекодируем из cp866 в utf8 или cp1251 в utf8|выбираем включенный|добавление табуляции от 3х пробелов|выводим последний столбец название адаптера|удалить пустую строку|удалить перенос каретки
kodr=$(echo «${get}»|tail -n +4|iconv -f cp866 -t utf8|sed -n ‘/Connected \|подключен \|enabled \|включен /Ip’|sed -E ‘s/ ([^ ])/\t\1/g; s/^1/1\t/;’|awk -F\\t ‘{print $4}’|sed -e ‘/^$/d’|tr -d ‘\r’)
kodir=$(echo «${get}»|tail -n +4|iconv -f cp1251 -t utf8|grep -i -E -w «Connected|Подключен|enabled|включен»|sed -E ‘s/ ([^ ])/\t\1/g; s/^1/1\t/;’|awk -F\\t ‘{print $4}’|sed -e ‘/^$/d’|tr -d ‘\r’)
#echo «${kodr}»
#echo «${kodir}»

# Текущие настройки протокола TCP/IP
info=`zabbix_get -s $1 -p $2 -k system.run[«ipconfig /all»]`

# Получаем описание|меняем кодировку|находим строку и выводим еще 4 ниже|выбираем 1 строку|Обрезаем все лишнее
NAME=$(echo «${info}»|iconv -f cp866 -t utf8|grep -i -A 4 -E -w «${kodr}»:|grep -i -E -w «Описание.|Description.»|sed ‘s|.*. : ||’)
NAMEP=$(echo «${info}»|iconv -f cp1251 -t utf8|grep -i -A 4 -E -w «${kodr}»:|grep -i -E -w «Описание.|Description.»|sed ‘s|.*. : ||’)
#echo «${NAME}»
#echo «${NAMEP}»

# Список Интерфейсов| подставить макрос| закрытие скобки| удаление табуляции и переноса строк| удаление последней запятой| Сделаем читаемый вид
obr=`echo «${NAME}»| sed ‘s/^/\t{\»{#IFNAME}\»:\»/’| sed ‘s/.$/\»},/’| tr -d ‘\t\n’| sed ‘s/,\+$//’| sed ‘s/\.*»},/»},\n/g’`
obrp=`echo «${NAMEP}»| sed ‘s/^/\t{\»{#IFNAME}\»:\»/’| sed ‘s/.$/\»},/’| tr -d ‘\t\n’| sed ‘s/,\+$//’| sed ‘s/\.*»},/»},\n/g’`

# Проверка правильного декодирования, по параметру что чтрока не пустая
# Если данные есть выводим их CP866
if [ -n «${kodr}» ]; then NAMELAN=»${obr}»
# Если данные есть выводим их CP1251
elif [ -n «${kodir}» ]; then NAMELAN=»${obrp}»
fi
# Формируе Вывод
JSON=»{\»data\»:[\n»»${NAMELAN}»»\n]}»
fi
echo -e «${JSON}»

Для триггера
Общая скорость 1000 или 100 мбит =100%
нам нужно получить 95% занято или 5% свободно, будем приравнивать к 0
текущую скорость нам необходимо умножить на х% , что бы при показателе 950 или 95 умножив на X получится сумма равная или большая от общей скорости (1000 и 100)
Получаем 1000-(950*Х)<=0
Получим Х
1000/1000=1 (100%)
1000/950=1,052 (95%)
1000/750=1.333 (75%)
1000/500=2 (50%)
1000/300=3,333 (30%)

Получаем
1000-(950*1.053)<=0
100-(95*1.053)<=0
Выходит 1 триггер под оба варианта.

Также нужно сделать чтоб триггер не срабатывал на отключеный порт со скорость 0
{Шаблон:Элемент данных.last(0)}<>0 and
{Шаблон:Элемент данных.last()}-({Шаблон:Элемент данных.min(3m)}*1.053)<=0

Skip to content


  • 858b91e8

    ………T [DEV-4132] updated zabbix version in media_types to 7.4

    ·
    858b91e8

    Alexander Bakaldin authored
    * commit '56834ade':
      .........T [DEV-4132] updated zabbix version in media_types to 7.4
      .........T [DEV-4132] updated zabbix version in templates to 7.4

    858b91e8

    ………T [DEV-4132] updated zabbix version in media_types to 7.4

    Alexander Bakaldin authored
    * commit '56834ade':
      .........T [DEV-4132] updated zabbix version in media_types to 7.4
      .........T [DEV-4132] updated zabbix version in templates to 7.4
Loading

Мониторинг сервера Windows позволяет отслеживать его работоспособность и оперативно реагировать на любые отклонения. Перезагрузки, заполнение дисков, нехватка оперативной памяти, высокая нагрузка на процессор, потеря связи или чрезмерное потребление трафика — всё это можно держать под контролем, если вы используете правильные инструменты.

В этом материале мы рассмотрим, как установить и настроить Zabbix-сервер и агент на Windows, а также какие моменты особенно важны для стабильной работы мониторинга.

Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.

Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.

Содержание:

  • Проверка версии Zabbix-сервера
  • Загрузка агента Zabbix
  • Установка агента Zabbix
  • Настройка хоста в Zabbix-сервере
  • Мониторинг и визуализация
  • Заключение

Проверка версии Zabbix-сервера

Перед началом убедитесь, какую версию Zabbix-сервера вы используете. Эту информацию можно найти в веб-интерфейсе Zabbix, перейдя в раздел Reports > System information.

В нашем примере используется версия 7.0.9.

Мониторинг серверов Windows с помощью агента Zabbix

Перед установкой агента на Windows-сервере необходимо определить его архитектуру и имя.

Мониторинг серверов Windows с помощью агента Zabbix

Эти данные критичны при выборе подходящего инсталляционного пакета.

Загрузка агента Zabbix

Перейдите на официальный сайт Zabbix и скачайте соответствующую версию агента.

При выборе версии обратите внимание на следующие параметры:

  • Операционная система: Windows
  • Архитектура: 64-bit
  • Совместимость по версии: должна соответствовать версии вашего Zabbix-сервера
  • Метод шифрования: рекомендуется выбрать OpenSSL
  • Формат установки: файл формата MSI

Мониторинг серверов Windows с помощью агента Zabbix

Выберите актуальную версию релиза агента и загрузите инсталлятор.

Мониторинг серверов Windows с помощью агента Zabbix

Установка агента Zabbix

Запустите установку агента Zabbix на вашем сервере Windows.

Мониторинг серверов Windows с помощью агента Zabbix

Примите условия лицензионного соглашения.

Мониторинг серверов Windows с помощью агента Zabbix

На следующем этапе выберите компоненты, которые необходимо установить. По умолчанию требуется около 8,70 МБ свободного пространства.

Мониторинг серверов Windows с помощью агента Zabbix

Путь установки — C:\Program Files\Zabbix Agent\.

Инсталлятор автоматически определит имя машины. Далее нужно указать IP-адрес сервера Zabbix, с которым агент будет связываться.

Также на этом этапе можно настроить защищённое соединение с использованием предустановленного ключа. Подробнее об этом методе читайте на официальной странице: Использование pre-shared ключей

Мониторинг серверов Windows с помощью агента Zabbix

Начните установку и дождитесь её завершения.

Мониторинг серверов Windows с помощью агента Zabbix

Мониторинг серверов Windows с помощью агента Zabbix

Настройка хоста в Zabbix-сервере

Чтобы добавить хост для мониторинга в системе Zabbix, откройте веб-интерфейс и перейдите в Data collection > Hosts.

Нажмите Create host (в правом верхнем углу) и укажите следующие параметры:

  • Имя хоста: например, DESKTOP-D75R1IG
  • Отображаемое имя: например, Windows Server
  • Шаблон: выберите Windows by Zabbix Agent — он включает в себя ключевые метрики Windows-систем
  • Группа: определяет логическое размещение сервера (например, Windows Servers)
  • Интерфейс: выберите тип Agent, укажите IP-адрес целевого сервера

Мониторинг серверов Windows с помощью агента Zabbix

Мониторинг и визуализация

Как только хост будет добавлен, вы начнёте получать информацию о состоянии сервера в режиме реального времени:

  • Общая производительность: загрузка CPU, использование памяти и состояние дисков

Мониторинг серверов Windows с помощью агента Zabbix

Мониторинг серверов Windows с помощью агента Zabbix

  • Работа служб Windows и подробная информация о системе

Мониторинг серверов Windows с помощью агента Zabbix

  • Потребление сетевого трафика

Мониторинг серверов Windows с помощью агента Zabbix

Кроме того, можно отслеживать отказоустойчивость, продолжительность аптайма и другие важные параметры.

Заключение

Zabbix предоставляет мощные инструменты для мониторинга серверов Windows, предлагая готовые шаблоны и гибкие возможности настройки. Это делает его незаменимым решением для построения системы централизованного наблюдения за ИТ-инфраструктурой.

Вдобавок к базовому мониторингу вы можете расширить функциональность, подключив контроль логов, событий безопасности, конкретных портов, отслеживание неудачных попыток входа в систему и многое другое. Всё это помогает оперативно реагировать на инциденты и минимизировать простои.

А если вы хотите углубиться в тему и освоить Zabbix на профессиональном уровне — обратите внимание на курс Zabbix 6. Мониторинг IT инфраструктуры предприятия. Это практическое и структурированное обучение, созданное с учётом реальных задач, с которыми сталкиваются системные администраторы и инженеры мониторинга.

Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Основы Zabbix: хосты, элементы данных и триггеры.

Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в телеграмм, чтобы узнавать обо всем первым — t.me/SysAdminHub

Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:

И есть ли в этом смысл?

Вот так, при помощи нехитрых манипуляций, можно смотреть красивые графики про десяток машин и один сервер. Но зачем?..

Вот так, при помощи нехитрых манипуляций, можно смотреть красивые графики про десяток машин и один сервер. Но зачем?..

Для тех, кто задумался и сомневается, я решил описать кое-что из своего опыта.

Мониторинг вообще штука полезная, бесспорно. У меня лично в какой-то период возникло сразу несколько задач:

  1. Круглосуточно и непрерывно мониторить одну специфическую железку по ряду параметров;

  2. Мониторить у рабочих станций информацию о температурах, ЦП в первую очередь;

  3. Всякие мелочи в связи с широким внедрением удалёнки: количество подключений по VPN, общее состояние дополнительных виртуальных машин.

Подробнее про локальные задачи:

  1. Надо было оценить и наглядно представить данные об интернет-канале. Канал на тот момент представлял собой 4G-роутер Huawei. Это устройство было последним, но далеко не первым в огромном количестве плясок с бубном в попытках избавиться от разного рода нестабильностей. Забегая вперёд: забирать с него данные напрямую о качестве сигнала более-менее стандартными средствами оказалось невозможно, и даже добраться до этих данных — отдельный квест. Пришлось городить дендрофекальную конструкцию, которая, на удивление стабильно, и стала в итоге поставлять данные. Данные в динамике и в графическом представлении оказались настолько неутешительными, что позволили убедить всех причастных таки поменять канал, даже и на более дорогой;

  2. Данные о температуре процессора дают сразу несколько линий: можно обнаружить шифровальщик в процессе работы, наглядно сделать вывод о недостаточной мощности рабочей станции, найти повод провести плановую чистку, узнать о нарушении условий эксплуатации. Последний пункт особенно хорош: множество отказов оборудования и BSOD’ов в итоге нашли причину в «я ставлю обогреватель под стол, ну и свой баул, ну да, прям к этой решётке. А что? А я канпуктер развернула, а то неудобно»;

  3. Интерфейс того же OpenVPN… ну, он в общем даже и не интерфейс и оставляет желать любого другого. Отдельная история.

Как большой любитель велосипедить всё подряд, сначала я решил свелосипедить и это. Уже валялись под рукой всякие скрипты по сбору статистки, и html проекты с графиками на js, и какие-то тестовые БД… Но тут сработала жадность (и лень, чоужтам). А чего это, подумал я, самому опять корячиться, если в том же Zabbix уже куча всяких шаблонов, и помимо задач из списка можно будет видеть много чего ещё? Да и он бесплатный к тому же. Всего-то делов, виртуалку поднять да клиенты централизованно расставить. Потренируюсь с ним, опять же, он много где используется.

Итак, нам понадобятся:

  1. Виртуальная машина или физический хост. Zabbix нетребователен к ресурсам при небольшом количестве хостов на мониторинге: мне хватило одного виртуального процессора на 2ГГц и 4 Гб RAM за глаза;

  2. Любой инструмент для автоматического раскидывания zabbix-agent. При некотором скилле это можно делать даже через оригинальный WSUS, или просто батником с psexec, вариантов много. Также желательно запилить предварительно сконфигурированный инсталлятор агента — об этом ниже;

  3. Много желания пилить напильником. Скажу честно и сразу: из первоначального списка 3 из 3 реализовывалось руками на местности. Zabbix стандартной комплектации в такое не может.

У Zabbix много вариантов установки. В моём случае (я начинал с 4 LTS) сработала только установка руками в чистую, из собственного образа, OC в виртуальной машине на Hyper-V. Так что, коли не получится с первого раза, — не сдавайтесь, пробуйте. Саму процедуру подробнее описывать не буду, есть куча статей и хороший официальный мануал.

Вот так красиво это выглядит, когда применяется по назначению. Автор: Dotneft - собственная работа, CC BY-SA 4.0 https://commons.wikimedia.org/w/index.php?curid=73459928

Вот так красиво это выглядит, когда применяется по назначению. Автор: Dotneft — собственная работа, CC BY-SA 4.0 https://commons.wikimedia.org/w/index.php?curid=73459928

Про формирование инсталлятора агента: один из самых простых способов — использовать утилиты наподобие 7zfx Builder . Нужно будет подготовить:

  • файл zabbix_agentd.conf ;

  • файлы сторонних приложений и скриптов, используемых в userParameters (об этом ниже) ;

  • скрипт инсталлятора с кодом наподобие этого:

SETLOCAL ENABLEDELAYEDEXPANSION 
SET INSTDR=C:\Zabbix\Agent 
SET IP=192.168.100.10 
set ip_address_string="IPv4-адрес"

for /f "usebackq tokens=2 delims=:" %%F in (ipconfig ^| findstr /c:%ip_address_string%) do SET IP=%%F 
SET IP=%IP: =% 
ECHO SourceIP=%IP%>> "%INSTDR%\conf\zabbix_agentd.conf" 
ECHO ListenIP=%IP%>> "%INSTDR%\conf\zabbix_agentd.conf" 
ECHO Hostname=%COMPUTERNAME%>> "%INSTDR%\conf\zabbix_agentd.conf"

"%INSTDR%\bin\zabbix_agentd.exe" -c "%INSTDR%\conf\zabbix_agentd.conf" -i 
net start "Zabbix Agent" 
ENDLOCAL

Кстати, об IP. Адрес в Zabbix является уникальным идентификатором, так что при «свободном» DHCP нужно будет настроить привязки. Впрочем, это и так хорошая практика.

Также могу порекомендовать добавить в инсталлятор следующий код:

sc failure "Zabbix Agent" reset= 30 actions= restart/60000

Как и многие сервисы, Zabbix agent под Windows при загрузке ОС стартует раньше, чем некоторые сетевые адаптеры. Из-за этого агент не может увидеть IP, к которому должен быть привязан, и останавливает службу. В оригинальном дистрибутиве при установке настроек перезапуска нет.

После этого добавляем хосты. Не забудьте выбрать Template – OS Windows. Если сервер не видит клиента — проверяем:

  1. IP-адрес;

  2. файрвол на клиенте;

  3. работу службы на клиенте — смотрим zabbix_agentd.log, он вполне информативный.

По моему опыту, сервер и агенты Zabbix очень стабильны. На сервере, возможно, придётся расширить пул памяти по active checks (уведомление о необходимости такого действия появляется в дашборде), на клиентах донастроить упомянутые выше нюансы с запуском службы, а также, при наличии UserParameters, донастроить параметр timeout (пример будет ниже).

Что видно сразу, без настроек?

Сразу видно, что Zabbix заточен под другое :) Но и об обычных рабочих станциях в конфигурации «из коробки» можно узнать много: идёт мониторинг оперативной памяти и SWAP, места на жёстких дисках, загрузки ЦП и сетевых адаптеров; будут предупреждения о том, что клиент давно не подключался или недавно перезагружен; агент автоматически создаёт список служб и параметров их работы, и сгенерирует оповещение о «необычном» поведении. Практически из коробки (со скачиванием доп. template’ов с офсайта и небольшой донастройкой) работает всё, что по SNMP: принтеры и МФУ, управляемые свитчи, всякая специфическая мелочь. Иметь алерты по тем же офисным принтерам в едином окне очень удобно.

В общем-то, очень неплохо, но…

Что доделывать?

Оооо. Ну, хотел повелосипедить, так это всегда пожалуйста. Прежде всего, нет алертов на события типа «критические» из системного лога Windows, при том, что механизм доступа к логам Windows встроенный, а не внешний, как Zabbix agent active. Странно, ну штош. Всё придётся добавлять руками.

Например

для записи и оповещения по событию «Система перезагрузилась, завершив работу с ошибками» (Microsoft-Windows-Kernel-Power, коды 41, 1001) нужно создать Item c типом Zabbix agent (active) и кодом в поле Key:

eventlog[System,,,,1001]

По этому же принципу создаём оповещения на другие коды. Странно, но готового template я не нашёл.

Cистема автоматизированной генерации по службам генерирует целую тучу спама. Часть служб в Windows предполагает в качестве нормального поведения тип запуска «авто» и остановку впоследствии. Zabbix в такое не может и будет с упорством пьяного сообщать «а BITS-то остановился!». Есть широко рекомендуемый способ избавления от такого поведения — добавление набора служб в фильтр-лист: нужно добавить в Template «Module Windows services by Zabbix agent», в разделе Macros, в фильтре {$SERVICE.NAME.NOT_MATCHES} имя службы в формате RegExp. Получается список наподобие:

^RemoteRegistry|MMCSS|gupdate|SysmonLog|
clr_optimization_v.+|clr_optimization_v.+|
sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|
MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|
dbupdate|DoSvc|BITS.*|ShellHWDetection.*$

И он не работает работает с задержкой в 30 дней.

После добавления служб в фильтр триггеры будут висеть ещё 30 дней. Этот срок, впрочем, тоже можно настроить

После добавления служб в фильтр триггеры будут висеть ещё 30 дней. Этот срок, впрочем, тоже можно настроить

Про службы, автоматически генерируемые в Windows 10, я вообще промолчу.
Нет никаких температур (но это, если подумать, ладно уж), нет SMART и его алертов (тоже отдельная история, конечно). Нет моих любимых UPS.

Некоторые устройства генерируют данные и алерты, работу с которыми надо выстраивать. В частности, например, управляемый свитч Tp-Link генерирует интересный алерт «скорость на порту понизилась». Почти всегда это означает, что рабочая станция просто выключена в штатном режиме (ушла в S3), но сама постановка вопроса заставляет задуматься: сведения, вообще, полезные — м.б. и драйвер глючит, железо дохнет, время странное…

Некоторые встроенные алерты требуют переработки и перенастройки. Часть из них не закрывается в «ручном» режиме по принципу «знаю, не ори, так надо» и создаёт нагромождение информации на дашборде.

Короче говоря, многое требует допиливания напильником под местные реалии и задачи.

После допиливания – примерно так

После допиливания – примерно так

О локальных задачах

Всё, что не встроено в Zabbix agent, реализуется через механизм Zabbix agent (active). Суть проста: пишем скрипт, который будет выдавать нужные нам данные. Прописываем наш скрипт в conf:

UserParameter=имя.параметра,путь\к\скрипту 

Нюансы:

  • если хотите получать в Zabbix строку на кириллице из cmd — не надо. Только powershell;

  • если параметр специфический – для имени нужно будет придумать и сформулировать дерево параметров, наподобие «hardware.huawei.modem.link.speed» ;

  • отладка и стабильность таких параметров — вопрос и скрипта, и самого Zabbix. Об этом дальше.

Хотелка №1: температуры процессоров рабочих станций

В качестве примера реализуем хотелку «темература ЦП рабочей станции». Вам может встретиться вариант наподобие:

wmic /namespace:\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature

но это не работает (вернее, работает не всегда и не везде).
Самый простой способ, что я нашёл — воспользоваться проектом OpenHardwareMonitor. Он свои результаты выгружает прямо в тот же WMI, так что температуру получим так:

@echo OFF 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET TMPTMP=0 
for /f "tokens=* skip=1 delims=" %%I in ('wmic /namespace:\root\OpenHardwareMonitor PATH Sensor WHERE Identifier^="/intelcpu/0/temperature/1" get Value') DO (     
	SET TMPTMP=%%I && GOTO :NXT 
) 
:NXT  
ECHO %TMPTMP% 
ENDLOCAL 
GOTO :EOF

Конечно, при условии, что OHM запущен. В текущем релизе OHM не умеет работать в качестве Windows service. Так что придётся либо смущать пользователей очередной иконкой в трее, либо снова городить свой инсталлятор и запихивать OHM в сервисы принудительно. Я выбрал поcледнее, создав инсталляционный cmd для всё того же 7zfx Builder наподобие:

nssm install OHMservice "%programfiles%\OHM\OpenHardwareMonitor.exe" 
timeout 3 
net start "OHMservice" 
del nssm.exe /Q

Два момента:

  1. NSSM — простая и достаточно надёжная утилита с многолетней историей. Применяется как раз в случаях, когда ПО не имеет режима работы «сервис», а надо. Во вредоносности утилита не замечена;

  2. Обратите внимание на «intelcpu» в скрипте получения температуры от OHM. Т.к. речь идёт о внедрении в малом офисе, можно рассчитывать на единообразие парка техники. Более того, таким образом лично у меня получилось извлечь и температуру ЦП от AMD. Но тем не менее этот пункт требует особого внимания. Возможно, придётся модифицировать и усложнять инсталлятор для большей универсальности.

Работает более чем надёжно, проблем не замечено.

Хотелка № 2: получаем и мониторим температуру чего угодно

Понадобятся нам две вещи:

  1. Штука от братского китайского народа: стандартный цифровой термометр DS18B20, совмещённый с USB-UART контроллером. Стоит не сказать что бюджетно, но приемлемо;

  2. powershell cкрипт:

param($cPort='COM3')

$port= new-Object System.IO.Ports.SerialPort $cPort,9600,None,8,one

$port.Open()
$tmp = $port.ReadLine()
$port.Close()

$tmp = $tmp -replace "t1="
if (([int]$tmp -lt 1) -or ([int]$tmp -gt 55)){

	#echo ("trigg "+$tmp)
	$port.Open()
	$tmp = $port.ReadLine()
	$port.Close()

	$tmp = $tmp -replace "t1="
} 
echo ($tmp)

Связка работает достаточно надёжно, но есть интересный момент: иногда, бессистемно, появляются провалы или пики на графиках:

Тесты показали, что проблема в самом Zabbix, а данные с китайских датчиков приходят верные. Детальное рассмотрение пиков и провалов выявило неожиданный факт: похоже Zabbix иногда получает и/или записывает в БД не полное значение, а «хвост». Т.е., например, 1.50 от значения 21.50. При этом положение точки не важно — может получить и 1.50, и 50, и даже 0. Как так происходит, мне выяснить пока не удалось. Изменение timeout на поведение не влияет никак, ни в большую, ни в меньшую сторону.
Наверное, стоило бы написать багрепорт. Но уже вышел 6.0 LTS (у меня 5) и обновляться в текущей ситуации, пожалуй, не буду.

Хотелка № 3: OpenVPN подключения

Template’ов для OpenVPN и Zabbix существует довольно много, но все они реализованы на том или ином sh под *nix’ы . В свою очередь, «dashboard» OpenVPN-сервера представляет из себя, по сути, вывод утилиты в консоль, который пишется в файл по событиям. Мне лень было считать трафик по отдельным пользователям и вообще делать их discover, т.к. подключений и пользователей немного. Ограничился текущим количеством подключений:

$openvpnLogPath = "C:\OpenVPN\config\"
$openvpnLogName = "openvpn-status.log"

try { 
	$logData = Get-Content $openvpnLogPath$openvpnLogName -ErrorAction Stop
}
catch{
	
	Write-Host("Missing log file")
	exit 1
}

$logHeader = "OpenVPN CLIENT LIST"
$logHeader2 = "Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since"
$logMark1 = "ROUTING TABLE"

if ($logData[0] -ne $logHeader -or $logData[2] -ne $logHeader2 ){
	
	Write-Host("Bad log file")
	exit 1
}

$i = 0
foreach ($tmpStr in ($logData | select -skip 3)) {
	
	if ($tmpStr -eq $logMark1) {break}
	$i++
}

Write-Host($i)
exit 0

Хотелка № 4: спецжелезка 1

Для большого количества специфического оборудования существуют написанные энтузиастами Template’ы. Обычно они используют и реализуют функционал, уже имеющийся в утилитах к этим железкам.

Боли лирическое отступление

установив один из таких темплейтов, я узнал, что «нормальная рабочая» температура чипа RAID-контроллера в серваке — 65+ градусов. Это, в свою очередь, побудило внимательнее посмотреть и на контроллер, и на сервер в целом. Были найдены косяки и выражены «фи»:

  1. Apaptec’у – за игольчатый радиатор из неизвестного крашеного силумина высотой чуть более чем нихрена, поток воздуха к которому закрыт резервной батарейкой с высотой больше, чем радиатор. Особенно мне понравилось потом читать у Adaptec того же «ну, это его нормальная рабочая температура. Не волнуйтесь». Ответственно заявляю: при такой «нормальной рабочей температуре» контроллер безбожно и непредсказуемо-предсказуемо глючил;

  2. Одному отечественному сборщику серверов. «Берём толстый жгут проводов. Скрепляем его, чтобы он был толстым, плотным, надёжным. Вешаем это прямо перед забором воздуха вентиляторами продува серверного корпуса. Идеально!». На «полу» сервера было дофига места, длины кабелей тоже хватало, но сделали почему-то так.

Также был замечен интересный нюанс поведения, связанный с Zabbix. Со старым RAID контроллером при наличии в системном логе специфичных репортов, отваливался мониторинг температуры контроллера в Zabbix, но! при запуске руками в консоли скрипта или спец. утилиты температура выводилась корректно и без задержек.

Но полный функционал реализован далеко не всегда. В частности, мне понадобились температуры жёстких дисков с нового RAID-контроллера (ну люблю я температуры, что поделать :) ), которых в оригинальном темплейте не было. Пришлось самому реализовывать температуры и заодно autodiscover физических дисков: https://github.com/automatize-it/zabbix-lsi-raid/commit/1d3a8b3a0e289b8c2df637028475177a2b940689

Можно видеть, какой HDD и даже SSD стоит перед отсеком с БП сервера и хуже охлаждается

Можно видеть, какой HDD и даже SSD стоит перед отсеком с БП сервера и хуже охлаждается

Оригинальный репозиторий, вероятно, заброшен, как это довольно часто бывает.

Хотелка № 5, на десерт: спецжелезка 2

Как и обещал, делюсь опытом вырывания данных из беспроводной железки Huawei. Речь о 4G роутере серии B*. Внутри себя железка имеет ПО на ASP, а данные о качестве сигнала — RSSI, SINR и прочее — в пользовательском пространстве показывать не хочет совсем. Смотри, мол, картинку с уровнем сигнала и всё, остальное не твоего юзерского ума дело. К счастью, в ПО остались какие-то хвосты, выводящие нужное в plain JSON. К сожалению, взять да скачать это wget-ом не получается никак: мало того, что авторизация, так ещё и перед генерацией plain json требуется исполнение JS на клиенте. К счастью, существует проект phantomjs. Кроме того, нам понадобится перенесённая руками кука из браузера, где мы единожды авторизовались в веб-интерфейсе, вручную. Кука живёт около полугода, можно было и скрипт написать, но я поленился.

Алгоритм действий и примеры кода:

вызываем phantomjs с кукой и сценарием:

phantomjs.exe --cookies-file=cookie.txt C:\cmd\yota_signal\scenery.js

Примеры сценариев:

//получаем общий уровень сигнала
var url = "http://192.168.2.1/html/home.html";
var page = require('webpage').create();
page.open(url, function(status) {
  //console.log("Status: " + status);
  if(status === "success") {
	
	var sgnl = page.evaluate(function() {
		return document.getElementById("status_img").innerHTML; //
	});
	
	var stt = page.evaluate(function() {
		return document.getElementById("index_connection_status").innerText; //
	});
	
	var sttlclzd = "dis";
	var sgnlfnd = "NA";
	
	if (stt.indexOf("Подключено") != -1) {sttlclzd = "conn";}
		
	if (sgnl.indexOf("icon_signal_01") != -1) {sgnlfnd = "1";}
	else {
		var tmpndx = sgnl.indexOf("icon_signal_0");
		sgnlfnd = sgnl.substring(tmpndx+13,tmpndx+14);
	}
	
	console.log(sttlclzd+","+sgnlfnd);
	
	var fs = require('fs');
		
		try {
			fs.write("C:\\cmd\\siglvl.txt", sgnlfnd, 'w');
		} catch(e) {
			console.log(e);
		}
    
  }
  phantom.exit();
});
//получаем технические параметры сигнала через какбэ предназначенный для этого "API"
var url = "http://192.168.2.1/api/device/signal"; 
var page = require('webpage').create();

  
	page.onLoadFinished = function() {
		
		//console.log("page load finished");
		//page.render('export.png');
		console.log(page.content);
		
		parser = new DOMParser();
		xmlDoc = parser.parseFromString(page.content,"text/xml");

		var rsrq = xmlDoc.getElementsByTagName("rsrq")[0].childNodes[0].nodeValue.replace("dB","");
		var rsrp = xmlDoc.getElementsByTagName("rsrp")[0].childNodes[0].nodeValue.replace("dBm","");
		var rssi = xmlDoc.getElementsByTagName("rssi")[0].childNodes[0].nodeValue.replace("dBm","").replace(">=","");
		var sinr = xmlDoc.getElementsByTagName("sinr")[0].childNodes[0].nodeValue.replace("dB","");
		
		var fs = require('fs');
		
		try {
			fs.write("C:\\cmd\\rsrq.txt", rsrq, 'w');
			fs.write("C:\\cmd\\rsrp.txt", rsrp, 'w');
			fs.write("C:\\cmd\\rssi.txt", rssi, 'w');
			fs.write("C:\\cmd\\sinr.txt", sinr, 'w');
		} catch(e) {
			console.log(e);
		}
		
		phantom.exit();
	};
	
	page.open(url, function() {
		page.evaluate(function() {
		});
    });

Конструкция запускается из планировщика задач. В Zabbix-агенте производится лишь чтение соответствующих файлов:

UserParameter=internet.devices.huawei1.signal.level,type C:\cmd\siglvl.txt 
Особое внимание на SINR. Он должен быть 10+. Ну, иногда и правда был. Около 4-5 утра обычно

Особое внимание на SINR. Он должен быть 10+. Ну, иногда и правда был. Около 4-5 утра обычно

Требует постоянного присмотра, ручных прибиваний и перезапусков процессов, обновления кук. Но для такого шаткого нагромождения фекалий и палок работает достаточно стабильно.

Итого

Стоит ли заморачиваться на Zabbix, если у вас 20 машин и 1-2 сервера, да ещё и инфраструктура Windows?

Как можно понять из вышеизложенного, работы будет много. Я даже рискну предположить, что объёмы работ и уровень квалификации для них сравнимы с решением «свелосипедить своё с нуля по-быстрому на коленке».

Не стоит рассматривать Zabbix как панацею или серебряную пулю.

Тем не менее, использование уже готового и популярного продукта имеет свои преимущества — в первую очередь, это релевантный опыт для интересных работодателей.

А красивые графики дают усладу глазам и часто — новое видение процессов в динамике.

Если захочется внедрить, то могу пообещать, как минимум — скучно не будет! ;)

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Мониторите малые офисы?

61.22% Мониторю, Заббиксом60

3.06% Мониторю, не Заббиксом3

2.04% Мониторю, самописной системой2

25.51% Не мониторю, но вообще надо бы25

8.16% Не мониторю и не надо8

Проголосовали 98 пользователей. Воздержались 30 пользователей.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как включить dhcp на сетевом адаптере ethernet на windows 10
  • Активатор windows 2008 r2 datacenter
  • Useful utilities for windows
  • Как убрать аваст из автозагрузки windows 10
  • Возникла ошибка при запуске keyboard не найден указанный модуль windows 10