这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

Windows 特定的监控项键值

监控项键值

该表提供了Zabbix Windows Agent可用的监控项键值的详细描述.

也可参考: 最低权限级别的Windows agent 监控项

Key
描述 返回值 参数 注释
eventlog[name,<regexp>,<severity>,<source>,<eventid>,<maxlines>,<mode>]
事件日志监控 日志 name - 事件日志名称
regexp - 所需匹配的正则表达式
severity - 正则表达式的严重级别
此参数接受以下值: "Information", "Warning", "Error", "Critical", "Verbose" (从Zabbix 2.2.0开始支持,在Windows Vista或更高版本上运行)
source - 描述源标识符的正则表达式(自 Zabbix 2.2.0 起支持正则表达式)
eventid - 描述事件标识符的正则表达式
maxlines - 代理每秒发送到 Zabbix 服务器或代理的最大新行数。此参数覆盖zabbix_agentd.win.conf 中 'MaxLinesPerSecond' 的值.
mode - 可能的值:
all (默认), skip - 跳过处理旧数据(仅影响新创建的监控项)。
此监控项必须配置为 主动模式.

例如:
=> eventlog[Application]
=> eventlog[Security,,"Failure Audit",,^(529|680)$]
=> eventlog[System,,"Warning|Error"]
=> eventlog[System,,,,^1$]
=> eventlog[System,,,,@TWOSHORT] - 这里引用了 自定义正则表达式 名为TWOSHORT (定义了 结果为真 的类型, 正则表达式本身为 ^1$\|^70$)。

请注意 代理无法从“转发事件”日志中发送事件。

mode 参数从 Zabbix 2.0.0后开始支持。
"Windows Eventing 6.0" 从 Zabbix 2.2.0后开始支持。

请注意选择的监控项非日志类型 信息类型 将导致丢失本地时间戳, 源信息和日志级别也会丢失。

同样也可参考 日志监控有关信息。
net.if.list
网络接口列表 (包含接口类型,状态,IPv4地址,描述)。 文本 从Zabbix agent 版本1.8.1后支持多字节网卡名称,从 Zabbix agent 版本 1.8.6后,禁用的网卡列表并不显示

需要注意的是,开启/关闭一些组件可能会更改windows界面的显示顺序.

某些windows版本 (如, Server 2008) 可能需要安装最新更新以支持接口名称中的非 ASCII 字符。
perf_counter[counter,<interval>]
任意Windows性能计数值。 整型, 浮点型, 字符串或文本 (取决于请求) counter - 计数器的路径
interval - 用于存储平均值的最后N秒。
interval 必须在1~900秒 (包含) 默认值为1。
性能监视器可以用于获取可用的计数器列表。 在 1.6 之前,计数器使用一个是简单的样本(如 )并返回返回正确的值。对于需要多个样本的计数器(例如 CPU 利用率),它不会按预期工作, 1.6之后,使用了interval,因此每次检查返回最后“间隔”秒的平均值。

另请参阅: Windows 性能计数器
perf_counter_en[counter,<interval>]
任意Windows性能计数英文值 整型, 浮点型, 字符串或文本 (取决于请求) counter - 以英文表示的计数器路径
interval - 用于存储平均值的最后N秒。
The interval 必须在1~900秒 (包含) 默认值为1。
此监控项仅支持 Windows Server 2008/Vista 或以上版本。

你可以通过以下注册表信息找到英文列表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009

从 Zabbix agent 版本 4.0.13 和 4.2.7后开始支持
perf_instance.discovery[object]
Windows性能计数器的对象实例列表,用于 底层自动发现. JSON对象 object - 对象名称 (本地化) 自Zabbix agent版本5.0.1后开始支持
perf_instance_en.discovery[object]
Windows性能计数器的对象实例列表, 使用英文对象名称发现时, 用于 底层自动发现 JSON 对象 object - 对象名称 (英文) 自Zabbix agent版本5.0.1后开始支持。
proc_info[process,<attribute>,<type>]
有关特定进程的各种信息 浮点型 process - 进程名
attribute - 请求的进程属性
type - 表示类型(当存在多个同名进程时有意义)
以下 attributes 被支持:
vmsize (默认) - 进程占用的虚拟内存大小,单位为千字节
wkset - 进程工作集大小 (进程使用的物理内存量) ,以千字节为单位
pf - 页面错误数
ktime - 以毫秒为单位的进程内核时间
utime - 以毫秒为单位的进程用户时间
io_read_b - 在I/O 操作中进程读取的字节数
io_read_op - 进程读操作数量
io_write_b - 在I/O 操作中进程写入的字节数
io_write_op - 进程写操作数量
io_other_b - 操作期间,在读操作和写操作之外由进程传送的字节数
io_other_op - 通过进程执行的I/O操作数量,而不是读取和写入操作
gdiobj - 进程使用的GDI对象数
userobj - 进程使用的USER对象数

有效的types 是:
avg (默认) - 所有进程名为 <process>的平均值
min - 所有进程名为 <process>中的最小值
max - 所有进程名为 <process>中的最大值
sum - 所有进程名为 <process>的求和

例如:
=> proc_info[iexplore.exe,wkset,sum] - 获取所有 Internet Explorer 进程占用的物理内存总量
=> proc_info[iexplore.exe,pf,avg] - 获取 Internet Explorer 进程的平均页面错误数

请注意,在64位系统上,需要64位Zabbix代理才能正常工作。

