zabbix键值wmi.getall的使用-获取Window信息
在线答疑:https://forum.lwops.cn/
本文完整讲解 wmi.getall 键值作用、环境准备、低级自动发现(LLD)、监控项原型全流程配置。
键值介绍:
wmi.getall[<命名空间>, <WQL查询语句>]
第一个参数:WMI 命名空间
绝大多数 Windows 硬件 / 系统类固定为 root\cimv2,不可随意修改;
少数特殊组件(存储、虚拟化)才会使用其他命名空间。
第二个参数:WQL 查询语句
类 SQL 查询语法,用来筛选要采集的 Windows 对象字段;
语句外层使用双引号包裹,Zabbix 内部会自动转义。
键值需要在agent配置开启远程命令参数,5.0以下版本的参数是 EnableRemoteCommand=1,5.0以上版本的是 AllowKey=wmi.getall[*],然后重启agent即可使用。
适用系统:Windows 7/Server 2008R2 及以上,原生支持 WMI、wmic 命令;Windows XP/2003 兼容性较差,不推荐使用。
以下是一个获取windows硬盘序列号和硬盘状态的示例
第一步:创建监控项
键值:wmi.getall[root\cimv2,"select DeviceID,Status,SerialNumber,Caption from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'"]

1.1监控项获取值测试,如图能正常获取到值

第二步:创建自动发现规则
Zabbix Web → 配置 → 模板 → 选中目标模板 Windows系统硬件信息。
切换到 自动发现规则 → 右上角 创建发现规则。

2.1填写名称
类型:相关项目
主要项:选择监控项(硬盘发现)

2.2配置 LLD 宏 + JSONPath 解析
|
LLD 宏名称 |
JSONPath 表达式 |
作用说明 |
|---|---|---|
|
{#DISK.CAPTION} |
$.Caption |
提取磁盘型号 / 名称 |
|
{#DISK.DEVICEID} |
$.DeviceID |
提取磁盘设备 ID(核心唯一标识) |
|
{#DISK.SERIAL} |
$.SerialNumber |
提取磁盘序列号 |
|
{#DISK.STATUS} |
$.Status |
提取磁盘运行状态 |

2.3创建【监控项原型】(自动生成监控项)
原型 1:硬盘序列号监控(文本类型)

原型 2:硬盘运行状态监控

第三步:查看监控数据


浙公网安备 33010602011771号