Zabbix permite crear plantillas personalizadas (templates) que se adaptan a nuestras necesidades específicas de monitoreo.

En esta oportunidad, configuraremos una plantilla personalizada para supervisar un servicio en Linux, utilizando Zabbix Agent2 y triggers para capturar el estado del servicio.

Cómo configurar una plantilla personalizada 

Primero, accedemos al apartado «Data Collection» > «Templates» y, en la parte superior derecha, seleccionamos «Create Template».

Aquí asignaremos un nombre identificativo para los servicios de Linux, elegiremos un grupo correspondiente al sistema operativo y añadiremos una breve descripción.

En el apartado «Value mapping», asignaremos valores interpretables al estado del servicio. Especificaremos que:

  • 0 corresponde a Down;
  • 1 corresponde a Up.

Es fundamental identificar cómo se visualizan los servicios en el servidor Linux que deseamos monitorear. Para ello, ejecutamos el siguiente comando en dicho servidor.

  • UNIT: representa el nombre del servicio;
  • ACTIVE: indica que el servicio está activo;
  • DESCRIPTION: proporciona una breve descripción del servicio.

Una vez creada la plantilla, hacemos clic en «Create Item» para configurar el ítem correspondiente.

Al crear el ítem, le asignamos un nombre identificativo y lo configuramos para utilizar Zabbix Agent. En el campo «Key» ingresamos: systemd.unit.info[«service»] donde service se reemplazará por el nombre real del servicio (accounts-daemon.service).

Se define el tipo de información como character, ya que se devuelve un valor textual que representa el estado.

En «Value mapping», seleccionamos el mapeo previamente creado y lo asociamos al ítem. Además, es recomendable añadir una breve descripción que detalle el propósito del ítem y el servicio que se monitorea.

En la pestaña «Tags», añadimos una etiqueta para identificar que se trata de servicios.

En la pestaña «Preprocessing», configuramos una expresión regular, cuando el servicio esté activo, se retorne el valor 1, representando el estado Up. Adicionalmente, seleccionamos la opción «Custom on fail», en caso de fallo, se asigne automáticamente el valor 0, indicando que el servicio está Down.

Tambien es posible aplicar expresiones regulares en «Preprocessing» para filtrar valores no deseados o convertir texto a valores numéricos, permitiendo mayor flexibilidad en la interpretación de datos.

Accedemos a la sección «Triggers» de nuestra plantilla y hacemos clic en «Create Trigger«. Asignamos un nombre identificativo al trigger, como “El servicio accounts-daemon se encuentra caido”.

Seleccionamos la severidad apropiada para el evento.

Finalmente, en el campo «Expression», definimos la condición que evalúa si el valor es diferente de 1. Esto generará la alerta correspondiente, indicando que el servicio no está operativo.

Nos dirigimos al host y aplicamos el template en nuestro servidor Linux.

Verificamos que el ítem funcione correctamente. Para ello, podemos consultar el latest Data de nuestro host y confirmar que los valores reportados corresponden con el estado real del servicio.

Recomendaciones para la creación de plantillas en Zabbix

  • Definición de severidades adecuadas: No todos los servicios tienen la misma importancia. Definir niveles de alerta adecuados mejora la gestión de incidentes.
  • Revisión del entorno: Es importante ajustar las plantillas según las necesidades operativas.
  • Uso de Discovery Rules: Para automatizar la detección de servicios en varios servidores.
  • Configuración de dependencias: Para evitar alertas innecesarias cuando un servicio depende de otro.

Conclusión

La personalización de plantillas permite adoptar un enfoque dinámico, como el uso de Discovery, que facilita el escaneo de todos los servicios en funcionamiento. En entornos Linux, es esencial supervisar el estado de los servicios críticos para garantizar la estabilidad y disponibilidad del sistema.

Una configuración adecuada en Zabbix ayuda a prevenir problemas antes de que afecten la operatividad de la infraestructura.

 

Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x