Découverte à l'aide de requêtes WMI

Aperçu

WMI est une interface puissante de Windows qui peut être utilisée pour récupérer diverses informations sur les composants, les services, l'état et les logiciels installés de Windows.

Il peut être utilisé pour la découverte de disques physiques et leur collecte de données de performances, la découverte d'interfaces réseau, la découverte d'invités Hyper-V, la surveillance des services Windows et bien d'autres choses dans le système d'exploitation Windows.

Ce type de découverte de bas niveau est effectué à l'aide de requêtes WQL dont les résultats sont automatiquement transformés en un objet JSON adapté à la découverte de bas niveau.

Clé d'élément

Pour configurer la règle de découverte, utilisez la clé d'élément de l'agent Zabbix wmi.getall[<namespace>,<query>].

Cette clé d'élément transforme le résultat de la requête en tableau JSON. Par exemple :

select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE%'

peut renvoyer quelque chose comme ceci :

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

Macros de découverte de bas niveau

Même si aucune macro de découverte de bas niveau n'est créée dans le JSON renvoyé, ces macros peuvent être définies par l'utilisateur comme étape supplémentaire, en utilisant la fonctionnalité macro LLD personnalisée avec un JSONPath pointant vers les valeurs découvertes dans le JSON renvoyé.

Les macros peuvent ensuite être utilisées pour créer des prototypes d'élément, de déclencheur, etc.