Qué es Zabbix

Zabbix fue creado por Alexei Vladishev y actualmente Zabbix SIA lo desarrolla y respalda activamente.

Zabbix es una solución de monitorización distribuida de código abierto de nivel empresarial.

Zabbix es un software que monitoriza numerosos parámetros de una red, así como el estado y la integridad de servidores, máquinas virtuales, aplicaciones, servicios, bases de datos, sitios web, la nube y mucho más. Zabbix utiliza un mecanismo flexible de notificaciones que permite a los usuarios configurar alertas basadas en correo electrónico para prácticamente cualquier evento. Esto permite reaccionar rápidamente ante los problemas del servidor. 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 el sondeo como la recepción de traps. Todos los informes y estadísticas de Zabbix, así como los parámetros de configuración, se consultan a través de un frontend basado en la web. Un frontend basado en la web garantiza que el estado de su red y la salud de sus servidores puedan evaluarse desde cualquier ubicación. Si se configura correctamente, Zabbix puede desempeñar un papel importante en la monitorización de la infraestructura de TI. Esto es igualmente válido para organizaciones pequeñas con unos pocos servidores y para grandes empresas con multitud de servidores.

Zabbix está disponible sin coste alguno. Zabbix está escrito y se distribuye 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 lo proporcionan 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 red 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 a intervalos personalizados
  • realizada por server/proxy y por agents

Definiciones flexibles de umbrales

  • puede definir umbrales de problema muy flexibles, llamados triggers, que hacen referencia a valores de la base de datos 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 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 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 forma de diapositivas 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 housekeeping integrado

Configuración sencilla

  • añadir dispositivos monitorizados como hosts
  • los hosts se incorporan para su 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

Daemons 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 conocer el significado de algunos términos utilizados habitualmente en Zabbix.

host

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

host group

- una agrupación lógica de hosts. Los grupos de hosts se utilizan al asignar permisos de acceso a los hosts para diferentes grupos de usuarios.

item

- un dato concreto 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 utiliza para "evaluar" los datos recibidos en los items.

Cuando los datos recibidos superan el umbral, los triggers pasan del estado Ok al estado Problem. Cuando los datos recibidos están por debajo del umbral, los triggers permanecen o vuelven al estado Ok.

template

- un conjunto de entidades (items, triggers, gráficos, reglas de descubrimiento de bajo nivel y escenarios web) listo para aplicarse a uno o varios hosts.

La función de los templates es acelerar la implementación de tareas de supervisión en un host y facilitar la aplicación de cambios masivos a las tareas de supervisión. Los templates se vinculan directamente a hosts individuales.

template group

- una agrupación lógica de templates. Los grupos de templates se utilizan al asignar permisos de acceso a los templates para diferentes grupos de usuarios.

event

- una ocurrencia individual de algo que requiere atención, como un cambio de estado de un trigger o la realización de un descubrimiento o un registro automático de un agent.

event tag

- un marcador predefinido para el evento. Puede utilizarse 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 se resuelva mediante otro trigger, que incluso puede utilizar un método diferente de recopilación de datos.

problem

- un trigger que se encuentra en estado "Problem".

problem update

- opciones de gestión de problemas proporcionadas por Zabbix, como añadir un comentario, confirmar, cambiar la gravedad o cerrar manualmente.

action

- un medio predefinido para reaccionar ante un evento.

Una acción consta de operaciones (por ejemplo, enviar una notificación) y condiciones (cuándo se ejecuta la operación).

escalation

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

macro

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

media

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

notification

- un mensaje sobre algún evento enviado a un usuario mediante el canal de media elegido.

remote command

- un comando predefinido que se ejecuta automáticamente en un host supervisado cuando se cumple 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

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

widget

- una unidad visual que muestra información de un tipo y origen determinados (un resumen, un mapa, un gráfico, el reloj, etc.), utilizada en el dashboard.

Zabbix API

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

Zabbix server

- un proceso central del software Zabbix que realiza la supervisión, interactúa con proxies y agents de Zabbix, calcula triggers y envía notificaciones; un repositorio central de datos.

Zabbix proxy

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

Zabbix agent

- un proceso implementado en los objetivos de supervisión para supervisar activamente los recursos y las aplicaciones locales.

Zabbix agent 2

- una nueva generación de Zabbix agent para supervisar activamente los recursos y las aplicaciones locales, que permite utilizar plugins personalizados para la supervisión.

Dado 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, cuando el comportamiento funcional es el mismo. Zabbix agent 2 se menciona específicamente solo cuando su funcionalidad difiere.

encryption

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

agent autoregistration

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

network discovery

- descubrimiento automatizado de dispositivos de red.

low-level discovery

- descubrimiento automatizado de entidades de bajo nivel en un dispositivo determinado (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 determinados 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.

trigger prototype

- un trigger con determinados 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.

También se utilizan prototipos de otras entidades de Zabbix en el descubrimiento de bajo nivel: prototipos de gráficos, prototipos de hosts y prototipos de grupos de hosts.