Close
Log in to Zabbix Blog
Email
Password
Show password Hide password
Forgot password?
Incorrect e-mail and/or password
or
By creating an account or logging in with an existing account, you agree to our Terms of Service
CómoEstudio de casoIntegracionesTécnicaComunidadEventosNoticiasIniciar sesión

Cómo funciona Zabbix: Arquitectura explicada desde cero

Comprenda los conceptos, términos y componentes fundamentales de Zabbix, explorando la arquitectura de la herramienta para extraer el máximo rendimiento y valor de la solución.

Comprender cómo funciona la arquitectura de Zabbix, los componentes que forman parte de la estructura y cómo se conectan es importante para garantizar el uso correcto del software. Pero, principalmente, para el desarrollo de un entorno de monitoreo más eficiente, estable y bien estructurado en diferentes escenarios.

En este artículo, repasaremos los conceptos y componentes clave de Zabbix, y exploraremos las mejores prácticas para obtener el máximo rendimiento y valor de la solución.

¡Sigue leyendo!

Conceptos clave del ecosistema de monitorización de Zabbix

Recopilación de datos

La recopilación de datos es uno de los pilares fundamentales de Zabbix y puede realizarse de diversas maneras, lo que permite monitorizar prácticamente cualquier tipo de recurso. Entre las posibilidades, destacan las siguientes:

  • Comprobaciones de disponibilidad y rendimiento;
  • Compatibilidad con diversos protocolos, como ICMP, SNMP, IPMI, JMX, SSH y monitorización de VMware;
  • Monitorización mediante Zabbix Agent y Zabbix Agent2;
  • Recopilación de datos mediante ODBC para bases de datos;
  • Ejecución de comprobaciones externas, lo que permite el uso de scripts personalizados;
  • Recopilación de datos realizada directamente por el servidor, proxy o agente de Zabbix.

Triggers y alertas

El mecanismo de activación de Zabbix permite interpretar los datos recopilados e identificar condiciones anómalas mediante el envío de alertas. Las características clave incluyen:

  • Creación de triggers personalizados y flexibles con lógica avanzada;
  • Envío de alertas configurables, escalables por usuario, grupo o tipo de medio;
  • Ejecución de acciones automáticas mediante comandos remotos, integrando la monitorización con la automatización.

Visualización, gráficos y dashboards

Zabbix ofrece varias formas de visualizar los datos, lo que facilita la comprensión del entorno:

  • Los elementos recopilados se pueden insertar en paneles de control dinámicos e interactivos;
  • Los paneles de control se pueden exportar y enviar automáticamente por correo electrónico;
  • Cada elemento puede generar gráficos en tiempo real;
  • Posibilidad de crear mapas personalizados, desde topologías de red hasta representaciones de servicios.

Almacenamiento de datos

El almacenamiento de datos estructurados garantiza el registro histórico y la trazabilidad porque:

  • Todos los datos recopilados se registran en una base de datos;
  • Mantiene un historial detallado según las políticas definidas;
  • Cuenta con un mecanismo de mantenimiento totalmente configurable.

Componentes clave de la arquitectura Zabbix

Zabbix Server

El servidor Zabbix es el núcleo central de todo el ecosistema de monitorización, coordinando prácticamente todas las operaciones esenciales de la plataforma. Entre las principales responsabilidades del servidor se encuentran:

  • Realizar la recolección directa de ciertos tipos de artículos;
  • Recibir y procesar datos enviados por proxies;
  • Evaluar y calcular triggers;
  • Activar notificaciones y ejecutar acciones automáticas;
  • Procesar verificaciones internas y artículos específicos;
  • Mantener y consultar todas las configuraciones del entorno.

Toda la configuración (hosts, plantillas, itens, triggers, usuarios, acciones y otros objetos) se almacena en la base de datos, y es siempre el servidor Zabbix el que se conecta a esta base de datos para cargar y actualizar esta información. Cada vez que se inicia o reinicia el servicio del Zabbix Server, este reconstruye el estado interno leyendo toda la configuración almacenada.

Un ejemplo práctico de cómo funciona:

Cuando se crea un nuevo elemento a través de la interfaz (o mediante la API), este se guarda inmediatamente en las tablas de la base de datos. El Zabbix Server consulta periódicamente (aproximadamente cada minuto) estas tablas para obtener la lista actualizada de elementos activos. Esta lista se almacena en la caché interna del servidor. Por lo tanto, los cambios realizados en la interfaz pueden tardar hasta dos minutos en reflejarse en secciones como «Últimos datos».

Banco de datos

Como ya hemos mencionado, la base de datos es uno de los componentes más importantes de Zabbix. Actúa como repositorio central donde se almacena prácticamente toda la información de configuración del entorno de monitorización. Sin ella, el Zabbix Server simplemente no puede funcionar.

El banco registra elementos esenciales, como:

  • Host y grupos;
  • Itens, triggers, gráficos y plantillas;
  • Acciones y medios de notificación;
  • Usuarios, grupos de usuarios y roles;
    Configuración de historial y tendencias.

