Qué es Zabbix
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.
Usuarios de Zabbix
Muchas organizaciones de diferentes tamaños en todo el mundo confían en Zabbix como su principal plataforma de monitorización.
Arquitectura
Zabbix consta de varios componentes principales de software. Sus responsabilidades se describen a continuación.
Server
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.
Almacenamiento en 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 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.
Proxy
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.
Agent
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).
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. 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.
Funcionalidades
Zabbix es una solución de monitorización de redes altamente integrada, que ofrece una multiplicidad de funcionalidades en un solo paquete.
- comprobaciones de disponibilidad y rendimiento
- compatibilidad con SNMP (tanto traps como sondeos), IPMI, JMX, monitorización de VMware
- comprobaciones personalizadas
- recopilación de los datos deseados en intervalos personalizados
- realizadas por server/proxy y por agents
Definiciones flexibles de umbrales
- puede definir umbrales de problema muy flexibles, llamados triggers, haciendo referencia a valores de la base de datos backend
Alertas altamente configurables
- el envío de notificaciones puede personalizarse 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
- los items monitorizados se representan inmediatamente en gráficos 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 la funcionalidad y el 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 una vista general 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 limpieza 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 de otros templates
- descubrimiento automático de dispositivos de red
- autorregistro de agent
- descubrimiento de sistemas de archivos, interfaces de red y OID de SNMP
- un frontend web basado 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 con todas las funciones 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 uso reducido de memoria
- fácilmente portables
Preparado para entornos complejos
- la monitorización remota se simplifica mediante el uso de un proxy
Glosario
En esta sección puede conocer el significado de algunos términos usados comúnmente 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 hosts para diferentes grupos de usuarios.
- un dato concreto 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 utiliza para "evaluar" los datos recibidos en items.
Cuando los datos recibidos están por encima del umbral, los triggers pasan del estado 'Ok' al estado 'Problem'. Cuando los datos recibidos están por debajo del umbral, los triggers permanecen en/regresan 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 las templates es acelerar el despliegue de tareas de monitorización en un host; también facilitar la aplicación de cambios masivos a las tareas de monitorización. Las 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 templates para diferentes grupos de usuarios.
- una única ocurrencia de algo que merece atención, como un trigger que cambia de estado o la ejecución de un descubrimiento/autoregistro de agent.
- un marcador predefinido para el evento. Puede utilizarse 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 reportado por un trigger pueda ser resuelto por otro trigger, que incluso puede usar un método diferente de recopilación de datos.
- un trigger que está en estado "Problem".
- opciones de gestión de problemas proporcionadas por Zabbix, como añadir comentarios, reconocer, cambiar la severidad o cerrar manualmente.
- un medio predefinido de reaccionar ante un evento.
Una acción consta de operaciones (p. ej., enviar una notificación) y condiciones (cuándo se lleva a cabo 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 marcador de posición de variable que se resuelve en un valor específico según el contexto.
- un medio para entregar notificaciones; canal de entrega.
- un mensaje sobre algún evento enviado a un usuario a través del canal de medio elegido.
- un comando predefinido que se ejecuta automáticamente en un host monitorizado al cumplirse 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 proxies y agents de Zabbix, calcula triggers, envía notificaciones; un repositorio central de datos.
- un proceso que puede recopilar datos en nombre de Zabbix server, asumiendo parte de la carga de procesamiento del server.
- un proceso desplegado en objetivos de monitorización para monitorizar activamente recursos locales y aplicaciones.
- una nueva generación de Zabbix agent para monitorizar activamente recursos locales y aplicaciones, que permite usar 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 solo se nombra específicamente cuando su funcionalidad difiere.
- soporte para comunicaciones cifradas entre componentes de Zabbix (server, proxy, agent, utilidades zabbix_sender y zabbix_get) usando el protocolo Transport Layer Security (TLS).
- proceso automatizado mediante el cual un Zabbix agent se registra por sí mismo como un host y comienza a ser monitorizado.
- descubrimiento automatizado de dispositivos de red.
- descubrimiento automatizado de entidades de bajo nivel en un dispositivo concreto (p. ej., 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 datos.
Los prototipos de algunas otras entidades de Zabbix también se usan en el descubrimiento de bajo nivel: prototipos de gráficos, prototipos de hosts, prototipos de grupos de hosts.