使用 WMI 查询进行发现

概述

WMI 是一种Windows中的接口,功能强大,可用于获取各种信息,比如Windows组件、服务、状态和安装的软件。

WMI可用于物理硬盘的自动发现和相关性能数据的采集、网络接口的自动发现、Hyper-V guest的自动发现、监控Windows操作系统中的服务和其它实体。

此类低级别 自动发现 通过使用WQL查询实现,其结果会自动转换成一个匹配低级别自动发现的JSON格式的JSON对象。

监控项键值

要配置发现规则,请使用 Zabbix agent 监控项键值 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"
    }
]

低级别发现宏

尽管返回的 JSON 中不会创建任何低级别发现宏,但用户可以作为额外步骤,通过使用 自定义 LLD 宏 功能,并让 JSONPath 指向返回的 JSON 中已发现的值,来定义这些宏。

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