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 auf „Text“ für möglicherweise große JSON-Daten.
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 vom Typ „Dependent item“:

Wählen Sie als Master-Datenpunkt den Datenpunkt vfs.fs.get aus, den wir erstellt haben.
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 read-write-Dateisysteme filtert:

Prototyp für abhängigen Datenpunkt
Erstellen Sie in dieser LLD-Regel einen Datenpunkt-Prototypen vom Typ „Dependent item“. Wählen Sie als Master-Datenpunkt für diesen Prototypen den Datenpunkt vfs.fs.get aus, den wir erstellt haben.

Beachten Sie die Verwendung benutzerdefinierter Makros im Namen und Schlüssel des Datenpunkt-Prototyps:
- Name: Freier Festplattenspeicher 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 im Reiter „Preprocessing“ des Datenpunkt-Prototyps JSONPath aus und verwenden Sie den folgenden JSONPath-Ausdruck als Parameter:
$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

Sobald die Discovery startet, wird ein Datenpunkt für jeden einzelnen Einhängepunkt erstellt. Dieser Datenpunkt gibt die Anzahl freier Bytes für den jeweiligen Einhängepunkt zurück.