1 Descubrimiento de sistemas de archivos montados

Descripción general

Es posible descubrir los sistemas de archivos montados y sus propiedades:

  • nombre del punto de montaje
  • tipo de sistema de archivos
  • tamaño del sistema de archivos
  • estadísticas de inodos
  • opciones de montaje

Para ello, puede utilizar una combinación de:

  • la métrica de agente vfs.fs.get como métrica principal
  • regla de descubrimiento de bajo nivel dependiente y prototipos de métricas

Configuración

Elemento maestro

Cree un item de Zabbix agent usando la siguiente clave:

vfs.fs.get

Establezca el tipo de información en "Text" para posibles datos JSON de gran tamaño.

Los datos devueltos por este item contendrán algo similar a lo siguiente para un sistema de archivos montado:

[
  {
    "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"
  }
]
Regla LLD dependiente

Cree una regla de descubrimiento de bajo nivel como tipo Dependent item:

Como master item, seleccione el item vfs.fs.get que creamos.

En la pestaña LLD macros, defina macros personalizadas con el JSONPath correspondiente:

En la pestaña Filters, puede agregar una expresión regular que filtre solo los sistemas de archivos de lectura y escritura:

Prototipo de item dependiente

Cree un prototipo de item con el tipo "Dependent item" en esta regla LLD.
Como item maestro para este prototipo, seleccione el item vfs.fs.get que creamos.

Observe el uso de macros personalizadas en el nombre y la clave del prototipo de item:

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

Como tipo de información, use:

  • Numeric (unsigned) para métricas como 'free', 'total', 'used'
  • Numeric (float) para métricas como 'pfree', 'pused' (percentage)

En la pestaña Preprocessing del prototipo de item, seleccione JSONPath y use la siguiente expresión JSONPath como parámetro:

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

Cuando comience el descubrimiento, se creará un item por cada punto de montaje.
Este item devolverá el número de bytes libres para el punto de montaje dado.