Estos datos son cargados y procesados ​​por el Zabbix Server cada vez que se inicia o reinicia el servicio. Durante el funcionamiento normal, el servidor consulta la base de datos periódicamente para mantener actualizada su caché interna. Esta caché garantiza la velocidad en el procesamiento de colecciones, triggers y visualizaciones.

Otro aspecto importante es el mantenimiento, el proceso de limpieza automática de Zabbix. Este actúa directamente sobre la base de datos, eliminando datos históricos, eventos y tendencias obsoletos según las políticas configuradas. Esta rutina evita el crecimiento descontrolado de la base de datos, lo que contribuye a la salud, el rendimiento y la estabilidad del sistema.

Interfaz web

La interfaz web (también llamada frontend web) es la capa de interacción entre Zabbix y sus administradores o usuarios. A través de esta capa se realiza toda la configuración de la plataforma: creación de plantillas, itens, triggers, paneles, ajustes administrativos y gestión completa del entorno de monitorización.

La interfaz ofrece una navegación estructurada e intuitiva, que permite visualizar datos en tiempo real, explorar gráficos, consultar eventos, analizar problemas y realizar un seguimiento del estado de la infraestructura monitorizada.

Además, el frontend web integra la API oficial de Zabbix, proporcionando todas las operaciones necesarias para la automatización y la integración con otras herramientas. Todo lo que se puede hacer a través de la interfaz también se puede hacer a través de la API, lo que facilita la creación de pipelines, scripts, integraciones corporativas y flujos de automatización.

Cómo fluyen los datos en Zabbix

Zabbix Agent

El Zabbix Agent se utiliza para monitorizar sistemas operativos y sus recursos. Es capaz de recopilar datos de discos duros, memoria, CPU, interfaces de red, procesos, servicios, etc.

Actualmente, existen dos tipos de agente de Zabbix:

El Agent clásico:

  • Escrito en lenguaje C;
  • Tiene un demonio;
  • Admite extensiones de C al personalizarse;
  • Concurrencia: las comprobaciones activas para un único servidor se ejecutan secuencialmente;
  • Realiza intervalos programados/flexibles, solo para comprobaciones pasivas;
  • No tiene almacenamiento persistente;
  • Tiene una configuración de tiempo de espera limitada;

Agent 2:

  • Desarrollado en Go y C;
  • Utiliza Systemd en lugar de un demonio;
  • Permite la personalización y creación de complementos de Go;
  • Permite ampliar la monitorización nativa a Docker, MySQL, PostgreSQL, Redis, systemd y otros;
  • Concurrencia: se ejecutan varias comprobaciones simultáneamente;
  • Intervalos programados y flexibles, solo para comprobaciones pasivas y activas;
  • Dispone de almacenamiento persistente;
  • Configuración de tiempo de espera personalizable por complemento.

Dentro del Zabbix Agent, también tenemos comprobaciones pasivas y activas, que funcionan de la siguiente manera:

  • Comprobaciones pasivas → El agente de Zabbix responde a una solicitud del servidor de Zabbix o del proxy de Zabbix.
  • Análisis activos → El agente de Zabbix recopila y envía datos sin esperar una solicitud del servidor o proxy de Zabbix. Al iniciarse el servicio del agente de Zabbix, este recupera una lista de los elementos que se van a monitorizar y sus parámetros inmediatamente después de la recopilación, y envía los datos según los intervalos de recopilación definidos.

Durante la creación de un elemento, definimos el tipo de comprobación que estamos creando. El agente de Zabbix procesa elementos de tipo «Agente de Zabbix» o «Agente de Zabbix (activo)». Las comprobaciones de tipo Agente de Zabbix utilizan el puerto TCP 10050, mientras que las de tipo Agente de Zabbix (activo) utilizan el puerto TCP 10051.

Flujo de trabajo de recopilación y procesamiento de datos en Zabbix

Tras definir el tipo de recopilación de datos como activa o pasiva a través del Agente Zabbix, los datos comienzan a circular entre el server o el proxy de Zabbix, siguiendo el flujo de procesamiento interno.

Preprocesamiento

Una vez recibidos los datos, comienza la etapa de preprocesamiento, donde se realizan transformaciones antes de su almacenamiento.

Entre las posibles operaciones se encuentran:

  • Conversión de unidades;
  • Multiplicadores personalizados;
  • Extracción mediante expresiones regulares, JSONPath y JavaScript;
  • Varias otras reglas disponibles en Zabbix.

Solo después de este paso los valores pasan a la siguiente etapa.

Sincronizador de configuración y actualización de caché

A continuación, entra en acción el sincronizador de configuración. Este mantiene actualizada toda la información para:

  • Itens;
  • Triggers;
  • Configuración de la colección;
  • Hosts.

En este proceso, Zabbix actualiza las cachés internas principales:

  • Historial → Almacena temporalmente los datos recopilados antes de escribirlos en la base de datos;
  • Valores → Almacena los valores más recientes, utilizados en los cálculos de activación;
  • Tendencias → Consolida los datos para un almacenamiento a largo plazo optimizado.

