
🌐 También en: English · Deutsch · Français
Una historia friki de homelab con Redis, demasiadas bases de datos y muy pocas horas de sueño.
📝 Introducción
Enhorabuena, viajero. Si estás leyendo esto, es que has decidido monitorizar tu homelab como un adulto responsable en lugar de practicar el antiguo ritual de «apagar y volver a encender».
Este artículo resume —a un nivel alto, meta y ligeramente sarcástico de friki— cómo montar la pila completa y moderna de monitorización Icinga en Debian:
- Icinga 2: el motor central
- Redis: el buzón de eventos ultrarrápido
- IcingaDB: el flamante nuevo backend de base de datos
- MariaDB/PostgreSQL: el cristal de la memoria a largo plazo
- Icinga Web 2: la bola de cristal visual
- Icinga Director: tu libro de hechizos de configuración
Y para darle aún más épica: hoy he participado en una formación online de día completo de NETWAYS, de Núremberg, que continúa durante los próximos cuatro días. Tras una larga jornada de aprendizaje, he pasado la tarde-noche instalando Icinga en mi servidor del homelab… ¡con éxito! Ahora que todo funciona, me voy directo a la cama. Hasta los frikis de la monitorización necesitan su uptime.
🧱 Paso 1 – Instalar la santísima trinidad: Icinga 2, Redis y SQL
🔥 Icinga 2 – el daemon central
Es el cerebro de tu pila de monitorización. Comprueba cosas, se queja de cosas y te dice si los nodos de tu homelab están UP, DOWN o en el místico estado de «en mi máquina funciona».
⚡ Redis – el motor de curvatura de eventos en tiempo real
El Icinga moderno usa Redis como transporte de eventos de fuego rápido. Todos los datos en vivo (resultados de checks, cambios de estado, downtimes, etc.) van primero a Redis porque:
SQL es lento. Redis es cafeína sobre silicio.
🗄️ Base de datos SQL – la memoria a largo plazo
Tu base de datos SQL contiene:
- El historial de monitorización
- Los objetos de host/servicio
- Eventos y relaciones
En resumen:
Redis = RAM
SQL = disco
Icinga 2 = CPU
🔌 Paso 2 – Conectar Icinga 2 con IcingaDB
IcingaDB es el sustituto moderno del antiguo backend IDO. Se encarga de:
- Leer el estado en vivo desde Redis
- Escribir datos de monitorización estructurados en SQL
- Alimentar Icinga Web 2 con objetos e historial coherentes
Necesita que estén bien configuradas:
- La conexión a Redis (host, puerto)
- La conexión SQL (driver, nombre de host, base de datos, usuario)
Una vez configurado, IcingaDB se convierte en el corazón que late en tu pipeline de observabilidad.
🧙 Paso 3 – Invocar la interfaz web (Icinga Web 2)
Icinga Web 2 es tu panel para todo lo que tiene estado, historial y, de vez en cuando, motivos para alarmarse.
Requiere:
- Un servidor web (Apache o nginx)
- PHP con varios módulos
- Una base de datos dedicada para usuarios, grupos y roles
Sí: no es la misma base de datos que usa IcingaDB. Esta BD solo guarda metadatos de autenticación y autorización.
🔐 Paso 4 – Activar la API de Icinga 2
La API conecta Icinga Web 2 con Icinga 2. La configuras con:
- La generación de la CA interna de Icinga
- Certificados de host
- Un usuario de API con permisos como:
status/*objects/*actions/*
Este suele ser el momento en que te das cuenta de que has aprendido más sobre TLS de lo que cualquier mortal debería necesitar. Bienvenido a la monitorización.
📊 Paso 5 – IcingaDB en la interfaz web
En Icinga Web 2, el módulo IcingaDB sirve:
- El estado en vivo desde Redis
- El historial desde la base de datos SQL de IcingaDB
Por eso configuras dos recursos separados:
- BD de Icinga Web 2 → usuarios y grupos
- BD de IcingaDB → objetos de monitorización e historial
Esta separación es lo que hace que todo el sistema sea escalable y precioso.
🕹️ Paso 6 – Instalar el Director
El Icinga Director es tu motor web de automatización de la configuración. En lugar de escribir archivos Icinga DSL a mano como un cavernícola, obtienes:
- Plantillas de hosts y servicios
- Reglas apply
- Fuentes de importación
- Despliegue masivo
Sí, el Director necesita otra base de datos más. Esta pila es básicamente Pokémon para DBA: ¡hazte con todas!
🌀 Paso 7 – Reiniciar el universo
El último paso es el ritual del sysadmin:
- Reiniciar Redis
- Reiniciar IcingaDB
- Reiniciar Icinga 2
- Recargar Apache
Si todo está bien, Icinga Web 2 mostrará por fin:
- Estados en vivo de hosts y servicios
- Datos históricos
- La configuración del Director
Si algo falla… bueno, revisa tus logs. Te gritarán con todo lujo de detalles.
🌙 Un largo día de formación y una noche larga en el homelab
Hoy he participado en una formación online de día completo con NETWAYS, de Núremberg. Y no solo hoy: la formación continúa durante los próximos cuatro días.
Y como todo buen friki, al terminar la formación decidí aplicar de inmediato los conocimientos recién adquiridos y empecé a instalar la pila completa de Icinga 2 en mi servidor del homelab.
Hubo que pelearse un poco con los puertos de Redis, los privilegios de la base de datos y los asistentes de configuración, pero al final: la pila ya está plenamente operativa.
Con este logro desbloqueado, cierro oficialmente este capítulo de la noche y me voy directo a la cama. Hasta los sysadmins de homelab necesitan ventanas de mantenimiento.
🏁 Conclusión
Has montado con éxito:
- Icinga 2
- Redis
- IcingaDB
- Icinga Web 2
- Director
- Tres bases de datos e innumerables configs
Tu homelab tiene ahora un sistema de observabilidad totalmente funcional… y ya puedes presumir de ello en internet.
Ahora medimos el uptime. Y nuestra propia cordura.






