10 Обнаружение с использованием запросов WMI

Обзор

WMI - мощный интерфейс в Windows, который можно использовать для получения различной информации о компонентах, службах, состоянии и установленном программном обеспечении Windows.

Его можно использовать для обнаружения физических дисков и сбора их данных производительности, обнаружения сетевых интерфейсов, обнаружения гостевых систем Hyper-V, мониторинга служб Windows и множества других задач в ОС Windows.

Этот тип низкоуровневого обнаружения выполняется с использованием запросов WQL, результаты которых автоматически преобразуются в объект 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 4.4.

Макросы низкоуровневого обнаружения

Несмотря на то, что макросы низкоуровневого обнаружения не создаются в возвращаемом JSON, эти макросы могут быть определены пользователем в дополнительном шаге с использованием функциональности настраиваемых LLD макросов с JSONPath, которые будут указывать на обнаруженные значения в полученном JSON.

Эти макросы можно затем использовать для создания прототипов элементов данных, триггеров, графиков и т.п.