Windows Zabbix agent监控项分为两个列表:
请注意,所有在Windows上由Zabbix agent支持的监控项键也同样被新一代Zabbix agent 2支持。查看 额外的监控项键,这些监控项键仅适用于agent 2。
另请参阅:Windows监控项的最低权限要求
下表列出了在Windows上支持的Zabbix agent监控项,这些监控项与UNIX Zabbix agent共享:
监控项键 | 描述 | 监控项组 |
---|---|---|
log | 日志文件的监控。此监控项不支持Windows事件日志。persistent_dir 参数在Windows上不支持。 |
日志监控 |
log.count | 在受监控日志文件中匹配行的计数。此监控项不支持Windows事件日志。persistent_dir 参数在Windows上不支持。 |
|
logrt | 旋转日志文件的监控。此监控项不支持Windows事件日志。persistent_dir 参数在Windows上不支持。 |
|
logrt.count | 在旋转的受监控日志文件中匹配行的计数。此监控项不支持Windows事件日志。persistent_dir 参数在Windows上不支持。 |
|
modbus.get | 读取Modbus数据。 | Modbus |
net.dns | 检查DNS服务是否运行。ip 、timeout 和count 参数在Windows上被忽略,除非使用Zabbix agent 2。 |
网络 |
net.dns.perf | 检查DNS服务的性能。ip 、timeout 和count 参数在Windows上被忽略,除非使用Zabbix agent 2。 |
|
net.dns.record | 执行DNS查询。ip 、timeout 和count 参数在Windows上被忽略,除非使用Zabbix agent 2。 |
|
net.if.discovery | 网络接口列表。 某些Windows版本(例如,Server 2008)可能需要安装最新更新以支持接口名称中的非ASCII字符。 |
|
net.if.in | 网络接口的入站流量统计。 在Windows上,如果可用,监控项从64位计数器获取值。64位接口统计计数器在Windows Vista和Windows Server 2008中引入。如果64位计数器不可用,agent使用32位计数器。 Windows上支持多字节接口名称。 您可以通过net.if.discovery或net.if.list监控项在Windows上获取网络接口描述。 |
|
net.if.out | 网络接口的出站流量统计。 在Windows上,如果可用,监控项从64位计数器获取值。64位接口统计计数器在Windows Vista和Windows Server 2008中引入。如果64位计数器不可 |
该表提供了仅适用于Windows Zabbix agent的监控项键的详细信息。
仅适用于Windows的监控项有时是类似代理监控项的近似对应物,例如,在Windows上支持的proc_info
大致对应于在Windows上不支持的proc.mem
监控项。
监控项键是到完整监控项键详细信息的链接。
键值 | 描述 | 监控项组 |
---|---|---|
eventlog | Windows事件日志监视。 | 日志监视 |
eventlog.count | Windows事件日志中行数的计数。 | |
net.if.list | 网络接口列表(包括接口类型、状态、IPv4地址、描述)。 | 网络 |
perf_counter | 任何Windows性能计数器的值。 | 性能计数器 |
perf_counter_en | 任何Windows性能计数器的值(英文)。 | |
perf_instance.discovery | Windows性能计数器的对象实例列表。 | |
perf_instance_en.discovery | 使用英文对象名称发现的Windows性能计数器的对象实例列表。 | |
proc_info | 有关特定进程的各种信息。 | 进程 |
registry.data | 返回Windows注册表键中指定值名称的数据。 | 注册表 |
registry.get | 位于给定键处的Windows注册表值或键的列表。 | |
service.discovery | Windows服务列表。 | 服务 |
service.info | 有关服务的信息。 | |
services | 服务列表。 | |
vm.vmemory.size | 虚拟内存大小(以字节或占总内存的百分比)。 | 虚拟内存 |
wmi.get | 执行WMI查询并返回第一个选定的对象。 | WMI |
wmi.getall | 执行WMI查询并返回整个响应。 |
没有尖括号的参数是必填的。带有尖括号 < > 的参数是可选的。
事件日志监控。
返回值:Log。
参数:
注释:
示例:
eventlog[Application]
eventlog[Microsoft-Windows-Application-Experience/Program-Compatibility-Assistant]
eventlog[Security,,"Failure Audit",,^(529|680)$]
eventlog[System,,"Warning|Error"]
eventlog[System,,,,^1$]
eventlog[Windows PowerShell,,,,,,skip]
eventlog[System,,,,@TWOSHORT] #此处引用了一个名为`TWOSHORT`的自定义正则表达式(定义为*Result is TRUE*类型,表达式本身为`^1$|^70$`)。
Windows事件日志中行的数量。
返回值: integer。
参数:
注释:
示例:
网络接口列表(包括接口类型、状态、IPv4地址、描述)。
返回值:文本。
注释:
任何Windows性能计数器的值。
返回值:整数、浮点数、字符串或文本(取决于请求)。
参数:
interval
必须在1到900秒之间(包括1和900),默认值为1。注释:
interval
用于需要多个样本的计数器(例如CPU利用率),因此每次检查都会返回最后“interval”秒的平均值;任何Windows性能计数器的值(英文)。
返回值:整数、浮点数、字符串或文本(取决于请求)。
参数:
interval
必须在1到900秒之间(包括1和900),默认值为1。注释:
interval
用于需要多个样本的计数器(例如CPU利用率),因此每次检查都会返回最后“interval”秒的平均值;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
。Windows性能计数器的对象实例列表。用于低等级自动发现。
返回值:JSON对象。
参数:
Windows性能计数器的对象实例列表,使用英文对象名称进行发现。用于低级发现。
返回值:JSON对象。
参数:
关于特定进程(es)的各种信息。
返回值:Float。
参数:
注释:
attributes
:types
包括:示例:
proc_info[iexplore.exe,wkset,sum] #检索所有Internet Explorer进程占用的物理内存量
proc_info[iexplore.exe,pf,avg] #检索Internet Explorer进程的平均页面错误数量
返回Windows注册表键中指定值名称的数据。
返回值:整数、字符串或文本(取决于值类型)
参数:
注释:
示例:
registry.data["HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting"] #返回此键的默认值的数据
registry.data["HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting","EnableZip"] #返回此键中名为"Enable Zip"的值的数据
返回位于给定键处的Windows注册表值或键值列表。
返回值:JSON对象。
参数:
mode
时使用。带有空格的键必须用双引号括起来。
示例:
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,values,"^DisplayName|DisplayVersion$"] #返回此键中名称为"DisplayName"或"DisplayValue"的值的数据。JSON将包括键、最后一个子键、值名称、值类型和值数据的详细信息。
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,values] #返回此键中所有值的数据。JSON将包括键、最后一个子键、值名称、值类型和值数据的详细信息。
registry.get[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall,keys] #返回此键的所有子键。JSON将包括键和最后一个子键的详细信息。
Windows服务列表。用于低等级自动发现。
返回值:JSON对象。
服务信息。
返回值:整数 - 对于param
为state、startup;字符串 - 对于param
为displayname、path、user;文本 - 对于param
为description。
具体针对state:
0 - 运行中,1 - 暂停,2 - 启动挂起,3 - 暂停挂起,4 - 继续挂起,5 - 停止挂起,6 - 已停止,7 - 未知,255 - 无此服务
具体针对startup:
0 - 自动,1 - 延迟自动,2 - 手动,3 - 禁用,4 - 未知,5 - 自动触发启动,6 - 延迟自动触发启动,7 - 手动触发启动
参数:
注释:
service.info[service,state]
和service.info[service]
的项目将返回相同的信息;param
为state时,此项目才会为不存在的服务返回值(255)。示例:
service.info[SNMPTRAP] - SNMPTRAP服务的状态;
service.info[SNMP Trap] - 相同服务的状态,但指定了显示名称;
service.info[EventLog,startup] - EventLog服务的启动类型
服务列表。
返回值:0 - 如果为空;文本 - 以换行符分隔的服务列表。
参数:
示例:
services[,started] #返回已启动服务的列表;
services[automatic, stopped] #返回应该运行但已停止的服务列表;
services[automatic, stopped, "service1,service2,service3"] #返回应该运行但已停止的服务列表,排除名称为"service1"、"service2"和"service3"的服务
以字节或总量的百分比表示的虚拟内存大小。
返回值:整数 - 字节;浮点数 - 百分比。
参数:
注释:
示例:
执行一个 WMI 查询并返回第一个选定的对象。
返回值:整数、浮点数、字符串 或 文本(取决于请求)。
参数:
WMI 查询使用 WQL 执行。
示例:
wmi.get[root\cimv2,select status from Win32_DiskDrive where Name like '%PHYSICALDRIVE0%'] #返回第一个物理磁盘的状态
执行一个 WMI 查询并返回整个响应。可用于低级发现。
返回值:JSON 对象
参数:
注释:
示例:
本教程提供了逐步设置监控 Windows 服务的说明。假设 Zabbix server和agent已配置并运行。
获取服务名称
您可以通过转到 MMC 服务管理单元并调出服务的属性来获得该名称。在“常规”选项卡中,您应该会看到一个名为“服务名称”的字段。后面的值是您在设置监控项时将使用的名称。
例如,如果您想监控“工作站”服务,那么您的服务可能是:lanmanworkstation。
配置监控项以监控服务。
监控项service.info[service,<param>]
用于检索有关特定服务的信息。根据您需要的信息,指定接受以下值的param
选项:displayname、state、path、user、startup或description。如果未指定param
(service.info[service]
),则默认值为state。
返回值的类型取决于所选的param
:state和startup为整数;displayname、path和user为字符字符串;description为文本。
示例:
service.info[lanmanworkstation]
监控项service.info[lanmanworkstation]
将检索有关服务状态的信息作为数字值。 要在前端将数字值映射到文本表示(例如,将"0"表示为"Running",将"1"表示为"Paused"等),您可以在配置了该项的主机上配置value mapping。 为此,请将模板Windows services by Zabbix agent或Windows services by Zabbix agent active链接到主机,或在主机上配置一个新的值映射,该值映射基于上述模板上配置的Windows service state值映射。
请注意,上述两个模板都配置了发现规则,将自动发现服务。 如果不希望如此,可以在模板链接到主机后,在主机级别禁用发现规则。
低级别自动发现提供了一种自动为计算机上的不同实体创建监视项、触发器和图形的方法。Zabbix 可以自动开始监视您计算机上的 Windows 服务,无需知道服务的确切名称或手动为每个服务创建监视项。过滤器可用于仅为感兴趣的服务生成真实的监视项、触发器和图形。