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