注意: io_*, gdiobjuserobj 属性仅在Windows 2000及更高版本的Windows上可用,不支持Windows NT 4.0。
service.discovery
Windows服务列表,用于 底层自动发现. JSON 对象 自Zabbix agent 版本3.0开始支持
service.info[service,<param>]
关于服务的信息。 整型- paramstate, startup

字符串 - paramdisplayname, path, user

文本 - paramdescription

关于 state:
0 - 运行,
1 - 暂停,
2 - 开始等待,
3 - 暂停等待,
4 - 继续等待,
5 - 停止等待,
6 - 停止,
7 - 位置,
255 - 没有这样的服务

关于 startup:
0 - 自动的,
1 - 自动延迟,
2 - 手动,
3 - 关闭,
4 - 位置,
5 - 自动触发启动,
6 - 自动延迟触发启动,
7 - 手动触发启动
service - 真实的服务名称或在MMC中显示的名称
param - state (默认), displayname, path, user, startup or description
例如:
=> service.info[SNMPTRAP] - SNMPTRAP 服务的状态
=> service.info[SNMP Trap] - 同一的服务状态,但是指定了显示的名称
=> service.info[EventLog,startup] - EventLog 服务的启动类型

监控项service.info[service,state] 和service.info[service] 将返回相同的信息

注意的是仅当参数为state时,监控项才返回不存在的服务(255)

该监控项自 Zabbix 3.0.0后开始支持,它将用于替代废弃的 service_state[service] 监控项。
services[<type>,<state>,<exclude>]
服务列表。 0 - 如果为空

文本- 以换行符分隔的服务列表
type - all (默认), automatic, manualdisabled
state - all (默认), stopped, started, start_pending, stop_pending, running, continue_pending, pause_pendingpaused
exclude - 从结果中排除服务。 排除的服务应该在双引号中列出,用逗号分隔,没有空格
例如:
=> services[,started] - 列出启动的服务
=> services[automatic, stopped] - 应该运行但停止的服务
=> services[automatic, stopped, "service1,service2,service3"] - 应该运行但停止的服务,除了服务 service1, service2 and service3以外

exclude 参数自Zabbix 1.8.1后开始支持.
wmi.get[<namespace>,<query>]
执行WMI查询返回的第一个对象 整型, 浮点型, 字符串和文本 (取决于请求) namespace - WMI命名空间
query - WMI 查询返回单个的对象
WMI 查询使用 WQL执行。

例如:
=> wmi.get[root\cimv2,select status from Win32_DiskDrive where Name like '%PHYSICALDRIVE0%'] - 返回第一个物理磁盘的状态信息

这个监控键值自 Zabbix 2.2.0后开始支持.
wmi.getall[<namespace>,<query>]
执行 WMI 查询并返回全部的响应内容。

可以用于 低级别自动发现
JSON 对象 namespace - WMI 命名空间
query - WMI 查询
WMI 查询使用 WQL执行。

例如:
=> wmi.getall[root\cimv2,select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'] - 返回物理磁盘状态信息

JSON路径预处理 用于指向返回的JSON串中更具体的值

该监控项自 Zabbix 4.4.0开始支持。
vm.vmemory.size[<type>]
虚拟内存大小(以字节为单位)或占总数的百分比 整型- 字节数

浮点数- 百分比
type - 可能的值:
available (可用的虚拟内存), pavailable (可用的虚拟内存百分比), pused (使用到虚拟内存百分比), total (总虚拟内存大小, 默认), used (使用的虚拟内存大小)
例如:
=> vm.vmemory.size[pavailable] → 可用的虚拟内存百分比

虚拟的内存统计监控基于:
* Windows 虚拟内存总大小 (物理内存总大小 + 分页文件大小);
* Zabbix agent 可以提交的最大内存量;
* 系统或Zabbix agent当前的提交内存限制,以较小者为准。

该键值自 Zabbix 3.0.7 和 3.2.3后开始支持。

监控Windows服务

本教程提供了设置 Windows 服务监控的分步说明。假设 Zabbix server 和 agent 已经配置好并且可以运行。

第一步

获取服务名称

您可以通过转到 MMC 服务管理单元并调出服务的属性来获得该名称。在“常规”选项卡中,您应该会看到一个名为“服务名称”的字段。后面的值是您在设置监控项时将使用的名称。

例如,如果您想监控“工作站”服务,那么您的服务可能是:lanmanworkstation

第二步

为监控服务配置监控项

该监控项 service.info[service,<param>] 检索有关特定服务的信息。根据您需要的信息, 指定接受以下的param选项: displayname, state, path, user, startup or description.。如果 param 未指定(service.info[service]),则默认的值为state

返回值的类型取决于选择的param:对于state和startup是整型,displayname,path和user为字符串类型,description为文本型

例子:

  • : service.info[lanmanworkstation]
  • 值类型: 数字 (无符号)
  • 显示值:选择 Windows服务状态 值映射

两个值映射可用_Windows service state_和 Windows service startup type 将数值映射到前端中的文本表示。

Windows服务的发现

低级别自动发现 提供了一种在计算机上为不同实体自动创建项目、触发器和图形的方法。 Zabbix可以自动开始监控机器上的Windows服务,无需知道服务的确切名称,也可以手动创建每个服务的项目。过滤器可用于仅为感兴趣的服务生成实际监控项、触发器和图形。