
Движок оповещений с открытым исходным кодом для мониторинга временных рядов. Подключается к Prometheus, VictoriaMetrics, ElasticSearch и другим источникам данных. Поддерживает 20+ каналов уведомлений, снижение шума оповещений, эскалацию и автоматическое восстановление.
Эксперт по оповещению с открытым исходным кодом
Nightingale — это проект мониторинга с открытым исходным кодом, который фокусируется на оповещении. Как и Grafana, Nightingale также подключается к различным существующим источникам данных. Однако, если Grafana делает упор на визуализацию, Nightingale уделяет больше внимания механизму оповещения, а также обработке и распределению аварийных сигналов.
💡 Nightingale теперь поддерживает MCP «из коробки»: сам сервер предоставляет встроенную конечную точку MCP по адресу
/mcp, поэтому ИИ-ассистенты могут управлять оповещением и исследовать данные наблюдения на естественном языке без развертывания дополнительных процессов. См. MCP Server ниже.Проект Nightingale изначально был разработан и открыт компанией DiDi.inc. 11 мая 2022 года он был передан Комитету по разработке открытого программного обеспечения Компьютерного общества Китая (CCF ODTC).

Многие пользователи уже собирают метрики и данные журналов. В этом случае вы можете подключить свои хранилища данных (например, VictoriaMetrics, ElasticSearch и т. д.) как источники данных в Nightingale. Это позволяет настраивать правила оповещения и правила уведомлений в Nightingale, обеспечивая генерацию и распространение аварийных сигналов.

Сам Nightingale не предоставляет возможности сбора данных мониторинга. Мы рекомендуем использовать Categraf в качестве коллектора, который легко интегрируется с Nightingale.
Categraf может собирать данные мониторинга с операционных систем, сетевых устройств, различных middleware и баз данных. Он отправляет эти данные в Nightingale по протоколу Prometheus Remote Write. Затем Nightingale сохраняет данные мониторинга в базе данных временных рядов (например, Prometheus, VictoriaMetrics и т. д.) и предоставляет возможности оповещения и визуализации.
Для некоторых периферийных центров обработки данных с плохим сетевым подключением к центральному серверу Nightingale мы предлагаем распределенный режим развертывания механизма оповещения. В этом режиме, даже если сеть отключена, функциональность оповещения остается работоспособной.

На приведенной выше диаграмме у центра обработки данных A хорошая сеть с центральным центром обработки данных, поэтому он использует процесс Nightingale в центральном центре обработки данных в качестве механизма оповещения. У центра обработки данных B плохая сеть с центральным центром обработки данных, поэтому он развертывает
n9e-edgeв качестве механизма оповещения для обработки оповещений для своих собственных источников данных.
В Nightingale есть встроенный MCP Server: сам процесс n9e обслуживает Model Context Protocol по адресу /mcp через транспорт Streamable HTTP. Любой MCP-клиент — Claude Code / Claude Desktop, Cursor, коннекторы ChatGPT или ваш собственный агент — может запрашивать и управлять Nightingale на естественном языке без развертывания дополнительных процессов.
Конечная точка: http(s)://<nightingale>:17000/mcp — корневой путь, а не под /api/n9e. Аутентифицируйтесь с помощью персонального токена доступа (создайте его в веб-интерфейсе в разделе Profile → Token Management), передаваемого в заголовке X-User-Token:
{
"mcpServers": {
"nightingale": {
"type": "http",
"url": "http://127.0.0.1:17000/mcp",
"headers": { "X-User-Token": "<your-token>" }
}
}
}
Каждый вызов инструмента направляется на собственный HTTP API Nightingale внутри процесса с вашим токеном, поэтому RBAC и разрешения бизнес-групп применяются точно так же, как и для этого пользователя в интерфейсе — клиент никогда не сможет получить доступ к тому, к чему не имеет доступа владелец его токена.
74 детализированных инструмента (42 на чтение, 32 на запись) в 13 наборах инструментов: 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 # отключает /mcp (Disable = true также отключает /a2a)
# MCPToolsets = ["alerts", "dashboards"] # ограничивает доступные наборы инструментов; пусто = все
# MCPEnableWriteTools = true # также регистрирует инструменты записи; по умолчанию только чтение
/mcp повторно использует [HTTP.TokenAuth] для аутентификации, поэтому оставьте его включенным.
/mcp также принимает OAuth-токены доступа через Authorization: Bearer, в двух вариантах:
Наряду с MCP тот же процесс предоставляет конечную точку A2A по адресу /a2a, которая оборачивает встроенного ИИ-ассистента Nightingale для интеграции агент-к-агенту (doc/api/a2a.md). Если вы предпочитаете запускать MCP как отдельный процесс для удаленного Nightingale, автономный n9e-mcp-server предоставляет те же инструменты.
Nightingale фокусируется на том, чтобы быть механизмом оповещения, отвечающим за генерацию аварийных сигналов и их гибкое распределение на основе правил. Он поддерживает 20 встроенных медиа-каналов уведомлений (таких как телефонные звонки, SMS, электронная почта, DingTalk, Slack и т. д.).
Если у вас есть более продвинутые требования, например:
Тогда Nightingale не подходит. Рекомендуется выбирать продукты для дежурных, такие как PagerDuty и FlashDuty. Эти продукты просты и удобны в использовании.




