Qué es Zabbix
Zabbix fue creado por Alexei Vladishev y actualmente es desarrollado y mantenido 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 el estado y la integridad de servers, máquinas virtuales, aplicaciones, servicios, bases de datos, sitios web, la nube y más. Zabbix utiliza un mecanismo flexible de notificaciones 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 del server. 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 admite tanto polling como trapping. 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 servers puedan evaluarse desde cualquier ubicación. Si está correctamente configurado, 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 servers y para grandes empresas con una multitud de servers.
Zabbix no tiene costo. 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.
Hay soporte comercial disponible, proporcionado por Zabbix Company y sus socios en todo el mundo.
Obtenga más información sobre las funciones de Zabbix.
Usuarios de Zabbix
Muchas organizaciones de distintos tamaños en todo el mundo confían en Zabbix como su plataforma principal de monitoreo.
Arquitectura
Zabbix consta de varios componentes de software principales. Sus responsabilidades se describen a continuación.
Server
Zabbix server es el componente central al que los agent reportan información y estadísticas sobre disponibilidad e integridad. El server es el repositorio central en el que se almacenan todos los datos de configuración, estadísticos y operativos.
Almacenamiento de la base de datos
Toda la información de configuración, así como los datos recopilados por Zabbix, se almacenan en una base de datos.
Interfaz web
Para un acceso fácil a Zabbix desde cualquier lugar y desde cualquier plataforma, se proporciona la interfaz basada en web. La interfaz forma parte de Zabbix server y, por lo general, aunque no necesariamente, se ejecuta en la misma máquina física que la que ejecuta el server.
Proxy
Zabbix proxy puede recopilar datos de rendimiento y disponibilidad en nombre de Zabbix server. 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 Zabbix server.
Agent
Los agentes de Zabbix se implementan en los objetivos de monitoreo para supervisar de forma activa los recursos y aplicaciones locales, y enviar los datos recopilados al server de Zabbix. Desde Zabbix 4.4, hay dos tipos de agentes disponibles: el Zabbix agent (ligero, compatible con muchas plataformas, escrito en C) y el Zabbix agent 2 (muy flexible, fácilmente ampliable con plugins, escrito en Go).
Flujo de datos
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. Pasando 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. Así, si desea recibir una alerta de que la carga de CPU es demasiado alta en Server X, primero debe crear una entrada de host para Server X, seguida de un item para supervisar 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 eso pueda parecer muchos pasos, con el uso de templates en realidad no lo es. Sin embargo, debido a este diseño, es posible crear una configuración muy flexible.
Características
Zabbix es una solución de monitorización de redes altamente integrada, que ofrece una multiplicidad de funciones en un solo paquete.
- comprobaciones de disponibilidad y rendimiento
- compatibilidad con SNMP (tanto trapping como polling), IPMI, JMX, monitorización de VMware
- comprobaciones personalizadas
- recopilación de los datos deseados en intervalos personalizados
- realizada por server/proxy y por agent
Definiciones flexibles de umbrales
- puede definir umbrales de problema muy flexibles, llamados triggers, que hacen referencia a valores de la base de datos de backend
Alertas altamente configurables
- el envío de notificaciones se puede personalizar según el programa de escalado, el destinatario y el tipo de medio
- las notificaciones pueden hacerse significativas y útiles mediante variables macro
- las acciones automáticas incluyen comandos remotos
Generación de gráficos en tiempo real
- los items monitorizados se representan inmediatamente mediante la funcionalidad de gráficos integrada
Capacidades de monitorización web
- Zabbix puede seguir una ruta de clics de ratón simulados en un sitio web y comprobar su funcionalidad y tiempo de respuesta
Amplias opciones de visualización
- capacidad para crear gráficos personalizados que pueden combinar múltiples items en una sola vista
- mapas de red
- presentaciones en un resumen estilo dashboard
- informes
- vista de alto nivel (de negocio) de los recursos monitorizados
Almacenamiento de datos históricos
- datos almacenados en una base de datos
- historial configurable
- procedimiento de housekeeping integrado
- añadir dispositivos monitorizados como hosts
- los hosts se incorporan a la monitorización una vez que están en la base de datos
- aplicar templates a los dispositivos monitorizados
- agrupación de comprobaciones en templates
- los templates pueden heredar otros templates
- descubrimiento automático de dispositivos de red
- autoregistro de agent
- descubrimiento de sistemas de archivos, interfaces de red y OID de SNMP
- un frontend basado en web en PHP
- accesible desde cualquier lugar
- puede navegar haciendo clic
- registro de auditoría
- la API de Zabbix proporciona una interfaz programable para Zabbix para manipulaciones masivas, integración con software de terceros y otros fines.
- autenticación segura de usuarios
- ciertos usuarios pueden limitarse a determinadas vistas
Agent completo y fácilmente extensible
- desplegado en los objetivos de monitorización
- puede desplegarse tanto en Linux como en Windows
- escritos en C, para ofrecer rendimiento y un pequeño consumo de memoria
- fácilmente portables
Preparado para entornos complejos
- la monitorización remota se simplifica mediante el uso de un Zabbix proxy
Glosario
En esta sección puede aprender el significado de algunos términos comúnmente usados 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 host groups se usan al asignar derechos de acceso a hosts para distintos grupos de usuarios.
- una pieza concreta 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 guardarlo en la base de datos.
- una expresión lógica que define un umbral de problema y se usa para "evaluar" los datos recibidos en items.
Cuando los datos recibidos están por encima del umbral, los triggers pasan de Ok a un estado Problem. Cuando los datos recibidos están por debajo del umbral, los triggers permanecen en o vuelven a un estado Ok.
- un conjunto de entidades (items, triggers, gráficos, reglas de descubrimiento de bajo nivel, escenarios web) listo para aplicarse a uno o varios hosts.
La función de los templates es acelerar la implementación de tareas de monitorización en un host; también facilitar la aplicación de cambios masivos a las tareas de monitorización. Los templates se enlazan directamente a hosts individuales.
- una agrupación lógica de templates. Los template groups se usan al asignar derechos de acceso a templates para distintos grupos de usuarios.
- una ocurrencia única de algo que merece atención, como un trigger que cambia de estado o una autodetección/autoregistro de agent que tiene lugar.
- un marcador predefinido para el evento. Puede usarse en la correlación de eventos, la 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 notificado por un trigger pueda resolverse mediante otro trigger, que incluso puede usar un método distinto de recopilación de datos.
- un trigger que está en estado "Problem".
- opciones de gestión de problemas proporcionadas por Zabbix, como añadir un comentario, reconocerlo, cambiar la severidad o cerrarlo manualmente.
- un medio predefinido de reaccionar ante un evento.
Una action consta de 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 action; una secuencia de envío de notificaciones/ejecución de comandos remotos.
- un marcador de variable que se resuelve en un valor específico según el contexto.
- un medio de entrega de notificaciones; canal de entrega.
- un mensaje sobre algún evento enviado a un usuario a través del canal de media elegido.
- un comando predefinido que se ejecuta automáticamente en un host monitorizado ante 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 determinado tipo y origen (un resumen, un mapa, un gráfico, el reloj, etc.), utilizada en el dashboard.
- Zabbix API le permite usar 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 Zabbix proxies y agents, calcula triggers, envía notificaciones; un repositorio central de datos.
- un proceso que puede recopilar datos en nombre de Zabbix server, descargando parte de la carga de procesamiento del server.
- un proceso desplegado en los objetivos de monitorización para monitorizar activamente recursos y aplicaciones locales.
- una nueva generación de Zabbix agent para monitorizar activamente recursos y aplicaciones locales, permitiendo usar plugins personalizados para la monitorización.
Debido a que Zabbix agent 2 comparte gran parte de su funcionalidad con Zabbix agent, el término "Zabbix agent" en la documentación representa a ambos - Zabbix agent y Zabbix agent 2, si el comportamiento funcional es el mismo. Zabbix agent 2 solo se menciona específicamente cuando su funcionalidad difiere.
- soporte de comunicaciones cifradas entre componentes de Zabbix (server, proxy, agent, utilidades zabbix_sender y zabbix_get) mediante el protocolo Transport Layer Security (TLS).
- proceso automatizado mediante el cual un Zabbix agent se registra 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.).
- 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 low-level discovery. Después del low-level discovery, 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 low-level discovery. Después del low-level discovery, las variables se sustituyen automáticamente por los parámetros reales descubiertos y el trigger comienza automáticamente a evaluar datos.
Los prototypes de algunas otras entidades de Zabbix también se usan en el low-level discovery: graph prototypes, host prototypes, host group prototypes.