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 item
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 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 read-write-Dateisysteme filtert:

Abhängigkeits-Datenpunkt-Prototyp
Erstellen Sie in dieser LLD-Regel einen Datenpunkt-Prototyp mit dem Typ "Dependent item".
Wählen Sie als Master-Datenpunkt für diesen Prototyp den vfs.fs.get-Datenpunkt aus, den wir erstellt haben.

Beachten Sie die Verwendung benutzerdefinierter Makros im Namen und Schlüssel des Datenpunkt-Prototyps:
- 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 im Tab Preprocessing des Datenpunkt-Prototyps 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.