
시계열 모니터링 데이터를 위한 오픈소스 알림 엔진입니다. Prometheus, VictoriaMetrics, ElasticSearch 및 기타 데이터 소스에 연결됩니다. 20개 이상의 알림 채널, 알림 노이즈 감소, 에스컬레이션 및 자가 치유 자동화를 지원합니다.
오픈소스 알림 전문가
Nightingale은 알림(alerting)에 초점을 맞춘 오픈소스 모니터링 프로젝트입니다. Grafana와 유사하게 Nightingale도 다양한 기존 데이터 소스를 연결할 수 있습니다. 다만 Grafana가 시각화에 중점을 두는 반면, Nightingale은 알림 엔진과 알람의 처리 및 배포에 더 중점을 둡니다.
💡 Nightingale은 이제 기본적으로 MCP를 지원합니다. 서버 자체가
/mcp에 내장 MCP 엔드포인트를 노출하므로, AI 어시스턴트는 별도의 프로세스를 배포할 필요 없이 자연어로 알림을 관리하고 관측 가능성(observability) 데이터를 탐색할 수 있습니다. 자세한 내용은 아래 MCP Server를 참조하세요.Nightingale 프로젝트는 처음에 DiDi.inc가 개발하여 오픈소스로 공개했습니다. 2022년 5월 11일, 중국컴퓨터학회(China Computer Federation) 오픈소스 개발 위원회(CCF ODTC)에 기증되었습니다.

많은 사용자가 이미 메트릭과 로그 데이터를 수집하고 있습니다. 이 경우 스토리지 저장소(예: VictoriaMetrics, ElasticSearch 등)를 Nightingale의 데이터 소스로 연결할 수 있습니다. 그러면 Nightingale 내에서 알림 규칙과 통지 규칙을 구성하여 알람을 생성하고 배포할 수 있습니다.

Nightingale 자체는 모니터링 데이터 수집 기능을 제공하지 않습니다. Nightingale과 원활하게 연동되는 Categraf를 수집기로 사용할 것을 권장합니다.
Categraf는 운영체제, 네트워크 장비, 다양한 미들웨어, 데이터베이스에서 모니터링 데이터를 수집할 수 있습니다. 수집한 데이터는 Prometheus Remote Write 프로토콜을 통해 Nightingale로 전송됩니다. Nightingale은 모니터링 데이터를 시계열 데이터베이스(예: Prometheus, VictoriaMetrics 등)에 저장하고 알림 및 시각화 기능을 제공합니다.
중앙 Nightingale 서버와의 네트워크 연결 상태가 좋지 않은 일부 엣지 데이터 센터를 위해 알림 엔진의 분산 배포 모드를 제공합니다. 이 모드에서는 네트워크가 끊겨도 알림 기능은 영향을 받지 않습니다.

위 다이어그램에서 데이터 센터 A는 중앙 데이터 센터와 네트워크 상태가 좋으므로 중앙 데이터 센터의 Nightingale 프로세스를 알림 엔진으로 사용합니다. 데이터 센터 B는 중앙 데이터 센터와 네트워크 상태가 좋지 않으므로
n9e-edge를 알림 엔진으로 배포하여 자체 데이터 소스에 대한 알림을 처리합니다.
Nightingale에는 내장 MCP 서버가 있습니다. n9e 프로세스 자체가 Streamable HTTP 전송 방식으로 /mcp에서 Model Context Protocol을 제공합니다. Claude Code / Claude Desktop, Cursor, ChatGPT 커넥터 또는 자체 에이전트 등 모든 MCP 클라이언트는 별도의 프로세스를 배포할 필요 없이 자연어로 Nightingale을 조회하고 관리할 수 있습니다.
엔드포인트는 http(s)://<nightingale>:17000/mcp이며, /api/n9e 아래가 아닌 루트 경로입니다. 웹 UI의 Profile → Token Management에서 생성한 개인 액세스 토큰을 X-User-Token 헤더에 담아 보내 인증합니다:
{
"mcpServers": {
"nightingale": {
"type": "http",
"url": "http://127.0.0.1:17000/mcp",
"headers": { "X-User-Token": "<your-token>" }
}
}
}
모든 도구 호출은 프로세스 내부에서 사용자의 토큰을 포함하여 Nightingale 자체 HTTP API로 전달되므로, RBAC 및 비즈니스 그룹 권한이 UI에서 해당 사용자에게 적용되는 것과 정확히 동일하게 적용됩니다. 즉, 클라이언트는 토큰 소유자가 접근할 수 없는 대상에는 절대 도달할 수 없습니다.
13개 툴셋에 걸쳐 세분화된 74개 도구(읽기 42개, 쓰기 32개)를 제공합니다: alerts, targets, datasource, mutes, busi_groups, notify_rules, alert_subscribes, event_pipelines, users, metrics, logs, dashboards, roles.
엔드포인트는 기본적으로 읽기 전용입니다 — 쓰기 도구(생성/수정/삭제)는 설정에서 명시적으로 선택해야 활성화됩니다.
아래 항목은 모두 선택 사항입니다. /mcp는 기본적으로 활성화되어 있습니다(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는 인증에 [HTTP.TokenAuth]를 재사용하므로 해당 기능을 활성화된 상태로 유지하세요.
/mcp는 Authorization: Bearer를 통한 OAuth 액세스 토큰도 두 가지 방식으로 허용합니다:
MCP와 함께, 동일한 프로세스는 에이전트 간 통합을 위해 Nightingale의 내장 AI 어시스턴트를 래핑하는 A2A 엔드포인트를 /a2a에 노출합니다 (doc/api/a2a.md 참조). 원격 Nightingale에 대해 MCP를 별도 프로세스로 실행하려면 독립형 n9e-mcp-server가 동일한 도구를 제공합니다.
Nightingale은 알람 생성과 규칙에 따른 유연한 알람 배포를 담당하는 알림 엔진에 초점을 맞춥니다. 전화, SMS, 이메일, DingTalk, Slack 등 20가지 내장 통지 미디어를 지원합니다.
더 고급 요구 사항이 있다면, 예를 들어:
이런 경우 Nightingale은 적합하지 않습니다. PagerDuty와 FlashDuty 같은 온콜(on-call) 제품을 선택하는 것이 좋습니다. 이러한 제품은 간단하고 사용하기 쉽습니다.




