Mi primera experiencia con Zabbix – Sistema de monitoreo

Probablemente, alguna vez hayas estado involucrado en este tipo de conversaciones:

— «La aplicación no está funcionando»

— «¡El servidor no está funcionando! ¿Qué pasó?»

— «La base de datos cayó… parece que el uso de CPU estuvo muy alto, parece que la RAM también, parece que el uso de disco duro ha llegado al 100%… entre otras razones»

En ciertas ocasiones he estado en esta situación. Así que he decidido instalar y configurar un sistema de monitoreo de hosts, servicios y procesos usando Zabbix.

¿Qué es zabbix?

Zabbix es un sistema de monitoreo de código abierto. Ofrece muchas formas de monitorear diferentes aspectos de las infraestructuras TI: redes, servidores, servicios, aplicaciones, procesos, etc.

Se puede caracterizar como un sistema de monitoreo semi-distribuido con gestión centralizada. Es semi-distribuido porque las instalaciones servidor zabbix pueden actuar como proxies y la mayoría de instalaciones usarán agentes zabbix para la recolección de datos.

Características de Zabbix

  • Una interfaz centralizada y fácil de usar
  • Un servidor que se ejecuta en la mayoría de sistemas operativos similares a UNIX, incluyendo Linux, AIX, FreeBSD, OpenBSD, y Solaris
  • Agentes nativos para la mayoría de sistemas operativos similares a UNIX y versiones de Microsoft Windows.
  • Capacidad de monitorear dispositivos SNMP e IPMI.
  • Capacidad de monitorear aplicaciones Java utilizando Java Management Extensions (JMX).
  • Capacidad de monitorear instancias vCenter o vSphere utilizando VMware API.
  • Gráficos para visualizar los datos recolectados .
  • Sistema de notificaciones e integración con otros sistemas.

Instalación

Puedes seguir la guía de instalación según las características de tu servidor, desde la página oficial: https://www.zabbix.com/download

En mi caso fue simple y rápido, debido a que seguí las instrucciones de la página oficial. Recuerda que debes instalar un servidor y agentes Zabbix en los servidores que quieres monitorear.

Para mi laboratorio de pruebas he preparado un servidor con las siguientes características: CentOS 7.6, 12GB RAM 250GB . En realidad los requerimientos mínimos de Zabbix son bastante bajos. Es suficiente 128MB de RAM y el CPU no juega un papel muy importante.


Mi experiencia con Zabbix

Desde el primer momento, su interfaz me pareció muy fácil e intuitiva a comparación de Nagios(Otro sistema de monitoreo). La interfaz de Zabbix te muestra 5 módulos principales:

  • Monitoreo: Dashboard, problemas, gráficos, mapas, otros.
  • Inventario: Vista general, hosts.
  • Reportes: Información de sistema, disponibilidad, auditoría, ranking y notificaciones.
  • Configuración: Hosts, acciones, servicios y plantillas.
  • y Administración: Proxies, autenticación, usuarios, grupos y scripts.

Hosts y Items

Para iniciar mi laboratorio tuve que configurar algunos «hosts» y «items». La recolección de datos de los agentes gira alrededor de los «items». Cada «item» almacena un KPI. Puedes configurar varios para un solo host.

Por ejemplo; puedes recolectar datos como:

  • El tiempo de respuesta de «ping»
  • Uso de memoria RAM, disco, CPU
  • Tráfico de red entrante/saliente
  • Cantidad de procesos y archivos abiertos
  • Caché, buffer
  • Aplicaciones, bases de datos, etc
  • Cualquier recurso de un servidor

Incluso puedes configurar una métrica personalizada o importar alguna implementación de un tercero.

Triggers

Un caso sencillo, imagina que deseas monitorear el log de errores de tu aplicación y recibir una notificación en el móvil o por correo cuando este haya caído o haya sucedido un error fatal. Puedes conseguir esto con los triggers.

El trigger es un registro que contiene una expresión para disparar notificaciones cuando el «item» monitoreado coincida.

Conclusión

Mi primera experiencia con Zabbix ha sido muy satisfactoria; he aprendido a monitorear varios recursos, establecer expresiones(triggers) para conseguir notificaciones en mi teléfono móvil. Es como tener puesto los ojos en todo lugar las 24 horas del día, los 7 días de la semana. 👀

Zabbix resolverá muchos de los inconvenientes que he tenido antes. 😄 Te recomiendo puedas usarlo en tu infraestructura TI.

El libro «Zabbix Network Monitoring – Second Edition» ha sido mi referencia para esta buena experiencia.