Rilevamento tramite query WMI

Panoramica

WMI è una potente interfaccia di Windows che può essere utilizzata per recuperare varie informazioni sui componenti di Windows, i servizi, lo stato e il software installato.

Può essere utilizzata per l'individuazione dei dischi fisici e la raccolta dei relativi dati sulle prestazioni, l'individuazione delle interfacce di rete, l'individuazione dei guest Hyper-V, il monitoraggio dei servizi Windows e molte altre attività nel sistema operativo Windows.

Questo tipo di discovery di basso livello viene eseguito utilizzando query WQL i cui risultati vengono trasformati automaticamente in un oggetto JSON adatto alla discovery di basso livello.

Chiave item

Per configurare la regola di discovery, usa la chiave item dell'agent Zabbix wmi.getall[<namespace>,<query>].

Questa chiave item trasforma il risultato della query in un array JSON. Ad esempio:

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

può restituire qualcosa di simile a questo:

[
    {
        "DeviceID" : "\\.\PHYSICALDRIVE0",
        "BytesPerSector" : 512,
        "Capabilities" : [
            3,
            4
        ],
        "CapabilityDescriptions" : [
            "Accesso casuale",
            "Supporta la scrittura"
        ],
        "Caption" : "VBOX HARDDISK ATA Device",
        "ConfigManagerErrorCode" : 0,
        "ConfigManagerUserConfig" : "False",
        "CreationClassName" : "Win32_DiskDrive",
        "Description" : "Unità disco",
        "FirmwareRevision" : "1.0",
        "Index" : 0,
        "InterfaceType" : "IDE"
    },
    {
        "DeviceID" : "\\.\PHYSICALDRIVE1",
        "BytesPerSector" : 512,
        "Capabilities" : [
            3,
            4
        ],
        "CapabilityDescriptions" : [
            "Accesso casuale",
            "Supporta la scrittura"
        ],
        "Caption" : "VBOX HARDDISK ATA Device",
        "ConfigManagerErrorCode" : 0,
        "ConfigManagerUserConfig" : "False",
        "CreationClassName" : "Win32_DiskDrive",
        "Description" : "Unità disco",
        "FirmwareRevision" : "1.0",
        "Index" : 1,
        "InterfaceType" : "IDE"
    }
]

Macro di discovery a basso livello

Anche se nel JSON restituito non vengono create macro di discovery a basso livello, queste macro possono essere definite dall'utente come passaggio aggiuntivo, utilizzando la funzionalità macro LLD personalizzata con JSONPath che punta ai valori individuati nel JSON restituito.

Le macro possono quindi essere utilizzate per creare prototipi di item, trigger, ecc.