这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

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值。

然后这些宏就可用于创建监控项、触发器等原型。