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
-
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.4Alexander 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
Мониторинг сервера Windows позволяет отслеживать его работоспособность и оперативно реагировать на любые отклонения. Перезагрузки, заполнение дисков, нехватка оперативной памяти, высокая нагрузка на процессор, потеря связи или чрезмерное потребление трафика — всё это можно держать под контролем, если вы используете правильные инструменты.
В этом материале мы рассмотрим, как установить и настроить Zabbix-сервер и агент на Windows, а также какие моменты особенно важны для стабильной работы мониторинга.
Онлайн-курс: Zabbix 6. Мониторинг IT инфраструктуры предприятия.
Курс предлагает глубокое изучение Zabbix 6 и охватывает все ключевые аспекты: от установки и конфигурации до продвинутого мониторинга и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Проверка версии Zabbix-сервера
- Загрузка агента Zabbix
- Установка агента Zabbix
- Настройка хоста в Zabbix-сервере
- Мониторинг и визуализация
- Заключение
Проверка версии Zabbix-сервера
Перед началом убедитесь, какую версию Zabbix-сервера вы используете. Эту информацию можно найти в веб-интерфейсе Zabbix, перейдя в раздел Reports > System information.
В нашем примере используется версия 7.0.9.
Перед установкой агента на Windows-сервере необходимо определить его архитектуру и имя.
Эти данные критичны при выборе подходящего инсталляционного пакета.
Загрузка агента Zabbix
Перейдите на официальный сайт Zabbix и скачайте соответствующую версию агента.
При выборе версии обратите внимание на следующие параметры:
- Операционная система: Windows
- Архитектура: 64-bit
- Совместимость по версии: должна соответствовать версии вашего Zabbix-сервера
- Метод шифрования: рекомендуется выбрать OpenSSL
- Формат установки: файл формата MSI
Выберите актуальную версию релиза агента и загрузите инсталлятор.
Установка агента Zabbix
Запустите установку агента Zabbix на вашем сервере Windows.
Примите условия лицензионного соглашения.
На следующем этапе выберите компоненты, которые необходимо установить. По умолчанию требуется около 8,70 МБ свободного пространства.
Путь установки — C:\Program Files\Zabbix Agent\.
Инсталлятор автоматически определит имя машины. Далее нужно указать IP-адрес сервера Zabbix, с которым агент будет связываться.
Также на этом этапе можно настроить защищённое соединение с использованием предустановленного ключа. Подробнее об этом методе читайте на официальной странице: Использование pre-shared ключей
Начните установку и дождитесь её завершения.
Настройка хоста в Zabbix-сервере
Чтобы добавить хост для мониторинга в системе Zabbix, откройте веб-интерфейс и перейдите в Data collection > Hosts.
Нажмите Create host (в правом верхнем углу) и укажите следующие параметры:
- Имя хоста: например, DESKTOP-D75R1IG
- Отображаемое имя: например, Windows Server
- Шаблон: выберите Windows by Zabbix Agent — он включает в себя ключевые метрики Windows-систем
- Группа: определяет логическое размещение сервера (например, Windows Servers)
- Интерфейс: выберите тип Agent, укажите IP-адрес целевого сервера
Мониторинг и визуализация
Как только хост будет добавлен, вы начнёте получать информацию о состоянии сервера в режиме реального времени:
- Общая производительность: загрузка CPU, использование памяти и состояние дисков
- Работа служб Windows и подробная информация о системе
- Потребление сетевого трафика
Кроме того, можно отслеживать отказоустойчивость, продолжительность аптайма и другие важные параметры.
Заключение
Zabbix предоставляет мощные инструменты для мониторинга серверов Windows, предлагая готовые шаблоны и гибкие возможности настройки. Это делает его незаменимым решением для построения системы централизованного наблюдения за ИТ-инфраструктурой.
Вдобавок к базовому мониторингу вы можете расширить функциональность, подключив контроль логов, событий безопасности, конкретных портов, отслеживание неудачных попыток входа в систему и многое другое. Всё это помогает оперативно реагировать на инциденты и минимизировать простои.
А если вы хотите углубиться в тему и освоить Zabbix на профессиональном уровне — обратите внимание на курс Zabbix 6. Мониторинг IT инфраструктуры предприятия. Это практическое и структурированное обучение, созданное с учётом реальных задач, с которыми сталкиваются системные администраторы и инженеры мониторинга.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Основы Zabbix: хосты, элементы данных и триггеры.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в телеграмм, чтобы узнавать обо всем первым — t.me/SysAdminHub
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
И есть ли в этом смысл?
Для тех, кто задумался и сомневается, я решил описать кое-что из своего опыта.
Мониторинг вообще штука полезная, бесспорно. У меня лично в какой-то период возникло сразу несколько задач:
-
Круглосуточно и непрерывно мониторить одну специфическую железку по ряду параметров;
-
Мониторить у рабочих станций информацию о температурах, ЦП в первую очередь;
-
Всякие мелочи в связи с широким внедрением удалёнки: количество подключений по VPN, общее состояние дополнительных виртуальных машин.
Подробнее про локальные задачи:
-
Надо было оценить и наглядно представить данные об интернет-канале. Канал на тот момент представлял собой 4G-роутер Huawei. Это устройство было последним, но далеко не первым в огромном количестве плясок с бубном в попытках избавиться от разного рода нестабильностей. Забегая вперёд: забирать с него данные напрямую о качестве сигнала более-менее стандартными средствами оказалось невозможно, и даже добраться до этих данных — отдельный квест. Пришлось городить дендрофекальную конструкцию, которая, на удивление стабильно, и стала в итоге поставлять данные. Данные в динамике и в графическом представлении оказались настолько неутешительными, что позволили убедить всех причастных таки поменять канал, даже и на более дорогой;
-
Данные о температуре процессора дают сразу несколько линий: можно обнаружить шифровальщик в процессе работы, наглядно сделать вывод о недостаточной мощности рабочей станции, найти повод провести плановую чистку, узнать о нарушении условий эксплуатации. Последний пункт особенно хорош: множество отказов оборудования и BSOD’ов в итоге нашли причину в «я ставлю обогреватель под стол, ну и свой баул, ну да, прям к этой решётке. А что? А я канпуктер развернула, а то неудобно»;
-
Интерфейс того же OpenVPN… ну, он в общем даже и не интерфейс и оставляет желать любого другого. Отдельная история.
Как большой любитель велосипедить всё подряд, сначала я решил свелосипедить и это. Уже валялись под рукой всякие скрипты по сбору статистки, и html проекты с графиками на js, и какие-то тестовые БД… Но тут сработала жадность (и лень, чоужтам). А чего это, подумал я, самому опять корячиться, если в том же Zabbix уже куча всяких шаблонов, и помимо задач из списка можно будет видеть много чего ещё? Да и он бесплатный к тому же. Всего-то делов, виртуалку поднять да клиенты централизованно расставить. Потренируюсь с ним, опять же, он много где используется.
Итак, нам понадобятся:
-
Виртуальная машина или физический хост. Zabbix нетребователен к ресурсам при небольшом количестве хостов на мониторинге: мне хватило одного виртуального процессора на 2ГГц и 4 Гб RAM за глаза;
-
Любой инструмент для автоматического раскидывания zabbix-agent. При некотором скилле это можно делать даже через оригинальный WSUS, или просто батником с psexec, вариантов много. Также желательно запилить предварительно сконфигурированный инсталлятор агента — об этом ниже;
-
Много желания пилить напильником. Скажу честно и сразу: из первоначального списка 3 из 3 реализовывалось руками на местности. Zabbix стандартной комплектации в такое не может.
У Zabbix много вариантов установки. В моём случае (я начинал с 4 LTS) сработала только установка руками в чистую, из собственного образа, OC в виртуальной машине на Hyper-V. Так что, коли не получится с первого раза, — не сдавайтесь, пробуйте. Саму процедуру подробнее описывать не буду, есть куча статей и хороший официальный мануал.
Про формирование инсталлятора агента: один из самых простых способов — использовать утилиты наподобие 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. Если сервер не видит клиента — проверяем:
-
IP-адрес;
-
файрвол на клиенте;
-
работу службы на клиенте — смотрим 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 дней.
Про службы, автоматически генерируемые в 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
Два момента:
-
NSSM — простая и достаточно надёжная утилита с многолетней историей. Применяется как раз в случаях, когда ПО не имеет режима работы «сервис», а надо. Во вредоносности утилита не замечена;
-
Обратите внимание на «intelcpu» в скрипте получения температуры от OHM. Т.к. речь идёт о внедрении в малом офисе, можно рассчитывать на единообразие парка техники. Более того, таким образом лично у меня получилось извлечь и температуру ЦП от AMD. Но тем не менее этот пункт требует особого внимания. Возможно, придётся модифицировать и усложнять инсталлятор для большей универсальности.
Работает более чем надёжно, проблем не замечено.
Хотелка № 2: получаем и мониторим температуру чего угодно
Понадобятся нам две вещи:
-
Штука от братского китайского народа: стандартный цифровой термометр DS18B20, совмещённый с USB-UART контроллером. Стоит не сказать что бюджетно, но приемлемо;
-
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+ градусов. Это, в свою очередь, побудило внимательнее посмотреть и на контроллер, и на сервер в целом. Были найдены косяки и выражены «фи»:
-
Apaptec’у – за игольчатый радиатор из неизвестного крашеного силумина высотой чуть более чем нихрена, поток воздуха к которому закрыт резервной батарейкой с высотой больше, чем радиатор. Особенно мне понравилось потом читать у Adaptec того же «ну, это его нормальная рабочая температура. Не волнуйтесь». Ответственно заявляю: при такой «нормальной рабочей температуре» контроллер безбожно и непредсказуемо-предсказуемо глючил;
-
Одному отечественному сборщику серверов. «Берём толстый жгут проводов. Скрепляем его, чтобы он был толстым, плотным, надёжным. Вешаем это прямо перед забором воздуха вентиляторами продува серверного корпуса. Идеально!». На «полу» сервера было дофига места, длины кабелей тоже хватало, но сделали почему-то так.
Также был замечен интересный нюанс поведения, связанный с Zabbix. Со старым RAID контроллером при наличии в системном логе специфичных репортов, отваливался мониторинг температуры контроллера в Zabbix, но! при запуске руками в консоли скрипта или спец. утилиты температура выводилась корректно и без задержек.
Но полный функционал реализован далеко не всегда. В частности, мне понадобились температуры жёстких дисков с нового RAID-контроллера (ну люблю я температуры, что поделать ), которых в оригинальном темплейте не было. Пришлось самому реализовывать температуры и заодно autodiscover физических дисков: https://github.com/automatize-it/zabbix-lsi-raid/commit/1d3a8b3a0e289b8c2df637028475177a2b940689
Оригинальный репозиторий, вероятно, заброшен, как это довольно часто бывает.
Хотелка № 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
Требует постоянного присмотра, ручных прибиваний и перезапусков процессов, обновления кук. Но для такого шаткого нагромождения фекалий и палок работает достаточно стабильно.
Итого
Стоит ли заморачиваться на Zabbix, если у вас 20 машин и 1-2 сервера, да ещё и инфраструктура Windows?
Как можно понять из вышеизложенного, работы будет много. Я даже рискну предположить, что объёмы работ и уровень квалификации для них сравнимы с решением «свелосипедить своё с нуля по-быстрому на коленке».
Не стоит рассматривать Zabbix как панацею или серебряную пулю.
Тем не менее, использование уже готового и популярного продукта имеет свои преимущества — в первую очередь, это релевантный опыт для интересных работодателей.
А красивые графики дают усладу глазам и часто — новое видение процессов в динамике.
Если захочется внедрить, то могу пообещать, как минимум — скучно не будет!
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Мониторите малые офисы?
61.22% Мониторю, Заббиксом60
3.06% Мониторю, не Заббиксом3
2.04% Мониторю, самописной системой2
25.51% Не мониторю, но вообще надо бы25
8.16% Не мониторю и не надо8
Проголосовали 98 пользователей. Воздержались 30 пользователей.