
Motor de alertas de código abierto para datos de monitorización de series temporales. Se conecta a Prometheus, VictoriaMetrics, ElasticSearch y otras fuentes de datos. Soporta más de 20 canales de notificación, reducción de ruido de alertas, escalado y automatización de autocuración.
Experto en alertas de código abierto
Nightingale es un proyecto de monitoreo de código abierto centrado en las alertas. Al igual que Grafana, Nightingale también se conecta con diversas fuentes de datos existentes. Sin embargo, mientras que Grafana hace hincapié en la visualización, Nightingale pone mayor énfasis en el motor de alertas, así como en el procesamiento y la distribución de alarmas.
💡 Nightingale ahora habla MCP de serie: el propio servidor expone un endpoint MCP integrado en
/mcp, por lo que los asistentes de IA pueden gestionar las alertas y explorar los datos de observabilidad en lenguaje natural sin necesidad de desplegar ningún proceso adicional. Consulta Servidor MCP más abajo.El proyecto Nightingale fue desarrollado inicialmente y liberado como código abierto por DiDi.inc. El 11 de mayo de 2022, fue donado al Comité de Desarrollo de Código Abierto de la Federación de Computación de China (CCF ODTC).

Muchos usuarios ya han recopilado métricas y datos de logs. En este caso, puedes conectar tus repositorios de almacenamiento (como VictoriaMetrics, ElasticSearch, etc.) como fuentes de datos en Nightingale. Esto te permite configurar reglas de alertas y reglas de notificación dentro de Nightingale, posibilitando la generación y distribución de alarmas.

Nightingale en sí no proporciona capacidades de recopilación de datos de monitoreo. Recomendamos usar Categraf como recopilador, que se integra perfectamente con Nightingale.
Categraf puede recopilar datos de monitoreo de sistemas operativos, dispositivos de red, diversos middleware y bases de datos. Envía estos datos a Nightingale mediante el protocolo Prometheus Remote Write. Nightingale almacena entonces los datos de monitoreo en una base de datos de series temporales (como Prometheus, VictoriaMetrics, etc.) y proporciona capacidades de alertas y visualización.
Para ciertos centros de datos periféricos con mala conectividad de red con el servidor central de Nightingale, ofrecemos un modo de despliegue distribuido para el motor de alertas. En este modo, incluso si la red se desconecta, la funcionalidad de alertas no se ve afectada.

En el diagrama anterior, el Centro de Datos A tiene una buena conexión de red con el centro de datos central, por lo que utiliza el proceso de Nightingale en el centro de datos central como motor de alertas. El Centro de Datos B tiene una mala conexión de red con el centro de datos central, por lo que despliega
n9e-edgecomo motor de alertas para gestionar las alertas de sus propias fuentes de datos.
Nightingale tiene un servidor MCP integrado: el propio proceso n9e sirve el Model Context Protocol en /mcp a través del transporte HTTP Streamable. Cualquier cliente MCP — Claude Code / Claude Desktop, Cursor, conectores de ChatGPT o tu propio agente — puede consultar y gestionar Nightingale en lenguaje natural, sin necesidad de desplegar ningún proceso adicional.
El endpoint es http(s)://<nightingale>:17000/mcp — una ruta raíz, no bajo /api/n9e. Autentícate con un token de acceso personal (crea uno en la interfaz web en Perfil → Gestión de tokens) enviado en la cabecera X-User-Token:
{
"mcpServers": {
"nightingale": {
"type": "http",
"url": "http://127.0.0.1:17000/mcp",
"headers": { "X-User-Token": "<your-token>" }
}
}
}
Cada llamada de herramienta se envía a la propia API HTTP de Nightingale dentro del proceso, llevando tu token, por lo que los permisos RBAC y de grupo de negocio se aplican exactamente igual que para ese usuario en la interfaz — un cliente nunca puede alcanzar nada que el propietario de su token no pueda.
74 herramientas de grano fino (42 de lectura, 32 de escritura) en 13 conjuntos de herramientas: alerts, targets, datasource, mutes, busi_groups, notify_rules, alert_subscribes, event_pipelines, users, metrics, logs, dashboards, roles.
El endpoint es de solo lectura por defecto — las herramientas de escritura (crear / actualizar / eliminar) requieren una activación explícita en la configuración.
Todo lo siguiente es opcional; /mcp está habilitado de serie (etc/config.toml):
[HTTP.A2A]
# DisableMCP = true # turn off /mcp (Disable = true turns off /a2a as well)
# MCPToolsets = ["alerts", "dashboards"] # restrict the exposed toolsets; empty = all of them
# MCPEnableWriteTools = true # also register the write tools; read-only by default
/mcp reutiliza [HTTP.TokenAuth] para la autenticación, por lo que debes mantenerlo habilitado.
/mcp también acepta tokens de acceso OAuth mediante Authorization: Bearer, en dos variantes:
Además de MCP, el mismo proceso expone un endpoint A2A en /a2a que envuelve el asistente de IA integrado de Nightingale para la integración agente-a-agente (doc/api/a2a.md). Si prefieres ejecutar MCP como un proceso separado contra un Nightingale remoto, el n9e-mcp-server independiente ofrece las mismas herramientas.
Nightingale se centra en ser un motor de alertas, responsable de generar alarmas y distribuirlas de forma flexible según las reglas. Admite 20 medios de notificación integrados (como llamadas telefónicas, SMS, correo electrónico, DingTalk, Slack, etc.).
Si tienes requisitos más avanzados, como:
Entonces Nightingale no es adecuado. Se recomienda elegir productos de guardia (on-call) como PagerDuty y FlashDuty. Estos productos son simples y fáciles de usar.




