11 WMIクエリを使用した検出

概要

WMIはWindowsの強力なインターフェイスであり、インストールされているWindowsコンポーネント、サービス、状態、およびソフトウェアに関するさまざまな情報を取得するために使用できます。

物理ディスクの検出とそのパフォーマンスデータの収集、ネットワークインターフェイスの検出、Hyper-Vゲストの検出、Windowsサービスの監視などWindowsOSの他の多くのことに使用できます。

このタイプのローレベルディスカバリは、結果がローレベルディスカバリに適したJSONオブジェクトに自動的に変換されるWQLクエリを使用して実行されます。

アイテムキー

ディスカバリルールで使用するアイテムは

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"
           }
       ]

このアイテムはZabbixWindowsエージェント4.4以降でサポートされています。

ローレベルディスカバリマクロ

返されたJSONにローレベルディスカバリマクロは作成されませんが、これらのマクロは、返されたJSONで検出された値を指すJSONPathでカスタムLLDマクロ機能を使用して、追加の手順としてユーザーが定義できます。

その後、マクロを使用して、アイテム、トリガーなどのプロトタイプを作成できます。