Código abierto · para Zabbix

Sus datos técnicos y de negocio, en Zabbix, en tiempo real.

Databbix es un demonio que recoge valores de bases de datos SQL, servicios web REST y SOAP y brokers MQTT, y los envía a Zabbix como si fuera un agente. No solo métricas de operación: cualquier dato que esté en una tabla o que ofrezca un servicio web, incluidos los indicadores de negocio. Usted describe en XML qué recoger; Databbix se ocupa de las conexiones, la caché y la planificación.

GPL-2.0 o posteriorOraclePostgreSQLSQL Server / ODBCRESTSOAPMQTT
Las fuentes de datos (bases de datos, servicios web, MQTT) se conectan a los monitores de Databbix, que envían los valores al servidor Zabbix.

¿Para qué sirve?

Zabbix vigila muy bien servidores y redes. Pero buena parte de lo importante está dentro de las aplicaciones: tablespaces, sesiones, trabajos del ERP, copias de seguridad, lecturas de sensores. Databbix lleva esos datos a Zabbix, donde ya tiene los triggers, las gráficas y las alertas.

Y no se queda en la informática: las métricas de negocio, como pedidos, ventas, facturas o stock, son una consulta más. Si está en una tabla de base de datos o detrás de un servicio web, Databbix lo puede llevar a Zabbix.

Cualquier base de datos SQL

Drivers nativos para Oracle (también multitenant) y PostgreSQL, y ODBC para SQL Server, DB2/400 y cualquier otra que tenga driver ODBC.

Servicios web

APIs REST (JSON) y SOAP, con login, tokens y gestión de sesión. Ideal para ERP y equipos que solo ofrecen una API.

MQTT e IoT

Se suscribe a un broker y guarda el último valor de cada topic. Los topics se descubren solos y se convierten en ítems de Zabbix.

Una consulta, muchos ítems

Cada consulta se ejecuta una sola vez para todos los ítems que la usan, y las filas del resultado se reparten entre ellos. Cien tablespaces cuestan una sentencia SQL.

Sin programar

Las consultas son ficheros XML: el SQL o la URL, y de qué columna o ruta JSON sale cada ítem. Si necesita más, añada una pequeña transformación en JavaScript o Python.

Pensado para producción

Conexiones persistentes, caché de resultados, un hilo por fuente de datos y reintentos automáticos. Si una base de datos cae, las demás siguen informando.

User parameters del agenteDatabbix
Conexión con la fuenteSe abre y se cierra en cada comprobaciónSe mantiene abierta entre ejecuciones
50 ítems de la misma tabla50 consultas1 consulta, filas repartidas
Reutilización de resultadosNingunaCaché con vida configurable
Cómo se definenScripts de shell por ítemFicheros XML, con scripts opcionales
Descubrimiento de bajo nivelHay que programarloIntegrado, también entre bases de datos y topics

Casos de uso

Algunas de las cosas para las que se usa Databbix a diario. La distribución incluye ficheros de consultas listos para usar en la mayoría de ellas.

Métricas de negocio

No solo sistemas: vigile también el negocio

Databbix no se limita a métricas técnicas. Todo lo que esté en una tabla de una base de datos o sea accesible por un servicio web puede convertirse en un ítem de Zabbix: pedidos, ventas, facturas pendientes, niveles de stock, envíos en cola, tiempos de un proceso de negocio…

  • Ponga los indicadores de negocio en los mismos paneles que su infraestructura.
  • Use los triggers y alertas de Zabbix sobre datos de negocio: «ningún pedido en 30 minutos» suele destapar un fallo técnico antes de que nadie lo note.
  • Conserve el histórico y las tendencias de cada indicador sin montar otro sistema de informes.
Ver un ejemplo paso a paso →
Una consulta SQL sobre la tabla de pedidos y una llamada a un servicio web alimentan un panel de Zabbix con pedidos por hora, ventas y facturas pendientes; una caída a cero pedidos genera una alerta.
Bases de datos

