Zabbix fue creado por Alexei Vladishev y actualmente es desarrollado y soportado activamente por Zabbix SIA.
Zabbix es una solución de monitorización distribuida de código abierto de clase empresarial.
Zabbix es un software que monitoriza numerosos parámetros de una red y la salud e integridad de servidores, máquinas virtuales, aplicaciones, servicios, bases de datos, sitios web, la nube y más. Zabbix utiliza un mecanismo de notificación flexible que permite a los usuarios configurar alertas por correo electrónico para prácticamente cualquier evento. Esto permite una reacción rápida ante problemas en los servidores. Zabbix ofrece excelentes funciones de generación de informes y visualización de datos basadas en los datos almacenados. Esto hace que Zabbix sea ideal para la planificación de capacidad.
Zabbix soporta tanto el sondeo como la captura. Todos los informes y estadísticas de Zabbix, así como los parámetros de configuración, se acceden a través de un frontend basado en web. Un frontend basado en web garantiza que el estado de su red y la salud de sus servidores puedan evaluarse desde cualquier ubicación. Configurado adecuadamente, Zabbix puede desempeñar un papel importante en la monitorización de la infraestructura de TI. Esto es igualmente cierto para pequeñas organizaciones con unos pocos servidores y para grandes empresas con multitud de servidores.
Zabbix es gratuito. Zabbix está escrito y distribuido bajo la licencia AGPL-3.0. Esto significa que su código fuente se distribuye libremente y está disponible para el público en general.
El soporte comercial está disponible y es proporcionado por Zabbix Company y sus socios en todo el mundo.
Obtenga más información sobre las características de Zabbix.
Muchas organizaciones de diferentes tamaños en todo el mundo confían en Zabbix como su principal plataforma de monitorización.
Zabbix consta de varios componentes principales de software. Sus responsabilidades se describen a continuación.
Zabbix server es el componente central al que los agent informan sobre la disponibilidad, la integridad y las estadísticas. El server es el repositorio central en el que se almacenan todos los datos de configuración, estadísticos y operativos.
Toda la información de configuración, así como los datos recopilados por Zabbix, se almacenan en una base de datos.
Para un fácil acceso a Zabbix desde cualquier lugar y desde cualquier plataforma, se proporciona la interfaz basada en web. La interfaz es parte del Zabbix server y normalmente (pero no necesariamente) se ejecuta en la misma máquina física que ejecuta el server.
El proxy de Zabbix puede recopilar datos de rendimiento y disponibilidad en nombre del server de Zabbix. Un proxy es una parte opcional de la implementación de Zabbix; sin embargo, puede ser muy beneficioso para distribuir la carga de un único server de Zabbix.
Los agent de Zabbix se despliegan en los objetivos de monitorización para monitorizar activamente los recursos y aplicaciones locales y reportar los datos recopilados al server de Zabbix. Desde Zabbix 4.4, hay dos tipos de agent disponibles: el agent de Zabbix (ligero, soportado en muchas plataformas, escrito en C) y el agent de Zabbix 2 (extra flexible, fácilmente ampliable con plugins, escrito en Go).
Además, es importante dar un paso atrás y observar el flujo de datos general dentro de Zabbix. Para crear un item que recopile datos, primero debe crear un host. Yendo al otro extremo del espectro de Zabbix, primero debe tener un item para crear un trigger. Debe tener un trigger para crear una acción. Por lo tanto, si desea recibir una alerta de que la carga de CPU es demasiado alta en Servidor X, primero debe crear una entrada de host para Servidor X, seguida de un item para monitorear su CPU, luego un trigger que se active si la CPU es demasiado alta, seguido de una acción que le envíe un correo electrónico. Aunque esto puede parecer muchos pasos, con el uso de templates realmente no lo es. Sin embargo, debido a este diseño, es posible crear una configuración muy flexible.
Zabbix es una solución de monitorización de red altamente integrada, que ofrece una multiplicidad de características en un solo paquete.
Definiciones de umbrales flexibles
Alertas altamente configurables
Capacidades de monitorización web
Opciones de visualización extensas
Almacenamiento de datos históricos
Agent completo y fácilmente extensible
Preparado para entornos complejos
En esta sección puede aprender el significado de algunos términos comúnmente utilizados en Zabbix.
- cualquier dispositivo físico o virtual, aplicación, servicio o cualquier otra colección lógicamente relacionada de parámetros monitorizados.
- una agrupación lógica de hosts. Los grupos de hosts se utilizan al asignar derechos de acceso a los hosts para diferentes grupos de usuarios.
- una pieza particular de datos que desea recibir de un host, una métrica de datos.
- una transformación del valor de la métrica recibida antes de guardarla en la base de datos.
- una expresión lógica que define un umbral de problema y se utiliza para "evaluar" los datos recibidos en los items.
Cuando los datos recibidos superan el umbral, los triggers pasan de 'Ok' a un estado de 'Problema'. Cuando los datos recibidos están por debajo del umbral, los triggers permanecen o vuelven a un estado 'Ok'.
- un conjunto de entidades (items, triggers, gráficos, reglas de descubrimiento de bajo nivel, escenarios web) listas para ser aplicadas a uno o varios hosts.
El trabajo de los templates es acelerar el despliegue de tareas de monitorización en un host; también para facilitar la aplicación de cambios masivos a las tareas de monitorización. Los templates se vinculan directamente a hosts individuales.
- una agrupación lógica de templates. Los grupos de templates se utilizan al asignar derechos de acceso a los templates para diferentes grupos de usuarios.
- una única ocurrencia de algo que merece atención, como un trigger cambiando de estado o un descubrimiento/autoregistro de agent teniendo lugar.
- un marcador predefinido para el evento. Puede utilizarse en la correlación de eventos, granularidad de permisos, etc.
- un método para correlacionar problemas con su resolución de forma flexible y precisa.
Por ejemplo, puede definir que un problema reportado por un trigger puede ser resuelto por otro trigger, que incluso puede utilizar un método de recopilación de datos diferente.
- un trigger que está en estado "Problema".
- opciones de gestión de problemas proporcionadas por Zabbix, como añadir comentarios, reconocer, cambiar la gravedad o cerrar manualmente.
- un medio predefinido de reaccionar ante un evento.
Una acción consiste en operaciones (por ejemplo, enviar una notificación) y condiciones (cuándo se realiza la operación)
- un escenario personalizado para ejecutar operaciones dentro de una acción; una secuencia de envío de notificaciones/ejecución de comandos remotos.
- un medio para entregar notificaciones; canal de entrega.
- un mensaje sobre algún evento enviado a un usuario a través del canal de medios elegido.
- un comando predefinido que se ejecuta automáticamente en un host monitorizado bajo alguna condición.
- una o varias solicitudes HTTP para comprobar la disponibilidad de un sitio web.
- la interfaz web proporcionada con Zabbix.
- sección personalizable de la interfaz web que muestra resúmenes y visualizaciones de información importante en unidades visuales llamadas widgets.
- unidad visual que muestra información de un tipo y fuente determinados (un resumen, un mapa, un gráfico, el reloj, etc.), utilizada en el dashboard.
- Zabbix API le permite utilizar el protocolo JSON RPC para crear, actualizar y obtener objetos de Zabbix (como hosts, items, gráficos y otros) o realizar cualquier otra tarea personalizada.
- un proceso central del software Zabbix que realiza la monitorización, interactúa con los proxies y agents de Zabbix, calcula triggers, envía notificaciones; un repositorio central de datos.
- un proceso que puede recopilar datos en nombre del Zabbix server, descargando parte de la carga de procesamiento del server.
- un proceso desplegado en los objetivos de monitorización para monitorizar activamente los recursos y aplicaciones locales.
- una nueva generación de Zabbix agent para monitorizar activamente los recursos y aplicaciones locales, permitiendo el uso de plugins personalizados para la monitorización.
Debido a que Zabbix agent 2 comparte gran parte de la funcionalidad con Zabbix agent, el término "Zabbix agent" en la documentación se refiere a ambos: Zabbix agent y Zabbix agent 2, si el comportamiento funcional es el mismo. Zabbix agent 2 sólo se nombra específicamente cuando su funcionalidad difiere.
- soporte de comunicaciones cifradas entre los componentes de Zabbix (server, proxy, agent, y las utilidades zabbix_sender y zabbix_get) utilizando el protocolo Transport Layer Security (TLS).
- proceso automatizado mediante el cual un Zabbix agent se registra a sí mismo como un host y comienza a monitorizar.
- descubrimiento automatizado de dispositivos de red.
- descubrimiento automatizado de entidades de bajo nivel en un dispositivo concreto (por ejemplo, sistemas de archivos, interfaces de red, etc).
regla de descubrimiento de bajo nivel
- conjunto de definiciones para el descubrimiento automatizado de entidades de bajo nivel en un dispositivo.
- una métrica con ciertos parámetros como variables, lista para el descubrimiento de bajo nivel. Después del descubrimiento de bajo nivel, las variables se sustituyen automáticamente por los parámetros reales descubiertos y la métrica comienza automáticamente a recopilar datos.
- un trigger con ciertos parámetros como variables, listo para el descubrimiento de bajo nivel. Después del descubrimiento de bajo nivel, las variables se sustituyen automáticamente por los parámetros reales descubiertos y el trigger comienza automáticamente a evaluar los datos.
Los prototipos de algunas otras entidades de Zabbix también se utilizan en el descubrimiento de bajo nivel: prototipos de gráficos, prototipos de hosts, prototipos de grupos de hosts.