nagios

``

Descripción General

Nagios es una de las primeras plataformas de monitoreo open source ampliamente adoptadas. Está orientada al monitoreo de infraestructura, servicios, dispositivos de red y aplicaciones mediante un sistema modular de plugins. Aunque su interfaz es más clásica en comparación con herramientas modernas, su robustez y extensibilidad lo mantienen como un estándar en muchos entornos.

Arquitectura de Nagios

Componentes Principales

  • Nagios Core
    • Motor central que procesa verificaciones, gestiona alertas y ejecuta los plugins.
    • No incluye una interfaz avanzada: su consola web es funcional pero minimalista.
  • Plugins
    • Programas externos que ejecutan pruebas específicas: ping, HTTP, DNS, bases de datos, SNMP, etc.
    • Escritos en Bash, Perl, Python, C/C++, PowerShell o cualquier lenguaje ejecutable en el sistema.
  • NRPE (Nagios Remote Plugin Executor)
    • Permite ejecutar plugins en máquinas remotas cuando no es posible hacerlo desde el servidor principal.
    • Útil para monitoreo profundo (CPU, RAM, disco local, procesos, logs).
  • NSClient++
    • Agente para sistemas Windows.
    • Permite monitorizar servicios, procesos, eventos y métricas del sistema.
  • NCPA (Nagios Cross-Platform Agent)
    • Agente universal compatible con Windows, Linux y macOS.
    • Envío de datos vía API.

Flujo General de Funcionamiento

  1. Nagios Core ejecuta plugins según los intervalos configurados.
  2. Los plugins retornan códigos de estado (OK, WARNING, CRITICAL, UNKNOWN).
  3. El scheduler procesa los resultados.
  4. Se generan alertas y notificaciones si procede.
  5. La consola web muestra estados, historiales y alertas activas.

Métodos de Monitoreo

Monitoreo Activo (Active Checks)

  • Ejecutados directamente por Nagios Core o por NRPE.
  • Permite control total sobre intervalos, timeouts y comandos.
  • Ideal para:
    • HTTP/HTTPS
    • SSH
    • SMTP/POP/IMAP
    • Procesos específicos
    • Servicios internos

Monitoreo Pasivo (Passive Checks)

  • Servicios o agentes externos envían resultados a Nagios.
  • Útil para:
    • Hosts detrás de firewalls.
    • Dispositivos que solo notifican estados.
    • Integración con scripts externos o sistemas legacy.

SNMP y Dispositivos de Red

  • Nagios usa plugins SNMP para:
    • Consultar OIDs
    • Leer métricas de switches, routers y firewalls
    • Detectar estados de interfaces, tráfico y fallos

Agentes

  • NRPE para Linux/Unix
  • NSClient++ para Windows
  • NCPA como alternativa más moderna

Monitoreo de Servicios

Nagios sobresale en la supervisión específica de servicios, incluyendo:

  • APIs HTTP
  • Motores de base de datos
  • Servicios del sistema (systemd, init)
  • Daemons en Unix/Linux
  • Procesos Windows
  • Latencia, disponibilidad y tiempos de respuesta

Los checks se definen en archivos de configuración basados en texto, lo que permite control granular pero requiere disciplina para mantenerlos bien organizados.

Visualización y Alertas

Consola Web

  • Estado de hosts y servicios
  • Árboles de dependencias
  • Eventos recientes
  • Historial de alertas
  • Mapas básicos

Alertas

  • Notificaciones por:
    • Email
    • SMS
    • Webhooks
    • Scripts personalizados
  • Basadas en cambios de estado HARD/SOFT
  • Totalmente configurable en contacts y contact_groups

Integración con Docker

Uso con Contenedores

Ideal para laboratorios, testing o despliegues ligeros.

Ejemplo general:

  • Contenedor con Nagios Core
  • Volumen para configuraciones
  • Plugins añadidos manualmente
  • Exposición de puertos para la consola web

La imagen más usada: jasonrivers/nagios

Ventajas de Docker

  • No requiere instalar paquetes complejos en la máquina host.
  • Permite versionar la configuración y plugins.
  • Entorno reproducible en equipos de desarrollo y producción.

Instalación con Docker

Paso Básico (Ejemplo)

Este comando es típico usando la imagen jasonrivers:

docker run --name nagios \
	-p 8080:80 \
	-v /srv/nagios/etc:/opt/nagios/etc \
	-v /srv/nagios/var:/opt/nagios/var \
	-v /srv/nagios/plugins:/opt/Custom-Nagios-Plugins \
	jasonrivers/nagios

