README_zh.md
夜莺 Nightingale 是一款开源云原生监控告警工具,是中国计算机学会接受捐赠并托管的第一个开源项目,在 GitHub 上有超过 12000 颗星,广受关注和使用。夜莺的统一告警引擎,可以对接 Prometheus、Elasticsearch、ClickHouse、Loki、MySQL 等多种数据源,提供全面的告警判定、丰富的事件处理和灵活的告警分发及通知能力。
夜莺侧重于监控告警,类似于 Grafana 的数据源集成方式,夜莺也是对接多种既有的数据源,不过 Grafana 侧重于可视化,夜莺则是侧重于告警引擎、告警事件的处理和分发。
- 💡夜莺服务端已内置 MCP Server:n9e 进程自身在
/mcp暴露 MCP 端点,无需额外部署任何进程,AI 助手即可用自然语言查数据、管告警,详见下文 MCP Server 章节。- 夜莺监控项目,最初由滴滴开发和开源,并于 2022 年 5 月 11 日,捐赠予中国计算机学会开源发展技术委员会(CCF ODTC),为 CCF ODTC 成立后接受捐赠的第一个开源项目。
很多用户已经自行采集了指标、日志数据,此时就把存储库(VictoriaMetrics、ElasticSearch等)作为数据源接入夜莺,即可在夜莺里配置告警规则、通知规则,完成告警事件的生成和派发。
夜莺项目本身不提供监控数据采集能力。推荐您使用 Categraf 作为采集器,可以和夜莺丝滑对接。
Categraf 可以采集操作系统、网络设备、各类中间件、数据库的监控数据,通过 Remote Write 协议推送给夜莺,夜莺把监控数据转存到时序库(如 Prometheus、VictoriaMetrics 等),并提供告警和可视化能力。
对于个别边缘机房,如果和中心夜莺服务端网络链路不好,希望提升告警可用性,夜莺也提供边缘机房告警引擎下沉部署模式,这个模式下,即便边缘和中心端网络割裂,告警功能也不受影响。
上图中,机房A和中心机房的网络链路很好,所以直接由中心端的夜莺进程做告警引擎,机房B和中心机房的网络链路不好,所以在机房B部署了
n9e-edge做告警引擎,对机房B的数据源做告警判定。
夜莺服务端内置 MCP Server:n9e 进程自身以 Streamable HTTP 方式在 /mcp 提供 Model Context Protocol 服务,无需额外部署进程。任意 MCP 客户端(Claude Code / Claude Desktop、Cursor、ChatGPT connector、自研 Agent)都可以用自然语言查询和管理夜莺。
端点是 http(s)://<夜莺地址>:17000/mcp(根路径,不在 /api/n9e 下面)。鉴权用个人访问令牌(在页面上 个人信息 → Token 管理 里创建),放在 X-User-Token 请求头里:
{
"mcpServers": {
"nightingale": {
"type": "http",
"url": "http://127.0.0.1:17000/mcp",
"headers": { "X-User-Token": "<你的 token>" }
}
}
}
每次工具调用都会带着你的 token 在进程内派发到夜莺自己的 HTTP API 上,所以 RBAC、业务组权限和该用户在页面上操作时完全一致 —— 客户端拿不到 token 所属用户看不到的东西。
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 # 仅关掉 /mcp(Disable = true 会把 /a2a 一起关掉)
# MCPToolsets = ["alerts", "dashboards"] # 限定暴露哪些工具集,留空 = 全部
# MCPEnableWriteTools = true # 额外注册写工具,默认只读
/mcp 的鉴权复用 [HTTP.TokenAuth],需保证后者是启用状态。
/mcp 也接受 Authorization: Bearer 形式的 OAuth access token,两种玩法:
除 MCP 之外,同一个进程还在 /a2a 暴露 A2A 端点,把夜莺内置 AI 助手包装成标准的 Agent 供其他智能体调用,详见 doc/api/a2a.md。如果你更希望把 MCP Server 作为独立进程部署、去连远端的夜莺,独立版 n9e-mcp-server 提供的是同一套工具。
夜莺的侧重点是做告警引擎,即负责产生告警事件,并根据规则做灵活派发,内置支持 20 种通知媒介(电话、短信、邮件、钉钉、飞书、企微、Slack 等)。
如果您有更高级的需求,比如:
那夜莺是不合适的,推荐您选用 FlashDuty 这样的 On-call 产品,产品简单易用,也有免费套餐。
picobyte(我已关闭好友验证)拉入微信群,备注:夜莺互助群,如果已经把夜莺上到生产环境,可联系我拉入资深监控用户群