10 利用WMI查询执行自动发现
概述
WMI 是一种Windows中的接口,功能强大,可用于获取各种信息,比如Windows组件、服务、状态和安装的软件。
WMI可用于物理硬盘的自动发现和相关性能数据的采集、网络接口的自动发现、Hyper-V guest的自动发现、监控Windows操作系统中的服务和其它实体。
此类低级别 自动发现 通过使用WQL查询实现,其结果会自动转换成一个匹配低级别自动发现的JSON格式的JSON对象。
监控项的键
自动发现规则中使用的监控项是
wmi.getall[<命名空间>,<查询>]
此监控项 将查询结果转换成一个JSON数组. 比如:
select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'
会转换成下面的数据:
[
{
"DeviceID" : "\\.\PHYSICALDRIVE0",
"BytesPerSector" : 512,
"Capabilities" : [
3,
4
],
"CapabilityDescriptions" : [
"Random Access",
"Supports Writing"
],
"Caption" : "VBOX HARDDISK ATA Device",
"ConfigManagerErrorCode" : "0",
"ConfigManagerUserConfig" : "false",
"CreationClassName" : "Win32_DiskDrive",
"Description" : "Disk drive",
"FirmwareRevision" : "1.0",
"Index" : 0,
"InterfaceType" : "IDE"
},
{
"DeviceID" : "\\.\PHYSICALDRIVE1",
"BytesPerSector" : 512,
"Capabilities" : [
3,
4
],
"CapabilityDescriptions" : [
"Random Access",
"Supports Writing"
],
"Caption" : "VBOX HARDDISK ATA Device",
"ConfigManagerErrorCode" : "0",
"ConfigManagerUserConfig" : "false",
"CreationClassName" : "Win32_DiskDrive",
"Description" : "Disk drive",
"FirmwareRevision" : "1.0",
"Index" : 1,
"InterfaceType" : "IDE"
}
]
从Zabbix Windows agent 4.4起支持此监控项。
低级别自动发现的宏
就算低级别自动发现返回的JSON数组中未创建任何宏,也可以使用一个额外步骤来定义宏,通过使用 自定义LLD 宏,将JSONPath指向返回的JSON值。
然后这些宏就可用于创建监控项、触发器等原型。