`

Configuración y Plugins

Configuración por Archivos

  • nagios.cfg
  • objects/commands.cfg
  • objects/hosts.cfg
  • objects/services.cfg
  • objects/contacts.cfg
  • objects/timeperiods.cfg

Todo es texto plano → control total.

Plugins

Plugins comunes:

  • check_ping
  • check_http
  • check_tcp
  • check_dns
  • check_load
  • check_disk
  • check_mysql

Extensibilidad:

  • Plugins propios en Bash, Python o C/C++
  • Integración con sistemas externos vía passive checks

Casos de Uso Comunes

  • Infraestructuras pequeñas o medianas
  • Equipos con cultura DevOps que valoran configuraciones declarativas
  • Redes con alto uso de SNMP
  • Monitoreo de bases de datos y servicios web
  • Escenarios legacy que requieren agentes como NRPE

Limitaciones Comunes (y Soluciones)

  • Interfaz clásica: usarse con complementos como Centreon, Thruk, Icinga Web.
  • Escalabilidad limitada: usar distribuido vía NSCA o NCPA.
  • Curva de aprendizaje: documentación extensa pero configuración manual.

Aquí tienes una versión ampliada y actualizada:


Alternativas basadas en Nagios

Icinga

  • Es un fork moderno de Nagios. (Wikipedia)
  • Está reescrito (especialmente Icinga 2) para mejorar la escalabilidad, ofrecer clustering, API REST, interfaz web moderna y mayor rendimiento. (freebsdfoundation.org)
  • Compatible con los complementos (“plugins”) de Nagios, lo que facilita la migración. (freebsdfoundation.org)
  • Documentación oficial: Icinga Docs (Icinga)
  • Repositorio GitHub de Icinga: (GitHub)
  • Casos de uso destacados: monitorización distribuida, alta disponibilidad, integración con herramientas modernas como Grafana, Terraform, AWS, Azure, etc.

Ventajas frente a Nagios:

  • Mejor gestión de configuración y API moderna.
  • Interfaz Web 2.0 más usable y potente.
  • Soporte para bases de datos más variadas (PostgreSQL, Oracle…). (Wikipedia)
  • Arquitectura modular y escalable.

Centreon

  • Plataforma completa para monitoreo de infraestructura, redes, aplicaciones y más. (Centreon)
  • Nació como una extensión / GUI para Nagios, pero ha evolucionado hasta ofrecer una solución más sofisticada y empresarial. (Centreon)
  • Conserva compatibilidad con los plugins de Nagios (motor de comprobaciones). (Centreon)
  • Tiene capacidades avanzadas: descubrimiento automático, dashboards, informes, alertas, notificaciones, escalabilidad, etc. (Centreon)
  • Sitio oficial de Centreon: (Centreon)

Ventajas frente a Nagios:

  • Interfaz más accesible para usuarios no técnicos.
  • “Todo en uno”: consola + monitorización + alertas + reporting.
  • Mejor soporte para entornos híbridos (on-prem + cloud).
  • Gestión más escalable y profesional para empresas.

Naemon

  • Proyecto open source diseñado como un reemplazo moderno de Nagios Core. (naemon.io)
  • Basado en el núcleo de Nagios 4, pero con muchas correcciones de errores, mejoras de rendimiento y nuevas funciones. (naemon.io)
  • Arquitectura modular: separa el core, los brokers, la integración con la base de datos, etc., de forma más clara. (naemon.io)
  • Compatible con los plugins de Nagios (ya que mantiene la interfaz de comprobaciones). (naemon.io)
  • Proyecto gestionado por la comunidad, con enfoque en independencia técnica. (naemon.io)
  • Descargas y paquetes disponibles: la versión estable 1.4.4 fue lanzada en junio de 2025. (naemon.io)
  • Sitio oficial de Naemon: (naemon.io)
  • Info técnica adicional: integración con Livestatus, módulos NEB (Naemon Event Broker), API, gestión de resultados, escalabilidad, etc. (naemon.io)
  • Según ConSol (empresa que da soporte), Naemon permite definir jerarquías de hosts, manejar notificaciones, handlers y usar una interfaz web (por ejemplo con Thruk). (ConSol Monitoring)

Ventajas frente a Nagios:

  • Más estable y optimizado respecto a Nagios Core “puro”.
  • Mejor rendimiento en entornos con muchas comprobaciones.
  • Modularidad que facilita mantenimiento y escalado.
  • Continua compatibilidad con el ecosistema de plugins de Nagios.