Oracle, PostgreSQL y SQL Server vistos desde dentro

Espacio, sesiones, bloqueos, esperas, replicación, trabajos largos… todo lo que se pueda expresar como consulta se convierte en un ítem de Zabbix.

  • Una sentencia SQL alimenta un ítem por tablespace, base de datos o esquema.
  • El descubrimiento crea los ítems a medida que aparecen los objetos, incluso entre PDB o bases de datos.
  • Incluye consultas para Oracle, Oracle multitenant, PostgreSQL y SQL Server.
Una única consulta SQL sobre tablespaces alimenta un ítem de Zabbix por tablespace; el que está casi lleno genera un problema.
Industria e IoT

Los sensores de planta, junto a su informática

Conecte Databbix a su broker MQTT y cada topic será un valor que Zabbix puede representar y vigilar: temperaturas, presiones, velocidades, estados de máquina.

  • Sin sondear los equipos: Databbix escucha y guarda el último mensaje.
  • Descubrimiento automático de los topics que cumplen un patrón como planta1/+.
  • Los mensajes JSON se pueden separar en campos con el preprocesado de Zabbix.
Los sensores de una fábrica publican en un broker MQTT; Databbix se suscribe y Zabbix muestra los topics descubiertos con sus gráficas.
ERP y aplicaciones

Aplicaciones de negocio vigiladas a través de su API

Muchas aplicaciones solo muestran su estado mediante un servicio web. Databbix se autentica, mantiene la sesión y extrae de la respuesta los valores que necesita.

  • REST con JSON y SOAP, sobre HTTPS.
  • Autenticación con credenciales básicas, tokens o flujos de login a medida.
  • Incluye consultas para JD Edwards (Server Manager y AIS).
Databbix se autentica en la API REST del ERP, la llama y asigna un campo de la respuesta JSON a un ítem de Zabbix.
Copias de seguridad

Sepa que cada copia ha funcionado de verdad

Que un trabajo de backup se haya «ejecutado» no significa que haya una copia válida. Databbix lee directamente el catálogo de copias y le dice a Zabbix qué antigüedad tiene la última copia buena de cada trabajo.

  • Antigüedad, ficheros y tamaño de la última copia completa, diferencial e incremental válida.
  • Un ítem por trabajo, descubierto automáticamente.
  • Incluye las consultas para el catálogo de Bareos en PostgreSQL.
El catálogo de Bareos lista los trabajos de copia; uno lleva 23 días sin copia completa válida y Zabbix genera un problema.

Cómo funciona

Databbix se comporta como un agente activo de Zabbix: pide al servidor la lista de ítems que tiene que recoger para un host, los calcula y envía los resultados.

  1. Cree un monitorUn pequeño fichero .conf por fuente de datos: el nombre del host en Zabbix, el servidor y cómo conectarse.
  2. Elija o escriba las consultasUse los ficheros XML incluidos o escriba los suyos: el SQL o la URL, y qué valor toma cada ítem.
  3. Pruebe antes de ponerlo en marchaLa utilidad queryexplorer carga la misma configuración y permite ejecutar cualquier clave de forma interactiva.
  4. Añada los ítems en ZabbixCree ítems de tipo Zabbix agent (active) con las claves, o importe las plantillas incluidas.
/etc/databbix/dbs/pgprod.conf
[General]
Name             = PGPROD     # nombre del host en Zabbix
Engine           = Database
QueryFile        = /etc/databbix/query-pg.xml

[Zabbix]
Server           = zabbix.example.com
Port             = 10051

[Data]
Module           = PG

[Database]
DBDriver         = PGsql
ConnectionString = host=pgprod dbname=postgres
UserName         = zabbix
Password         = ********

Libre y de código abierto

Databbix es software libre, distribuido bajo la licencia GNU General Public License, versión 2 o posterior. Lo desarrolla y lo usa en producción Trustserver desde 2014. Úselo, estúdielo, mejórelo.