夜莺(Nightingale)开源云原生监控工具详解
一、核心特点
-
All-in-One 设计
- 集成数据采集、可视化、监控告警、数据分析于一体,支持 Prometheus、VictoriaMetrics、Loki 等多种数据源,兼容 Grafana 生态,提供开箱即用的企业级监控能力。
- 支持日志、指标、链路追踪数据的统一管理,内置仪表盘和告警规则模板,降低配置复杂度。
-
国产化与社区生态
- 由滴滴孵化并开源,成为中国计算机学会(CCF)托管的第一个开源项目,社区活跃,GitHub Star 超 7.9K,服务上千家企业。
- 默认中文界面,文档完善,适配国内运维需求,支持暗黑主题和权限管理。
-
灵活性与扩展性
- 支持多机房部署,提供边缘节点方案(n9e-edge),解决网络不稳定场景下的数据同步与告警管理问题。
- 可对接多种采集器(如 Categraf、Telegraf)和存储后端(Prometheus、TDengine),适配混合云及已有监控系统升级。
-
高级告警功能
- 支持告警级别抑制(如 P1 抑制 P2)、生效时间配置、告警屏蔽与订阅,以及自愈脚本触发,减少误报和运维干扰。
- 告警规则可批量生效至多个数据源,支持 OpenTSDB、Datadog 等协议。
二、安装部署
1. 环境要求
- 操作系统:推荐 CentOS 7/8 或 Ubuntu 18.04+。
- 依赖组件:MySQL/MariaDB、Redis、Nginx(可选),需关闭 SELinux 和防火墙。
2. 快速部署(Docker Compose)
git clone https://github.com/ccfos/nightingale.git
cd nightingale/docker
docker-compose up -d # 一键启动 MySQL、Redis、Prometheus 等组件
- 访问:浏览器输入
http://服务器IP:17000
,默认账号root
,密码root.2020
。
3. 二进制安装(生产环境推荐)
- 下载并解压:
mkdir -p /opt/n9e && cd /opt/n9e wget https://download.flashcat.cloud/n9e-v6.1.0-linux-amd64.tar.gz tar zxvf n9e-v6.1.0-linux-amd64.tar.gz
- 初始化数据库:
mysql -uroot -p < sql/n9e.sql # 导入建表语句
- 启动服务:
nohup ./n9e server &> server.log & # 后端服务 nohup ./n9e webapi &> webapi.log & # API服务
4. 高级配置
- 域名与 HTTPS:通过 Nginx 反向代理绑定域名,配置 Let's Encrypt 证书。
- 多节点集群:使用 Docker Swarm 或 Kubernetes 扩展部署,分离中心节点与边缘节点。
三、使用方法
-
数据源配置
- 在「系统配置」-「数据源」中添加 Prometheus、VictoriaMetrics 等,支持批量导入指标数据。
-
采集器部署(Categraf)
- 安装:下载 Categraf 并修改
config.toml
,指定夜莺服务端地址。 - 启动:
./categraf --install # 注册为系统服务 systemctl start categraf
- 测试:
./categraf --test --inputs mysql:redis # 验证插件采集
- 安装:下载 Categraf 并修改
-
仪表盘与告警
- 内置模板:在「仪表盘」-「内置仪表盘」中导入主机、中间件监控模板,支持自定义图表布局。
- 告警规则:通过「告警管理」配置阈值、生效时间和通知渠道(如邮件、Slack),支持多级告警抑制。
-
多机房管理
- 在边缘机房部署
n9e-edge
组件,同步中心告警策略,保障数据本地化存储与计算。
- 在边缘机房部署
四、注意事项
- 权限与安全:
- 修改默认密码,启用 HTTPS 和 2FA,定期备份 MySQL 数据库及 Redis 数据。
- 性能优化:
- 高并发场景建议分离部署
n9e-server
(管理端)与n9e-edge
(边缘节点),避免资源争用。
- 高并发场景建议分离部署
- 故障排查:
- 查看
/opt/n9e/logs
目录下的日志文件,检查端口冲突(如 17000、19000)。
- 查看
通过夜莺监控,用户可快速构建符合等保要求的运维体系,其轻量化设计与国产化特性尤其适合中小企业和多机房场景。更多配置细节可参考 官方文档 或社区资源。