Historial de sincronización y registro en el banco

Tras actualizar las cachés, el Syncer guarda permanentemente los datos en la base de datos de Zabbix.

Evaluación de triggers y generación de eventos.

Con cada recopilación de datos, el Zabbix Server evalúa los triggers asociados a los elementos y aplica las funciones configuradas.

Si se cumple alguna condición, se genera un evento.

Ejemplo: la condición estipula que si el uso de la CPU supera el 95 % durante 10 minutos, se debe activar un evento.

Una vez creado el evento, Zabbix puede realizar acciones como:

  • Envío de notificaciones (correo electrónico, SMS, llamada);
  • Ejecución de comandos remotos;
  • Creación automática de tickets;
  • Otras integraciones de automatización.

Visualización de datos

La interfaz de usuario de Zabbix ofrece una interfaz completa para analizar las métricas recopiladas. Desde ella, puede crear:

  • Gráficos;
  • Paneles de control;
  • Mapas;
  • Informes.

Con Zabbix Web Service, también es posible programar el envío automático de informes. Todo el análisis de las métricas almacenadas se realiza directamente en esta interfaz.

Tipos de despliegue comunes en Zabbix

Al planificar la infraestructura de monitorización con Zabbix, solemos considerar tres modelos de implementación principales: instalación todo en uno o independiente, instalación de dos niveles e instalación de tres niveles.

Cada uno varía en complejidad, escalabilidad y resiliencia, según las necesidades del entorno. A continuación, explicaremos brevemente cada uno de ellos, con ejemplos de uso:

Instalación todo en uno o independiente

Este es el más sencillo y menos complejo de los tres escenarios presentados. Todos los componentes están instalados en un único servidor:

  • Zabbix Server;
  • Base de datos;
  • Interfaz web.

Este escenario es adecuado para entornos pequeños donde la carga y los nuevos valores por segundo son bajos, como laboratorios, proyectos de prueba de concepto, etc. De esta manera, la competencia entre servicios/procesos por los recursos no es tan alta.

Instalación de 2 capas

Este modelo es de complejidad media y consiste en separar los componentes de la siguiente manera:

  • Zabbix Server + interfaz web;
  • Base de datos.

En este escenario, contaremos con al menos dos servidores dedicados al núcleo de monitorización de Zabbix. Esto se recomienda para entornos de tamaño medio, donde el volumen de métricas recopiladas ya es elevado, teniendo en cuenta el acceso de los usuarios y las consultas.

Instalación de 3 capas

De los tres escenarios, este es el más complejo de implementar. También se considera el más robusto y escalable. Los componentes se dividen de la siguiente manera:

  • Zabbix Server;
  • Interfaz web;
  • Base de datos.

Este escenario es adecuado para entornos grandes con altos valores recibidos por segundo y un número considerable de usuarios que realizan consultas.

Al planificar la arquitectura de un entorno Zabbix, es importante considerar el uso de Zabbix Proxy, un componente sumamente útil aplicable a cualquiera de los modelos de implementación presentados. Zabbix Proxy actúa como un recolector intermediario, capaz de monitorizar desde unos pocos hasta miles de dispositivos y reenviar todos los datos al Zabbix Server.

El proxy desempeña un papel estratégico al permitir la monitorización de redes remotas o aisladas, donde el Zabbix Server no tiene acceso directo.

Un escenario común es la creación de una máquina virtual (VM) con el proxy en un entorno remoto, responsable de:

  • Recopilar métricas localmente;
  • Almacenar temporalmente los datos;
  • Enviarlos al Zabbix Server cuando se restablezca la comunicación.

Esto evita la necesidad de abrir múltiples reglas de firewall, configurar NAT o exponer puertos sensibles, reduciendo así los riesgos de seguridad.

El uso de Zabbix Proxy ofrece ventajas como las siguientes:

  • Mayor seguridad: reduce los puertos expuestos y minimiza la superficie de ataque;
  • Mayor resiliencia: el proxy puede seguir recopilando datos incluso si se pierde temporalmente la conexión con el servidor;
  • Mejor rendimiento: distribuye la carga de recopilación y preprocesamiento, reduciendo la carga de trabajo del servidor Zabbix.

La siguiente imagen muestra un ejemplo de cómo usar Zabbix Proxy:

Conclusión

Dominar los componentes de la arquitectura de Zabbix permite construir y mantener un entorno de monitorización eficaz, seguro y escalable.

Al comprender cómo se relacionan e interactúan estos elementos dentro del ecosistema de Zabbix, además de diseñar entornos más resilientes y robustos con una mejor distribución de la carga entre la recopilación y el procesamiento de datos, los profesionales también contribuyen a resolver los problemas de monitorización identificados con mayor rapidez y precisión.

Aprender la teoría es el primer paso para poner la monitorización en práctica. Aproveche la oportunidad para profundizar en las demás funcionalidades de la herramienta consultando la documentación oficial de Zabbix.

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