10 使用 WMI 进行发现 queries

概述

WMI 是Windows系统中一个强大的接口,可用于获取有关Windows组件、服务、状态及已安装软件的各种信息。

该接口可用于物理磁盘发现及其性能数据收集、网络接口发现、Hyper-V客户机发现、监控Windows服务以及Windows操作系统中的许多其他功能。

这类底层 discovery通过WQL queries实现,其查询结果会被get自动转换为适用于低级发现的JSONobject。

监控项键

发现规则中使用的监控项是

wmi.getall[<namespace>,<query>]

这个item 将query结果转换为JSON array。例如:

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中未创建低级发现宏,但用户可以通过额外步骤, 使用自定义宏功能并配置指向返回JSON中发现值的JSONPath, 来自行定义这些宏。

这些宏随后可用于create 监控项、触发器原型等场景。