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.

Recopilación de datos

  • 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

Configuración sencilla

  • 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

Uso de templates

  • agrupación de comprobaciones en templates
  • los templates pueden heredar otros templates

Descubrimiento de red

  • descubrimiento automático de dispositivos de red
  • autoregistro de agent
  • descubrimiento de sistemas de archivos, interfaces de red y OID de SNMP

Frontend web rápido

  • un frontend basado en web en PHP
  • accesible desde cualquier lugar
  • puede navegar haciendo clic
  • registro de auditoría

API de Zabbix

  • la API de Zabbix proporciona una interfaz programable para Zabbix para manipulaciones masivas, integración con software de terceros y otros fines.

Sistema de permisos

  • 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

Demonios binarios

  • 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.

host

- cualquier dispositivo físico o virtual, aplicación, servicio o cualquier otra colección lógicamente relacionada de parámetros monitorizados.

host group

- una agrupación lógica de hosts. Los host groups se usan al asignar derechos de acceso a hosts para distintos grupos de usuarios.

item

- una pieza concreta de datos que desea recibir de un host, una métrica de datos.

value preprocessing

- una transformación del valor de la métrica recibida antes de guardarlo en la base de datos.

trigger

- 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.

template

- 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.

template group

- una agrupación lógica de templates. Los template groups se usan al asignar derechos de acceso a templates para distintos grupos de usuarios.

event

- 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.

event tag

- un marcador predefinido para el evento. Puede usarse en la correlación de eventos, la granularidad de permisos, etc.

event correlation

- 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.

problem

- un trigger que está en estado "Problem".

problem update

- opciones de gestión de problemas proporcionadas por Zabbix, como añadir un comentario, reconocerlo, cambiar la severidad o cerrarlo manualmente.

action

- 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)

escalation

- un escenario personalizado para ejecutar operaciones dentro de una action; una secuencia de envío de notificaciones/ejecución de comandos remotos.

macro

- un marcador de variable que se resuelve en un valor específico según el contexto.

media

- un medio de entrega de notificaciones; canal de entrega.

notification

- un mensaje sobre algún evento enviado a un usuario a través del canal de media elegido.

remote command

- un comando predefinido que se ejecuta automáticamente en un host monitorizado ante alguna condición.

web scenario

- una o varias solicitudes HTTP para comprobar la disponibilidad de un sitio web.

frontend

- la interfaz web proporcionada con Zabbix.

dashboard

- sección personalizable de la interfaz web que muestra resúmenes y visualizaciones de información importante en unidades visuales llamadas widgets.

widget

- 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

- 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.

Zabbix server

- 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.

Zabbix proxy

- un proceso que puede recopilar datos en nombre de Zabbix server, descargando parte de la carga de procesamiento del server.

Zabbix agent

- un proceso desplegado en los objetivos de monitorización para monitorizar activamente recursos y aplicaciones locales.

Zabbix agent 2

- 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.

encryption

- soporte de comunicaciones cifradas entre componentes de Zabbix (server, proxy, agent, utilidades zabbix_sender y zabbix_get) mediante el protocolo Transport Layer Security (TLS).

agent autoregistration

- proceso automatizado mediante el cual un Zabbix agent se registra como un host y comienza a monitorizar.

network discovery

- descubrimiento automatizado de dispositivos de red.

low-level discovery

- descubrimiento automatizado de entidades de bajo nivel en un dispositivo concreto (por ejemplo, sistemas de archivos, interfaces de red, etc.).

low-level discovery rule

- conjunto de definiciones para el descubrimiento automatizado de entidades de bajo nivel en un dispositivo.

item prototype

- 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.

trigger prototype

- 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.