一篇文章带你了解一款强大的开源云原生监控工具---夜莺Nightingale

2 阅读3分钟

夜莺(Nightingale)开源云原生监控工具详解


一、核心特点

  1. All-in-One 设计

    • 集成数据采集、可视化、监控告警、数据分析于一体,支持 Prometheus、VictoriaMetrics、Loki 等多种数据源,兼容 Grafana 生态,提供开箱即用的企业级监控能力。
    • 支持日志、指标、链路追踪数据的统一管理,内置仪表盘和告警规则模板,降低配置复杂度。
  2. 国产化与社区生态

    • 由滴滴孵化并开源,成为中国计算机学会(CCF)托管的第一个开源项目,社区活跃,GitHub Star 超 7.9K,服务上千家企业。
    • 默认中文界面,文档完善,适配国内运维需求,支持暗黑主题和权限管理。
  3. 灵活性与扩展性

    • 支持多机房部署,提供边缘节点方案(n9e-edge),解决网络不稳定场景下的数据同步与告警管理问题。
    • 可对接多种采集器(如 Categraf、Telegraf)和存储后端(Prometheus、TDengine),适配混合云及已有监控系统升级。
  4. 高级告警功能

    • 支持告警级别抑制(如 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. 二进制安装(生产环境推荐)
  1. 下载并解压
    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
    
  2. 初始化数据库
    mysql -uroot -p < sql/n9e.sql  # 导入建表语句
    
  3. 启动服务
    nohup ./n9e server &> server.log &  # 后端服务
    nohup ./n9e webapi &> webapi.log &  # API服务
    
4. 高级配置
  • 域名与 HTTPS:通过 Nginx 反向代理绑定域名,配置 Let's Encrypt 证书。
  • 多节点集群:使用 Docker Swarm 或 Kubernetes 扩展部署,分离中心节点与边缘节点。

三、使用方法

  1. 数据源配置

    • 在「系统配置」-「数据源」中添加 Prometheus、VictoriaMetrics 等,支持批量导入指标数据。
  2. 采集器部署(Categraf)

    • 安装:下载 Categraf 并修改 config.toml,指定夜莺服务端地址。
    • 启动
      ./categraf --install  # 注册为系统服务
      systemctl start categraf
      
    • 测试
      ./categraf --test --inputs mysql:redis  # 验证插件采集
      
  3. 仪表盘与告警

    • 内置模板:在「仪表盘」-「内置仪表盘」中导入主机、中间件监控模板,支持自定义图表布局。
    • 告警规则:通过「告警管理」配置阈值、生效时间和通知渠道(如邮件、Slack),支持多级告警抑制。
  4. 多机房管理

    • 在边缘机房部署 n9e-edge 组件,同步中心告警策略,保障数据本地化存储与计算。

四、注意事项

  1. 权限与安全
    • 修改默认密码,启用 HTTPS 和 2FA,定期备份 MySQL 数据库及 Redis 数据。
  2. 性能优化
    • 高并发场景建议分离部署 n9e-server(管理端)与 n9e-edge(边缘节点),避免资源争用。
  3. 故障排查
    • 查看 /opt/n9e/logs 目录下的日志文件,检查端口冲突(如 17000、19000)。

通过夜莺监控,用户可快速构建符合等保要求的运维体系,其轻量化设计与国产化特性尤其适合中小企业和多机房场景。更多配置细节可参考 官方文档 或社区资源。