1 Découverte des systèmes de fichiers montés

Vue d’ensemble

Il est possible de découvrir les systèmes de fichiers montés et leurs propriétés :

  • nom du point de montage
  • type de système de fichiers
  • taille du système de fichiers
  • statistiques des inodes
  • options de montage

Pour ce faire, vous pouvez utiliser une combinaison de :

  • l’élément d’agent vfs.fs.get comme élément maître
  • une règle de découverte de bas niveau dépendante et des prototypes d’éléments

Configuration

Élément maître

Créez un élément Zabbix agent en utilisant la clé suivante :

vfs.fs.get

Définissez le type d'information sur "Text" pour d'éventuelles données JSON volumineuses.

Les données renvoyées par cet élément contiendront quelque chose comme ce qui suit pour un système de fichiers monté :

[
  {
    "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"
  }
]
Règle LLD dépendante

Créez une règle de découverte de bas niveau de type élément dépendant :

Comme élément maître, sélectionnez l'élément vfs.fs.get que nous avons créé.

Dans l'onglet Macros LLD, définissez des macros personnalisées avec le JSONPath correspondant :

Dans l'onglet Filtres, vous pouvez ajouter une expression régulière qui filtre uniquement les systèmes de fichiers lecture-écriture :

Prototype d'élément dépendant

Créez un prototype d'élément de type "Dependent item" dans cette règle LLD. Comme élément maître pour ce prototype, sélectionnez l'élément vfs.fs.get que nous avons créé.

Notez l'utilisation de macros personnalisées dans le nom et la clé du prototype d'élément:

  • Name: Free disk space on {#FSNAME}, type: {#FSTYPE}
  • Key: Free[{#FSNAME}]

Comme type d'information, utilisez:

  • Numeric (unsigned) pour des métriques comme 'free', 'total', 'used'
  • Numeric (float) pour des métriques comme 'pfree', 'pused' (percentage)

Dans l'onglet Preprocessing du prototype d'élément, sélectionnez JSONPath et utilisez l'expression JSONPath suivante comme paramètre:

$.[?(@.fsname=='{#FSNAME}')].bytes.free.first()

Lorsque la découverte démarre, un élément par point de montage sera créé. Cet élément renverra le nombre d'octets libres pour le point de montage donné.