2022 Zabbix中国峰会
2022 Zabbix中国峰会

10 使用WMI查询发现

概述

WMI 是Windows中的一个功能强大的界面,可用于检索有关Windows组件、服务、状态和安装的软件的各种信息。

它可以用于物理磁盘发现及其性能数据收集、网络接口发现、Hyper-V客户发现、监视Windows服务和Windows操作系统中的许多其他事情。 这种低级的发现使用WQL查询完成,查询的结果会自动转换为适合低级发现的JSON对象。

监控项值

发现规则中使用的项是:

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

监控项将查询结果转换成一个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中发现的值。 这些宏可以用来创建项目、触发器等原型。