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.get als 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.