1 Erkennung eingehängter Dateisysteme
Übersicht
Es ist möglich, eingehängte Dateisysteme und ihre Eigenschaften zu erkennen:
- Name des Einhängepunkts
- Dateisystemtyp
- Dateisystemgröße
- Inode-Statistiken
- Einhängeoptionen
Dazu können Sie eine Kombination aus Folgendem verwenden:
- dem Agent-Datenpunkt
vfs.fs.getals Master-Datenpunkt - einer abhängigen Low-Level-Discovery-Regel und Datenpunkt-Prototypen
Konfiguration
Master-Datenpunkt
Erstellen Sie einen Zabbix-Agent-Datenpunkt mit dem folgenden Schlüssel:
vfs.fs.get

Setzen Sie den Informationstyp für möglicherweise große JSON-Daten auf "Text".
Die von diesem Datenpunkt zurückgegebenen Daten enthalten für ein eingehängtes Dateisystem etwa Folgendes:
[
{
"fsname": "/",
"fstype": "ext4",
"bytes": {
"total": 249405239296,
"free": 24069537792,
"used": 212595294208,
"pfree": 10.170306,
"pused": 89.829694
},
"inodes": {
"total": 15532032,
"free": 12656665,
"used": 2875367,
"pfree": 81.487503,
"pused": 18.512497
},
"options": "rw,noatime,errors=remount-ro"
}
]
Abhängige LLD-Regel
Erstellen Sie eine Low-Level-Discovery-Regel als Typ Abhängiger Datenpunkt:

Wählen Sie als Master-Datenpunkt den von uns erstellten vfs.fs.get-Datenpunkt aus.
Definieren Sie auf der Registerkarte LLD-Makros benutzerdefinierte Makros mit dem entsprechenden JSONPath:

Auf der Registerkarte Filter können Sie einen regulären Ausdruck hinzufügen, der nur les-/schreibbare Dateisysteme filtert:

Abhängigkeits-Datenpunktvorlage
Erstellen Sie in dieser LLD-Regel eine Datenpunktvorlage vom Typ "Dependent item".
Wählen Sie als Master-Datenpunkt für diese Vorlage den von uns erstellten Datenpunkt vfs.fs.get aus.

Beachten Sie die Verwendung benutzerdefinierter Makros im Namen und Schlüssel der Datenpunktvorlage:
- Name: Freier Speicherplatz auf {#FSNAME}, Typ: {#FSTYPE}
- Key: Free[{#FSNAME}]
Verwenden Sie als Informationstyp:
- Numeric (unsigned) für Metriken wie 'free', 'total', 'used'
- Numeric (float) für Metriken wie 'pfree', 'pused' (Prozent)
Wählen Sie auf der Registerkarte Preprocessing der Datenpunktvorlage JSONPath aus und verwenden Sie den folgenden JSONPath-Ausdruck als Parameter:
$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

Wenn die Erkennung startet, wird für jeden Mountpoint ein Datenpunkt erstellt. Dieser Datenpunkt gibt die Anzahl der freien Bytes für den jeweiligen Mountpoint zurück.