> 技术文档 > 夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库


夜莺-Nightingale-开源云原生监控分析系统二进制部署指南

    • 一、夜莺简介
    • 二、准备工作
      • 1. 下载夜莺发布包
      • 2. 安装依赖组件
    • 三、部署步骤
      • 1.解压夜莺发布包
      • 1. 导入数据库表结构
      • 2. 修改夜莺配置文件
      • 2. 启动夜莺服务
      • 3. 日志配置
    • 四、访问夜莺
    • 五、创建Systemd服务(推荐)
    • 六、接入数据源
      • 1. 部署时序数据库
      • 2. 配置夜莺对接时序库
      • 3.对接VictoriaMetrics单机版
      • 4.对接Prometheus
      • 5.对接VictoriaMetrics集群版
      • 6.多时序库配置示例
    • 七、在夜莺页面添加数据源
    • 八、部署采集器Categraf
      • 1.Categraf配置要点
      • 2.Categraf相关资源
      • 3.Categraf部署准备
      • 4.部署文件结构
      • 5.采集器启用/禁用
    • 九、Categraf启停管理
      • 1.Linux系统(systemd托管)
        • 推荐方式(v0.3.35+版本)
        • 普通用户安装(v0.4.5+版本)
        • 旧版本方式(v0.3.35以下)
      • 2.Windows系统
        • 服务方式
        • 后台方式
      • 3.容器化部署
    • 十、资源限制配置
      • 1.systemd资源限制
      • 2.Docker资源限制
    • 十一、测试与调试
      • 1.测试采集器输出
      • 2.查看 MySQL 监控指标
      • 3.配置热重载
    • 十二、自升级管理
      • 1.升级命令(v0.3.36+)
      • 2.升级流程
    • 十三、最佳实践建议
    • 十四、总结

💐The Begin💐点点关注,收藏不迷路💐

夜莺(Nightingale)是一款开源的企业级监控解决方案,由国内知名监控系统Open-Falcon核心团队开发。本文将详细介绍如何使用二进制方式部署夜莺监控系统。

一、夜莺简介

夜莺是一款集成了指标监控、日志监控、告警管理、仪表盘等功能的一体化监控解决方案。它采用模块化设计,支持多种数据源接入,适用于各种规模的监控场景。

二、准备工作

1. 下载夜莺发布包

可以从以下两个地址下载夜莺发布包:

  • GitHub Releases(更新频繁,国外地址)
  • FlashCat 下载中心(国内地址,下载更快)

根据服务器架构选择对应的包:

  • amd64.tar.gz:x86_64架构
  • arm64.tar.gz:ARM64架构
  • beta:为测试版

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

curl -H\'Referer: https://console.flashcat.cloud\' -O https://download.flashcat.cloud/n9e-v7.7.0-linux-amd64.tar.gz或者wget --header=\'Referer: https://console.flashcat.cloud\' https://download.flashcat.cloud/n9e-v7.7.0-linux-amd64.tar.gz

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2. 安装依赖组件

夜莺依赖MySQL和Redis,可以使用以下脚本快速安装:

# 安装MySQLyum -y install mariadb*systemctl enable mariadbsystemctl restart mariadbmysql -e \"SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\'Seal@2025\');\"# 安装Redisyum install -y redissystemctl enable redissystemctl restart redis

前面也有相关mysql+redis的安装文档,可以参考安装

01-mysql安装篇(rpm方式安装+二进制方式安装)

RedHat7.9安装mysql8.0.32 ↝ 二进制方式

【Redis编译安装】—redis-4.0.8

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

安装好MySQL和Redis后即可部署夜莺-Nightingale。

三、部署步骤

1.解压夜莺发布包

sudo mkdir -p /usr/local/n9etar zxvf /root/n9e-v7.7.0-linux-amd64.tar.gz -C /usr/local/n9e

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

1. 导入数据库表结构

解压夜莺发布包后,执行以下命令导入数据库,Zyl@123456为你的mysql数据库密码:

mysql -uroot -pZyl@123456 < n9e.sql

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2. 修改夜莺配置文件

修改你的夜莺配置文件 etc/config.toml:

[DB]DSN = \"root:Zyl@123456@tcp(127.0.0.1:3306)/n9e_v6?charset=utf8mb4&parseTime=True&loc=Local&allowPublicKeyRetrieval=true\"

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

[Redis]# address, ip:port or ip1:port,ip2:port for cluster and sentinel(SentinelAddrs)Address = \"127.0.0.1:6379\"# Username = \"\"Password = \"Zyl@2025\"

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2. 启动夜莺服务

解压后的目录中包含以下主要文件:

  • n9e:主服务二进制
  • n9e-edge:边缘机房部署使用
  • n9e-cli:版本迁移工具

启动夜莺:

./n9e

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

建议使用nohup方式后台运行:

nohup ./n9e &> n9e.log &

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

检查服务状态:

ss -tlnp|grep 17000ps -ef|grep n9e

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

3. 日志配置

默认日志输出到stdout,如需输出到文件,修改etc/config.toml中的[Log]部分:

[Log]Dir = \"logs\"Level = \"INFO\"Output = \"file\"KeepHours = 24

上面的配置表示,把日志输出到 logs 目录下,日志级别是 INFO,日志文件保留 24 小时。也可以根据大小来配置,比如:

[Log]Dir = \"logs\"Level = \"INFO\"Output = \"file\"RotateNum = 3RotateSize = 256

上面的配置表示,把日志输出到 logs 目录下,日志级别是 INFO,日志文件大小超过 256M 时,会自动切割,保留 3 个日志文件。

四、访问夜莺

浏览器访问:http://服务器IP:17000

默认登录凭证:

  • 用户名:root
  • 密码:root.2020

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

五、创建Systemd服务(推荐)

创建 /etc/systemd/system/n9e.service:

vim /etc/systemd/system/n9e.service
[Unit]Description=Nightingale Monitoring ServerAfter=network.target[Service]User=rootGroup=rootWorkingDirectory=/usr/local/n9eExecStart=/usr/local/n9e/n9eRestart=always[Install]WantedBy=multi-user.target

然后启用服务:

systemctl daemon-reloadsystemctl enable n9esystemctl start n9esystemctl status n9esystemctl restart n9e

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

六、接入数据源

上面的方式搭建的夜莺,只是作为一个告警引擎使用,此时你可以在页面(注意,这里是页面)上添加数据源(菜单路径:系统配置-数据源),看图、配置告警规则。如果想要用夜莺来接收监控数据并转存到时序库,那就得通过配置文件(注意,这里是配置文件)告诉夜莺时序库的地址在哪里。

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

在这个架构下,夜莺进程有两个角色,一个是作为告警引擎,一个是作为数据转发的 pushgateway,这里首先需要一个时序库,可以使用 Prometheus 或 VictoriaMetrics(推荐)。夜莺接收到数据之后会通过 remote write 方式转发给时序库。

1. 部署时序数据库

推荐使用VictoriaMetrics:

1、从VictoriaMetrics Releases下载对应版本

wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.80.0/victoria-metrics-linux-amd64-v1.80.0.tar.gz
sudo mkdir -p /usr/local/victoria-metricstar -zxvf victoria-metrics-linux-amd64-v1.80.0.tar.gz -C /usr/local/victoria-metrics

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2、启动服务:

./victoria-metrics-prod

生产环境建议使用 systemd 托管。

vim /etc/systemd/system/victoriametrics.service
# /etc/systemd/system/victoriametrics.service[Unit]Description=\"victoriametrics\"After=network.target[Service]Type=simpleExecStart=/usr/local/victoria-metrics/victoria-metrics-prodRestart=on-failureSuccessExitStatus=0LimitNOFILE=65536StandardOutput=syslogStandardError=syslogSyslogIdentifier=victoriametrics[Install]WantedBy=multi-user.target
systemctl daemon-reloadsystemctl enable victoriametricssystemctl start victoriametricssystemctl status victoriametrics

默认监听8428端口,可以通过 http://IP:8428 访问 VictoriaMetrics 的 web 界面。

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库
夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库
夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2. 配置夜莺对接时序库

夜莺(Nightingale)是一款开源的企业级监控解决方案,作为Prometheus生态的重要补充,它提供了更强大的可视化、告警和分布式部署能力。

夜莺可以作为pushgateway接收监控数据,然后通过Prometheus remote write协议将数据写入后端时序数据库。配置主要通过修改etc/config.toml文件中的[[Pushgw.Writers]]部分实现。

3.对接VictoriaMetrics单机版

[[Pushgw.Writers]]Url = \"http://127.0.0.1:8428/api/v1/write\"

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

注意:将IP地址127.0.0.1改为你实际环境中VictoriaMetrics的IP地址

4.对接Prometheus

[[Pushgw.Writers]]Url = \"http://127.0.0.1:9090/api/v1/write\"

注意:将IP地址127.0.0.1改为你实际环境中Prometheus的IP地址

5.对接VictoriaMetrics集群版

[[Pushgw.Writers]]Url = \"http://127.0.0.1:8480/insert/0/prometheus/api/v1/write\"

注意:将IP地址127.0.0.1改为你实际环境中vminsert的IP地址

6.多时序库配置示例

夜莺支持将数据同时写入多个后端时序库,配置示例如下:

[[Pushgw.Writers]]Url = \"http://127.0.0.1:9090/api/v1/write\"BasicAuthUser = \"\"BasicAuthPass = \"\"[[Pushgw.Writers]]Url = \"http://127.0.0.1:8428/api/v1/write\"BasicAuthUser = \"\"BasicAuthPass = \"\"

配置完成后,需要重启夜莺进程使配置生效。

systemctl restart n9e

七、在夜莺页面添加数据源

  1. 进入\"数据源\"菜单

  2. 选择\"Prometheus Like\"类型的数据源

  3. 填写关键信息:

    • 数据源名称:自定义的数据源名称
    • URL:数据源的访问地址(如:http://victoriametrics:8428
    • 超时时间:默认10秒,可根据需要调整(如改为30000毫秒)
    • 授权:填写数据源的Basic auth认证信息(如有)
    • Remote write URL:记录规则产生的新指标回写地址(如VictoriaMetrics单机版为http://IP:8428/api/v1/write
    • 时序库内网地址:用于边缘机房下沉部署告警引擎的场景
    • 关联告警引擎集群:中心部署选择\"default\",边缘机房选择对应的告警引擎集群
  4. 点击\"测试并保存\",测试通过后即可使用该数据源。

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库
点击【测试并保存】,如果测试通过,就可以对这个数据源的数据看图、配告警规则了。比如我使用的时序库是 VictoriaMetrics,那么数据源 URL 就是 http://victoriametrics:8428,compose 中自动启动了 categraf 采集数据,配置完了数据源就可以立马去查看数据:

八、部署采集器Categraf

对于一套监控系统而言,核心就是采集数据并存储,然后做告警判定、数据展示分析,这个 专栏文章 详细讲解了这个数据流架构,整个流程图如下:
夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库
采集方面,夜莺支持多种不同的采集器,比如 Categraf、Telegraf、Datadog-agent、Grafana-agent 等,Categraf 和夜莺的整合最为丝滑,最为推荐。

夜莺使用Categraf作为数据采集器,需要在所有被监控机器上安装。

categraf v0.3.47(企业版v0.3.74)及以后版本oracle插件不依赖cgo,不用下载with-cgo版本了

1、Categraf下载

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

1.Categraf配置要点

  1. 主配置文件位于conf/config.toml
  2. 修改其中的夜莺地址(默认127.0.0.1:17000)为你实际的夜莺地址
  3. 建议使用ansible等批量管理工具在多台机器上部署

2.Categraf相关资源

  • Categraf介绍
  • Categraf安装指南
  • Categraf配置文档

Categraf作为夜莺监控系统的核心数据采集器,支持多种部署方式和灵活的配置管理。本文将详细介绍Categraf的部署方法、启停管理、资源限制以及自升级等全流程操作,帮助您快速掌握Categraf的使用技巧。

3.Categraf部署准备

1、下载categraf安装包

curl -H\'Referer: https://console.flashcat.cloud\' -O https://download.flashcat.cloud/categraf-v0.4.5-linux-amd64.tar.gz
sudo mkdir -p /usr/local/categraftar -zxvf categraf-v0.4.5-linux-amd64.tar.gz -C /usr/local/categraf

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2、以service方式安装categraf

# 以service方式安装, 相当于添加service文件+systemctl daemon-reloadsudo ./categraf --install# 以service方式卸载, 相当于systemctl stop categraf + 删除service文件sudo ./categraf --remove# 以service方式启动categraf ,相当于systemctl start categraf# 如果之前有nohup启动的categraf进程,需要先人工停掉原来的categraf进程sudo ./categraf --start# 以service方式停止categraf,相当于systemctl stop categrafsudo ./categraf --stop# 以service方式查看categraf,相当于systemctl status categrafsudo ./categraf --status

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

===========================部署可从这里跳过,下面内容为一些不同部署方式参考

4.部署文件结构

在目标机器上部署Categraf仅需要:

  • categraf二进制文件
  • conf配置目录

conf目录结构说明:

conf/├── config.toml # 主配置文件(定义机器名、采集频率、附加标签等)├── input.cpu/  # CPU采集器配置├── input.mem/  # 内存采集器配置├── input.disk/ # 磁盘采集器配置└── ...  # 其他采集器配置

5.采集器启用/禁用

  • 启用采集器:保留input.xx目录前缀
  • 禁用采集器:将目录前缀改为其他名称(如bak.input.xx

九、Categraf启停管理

1.Linux系统(systemd托管)

推荐方式(v0.3.35+版本)
# 安装服务sudo ./categraf --install# 启动服务sudo ./categraf --start# 停止服务sudo ./categraf --stop# 查看状态sudo ./categraf --status# 卸载服务sudo ./categraf --remove
普通用户安装(v0.4.5+版本)
./categraf --user --install # 安装./categraf --user --start # 启动
旧版本方式(v0.3.35以下)
sudo cp categraf.service /etc/systemd/system/sudo systemctl daemon-reloadsystemctl start categraf

2.Windows系统

服务方式
categraf.exe --win-service-install # 安装服务categraf.exe --win-service-start # 启动服务
后台方式
win_run.bat start # 启动win_run.bat stop # 停止

3.容器化部署

docker run -td \\ --name categraf \\ --restart=always \\ --hostname categraf \\ -e TZ=Asia/Shanghai \\ -v /path/to/conf:/etc/categraf/conf \\ flashcatcloud/categraf:latest

采集物理机指标需额外挂载:

docker run -td \\ --network=host \\ -v /proc:/hostfs/proc:ro \\ -v /sys:/hostfs/sys:ro \\ -e HOST_PROC=/hostfs/proc \\ -e HOST_SYS=/hostfs/sys \\ ...(其他参数同上)

=======================结束=

十、资源限制配置

1.systemd资源限制

编辑/etc/systemd/system/categraf.service

[Service]CPUQuota=200% # 限制2核CPUMemoryLimit=1G # 限制1GB内存MemoryHigh=800M # 内存软限制(可选)

2.Docker资源限制

docker run --cpus=2 --memory=1g ...(其他参数)

十一、测试与调试

1.测试采集器输出

修改/usr/local/categraf/categraf-v0.4.5-linux-amd64/conf/input.mysql。

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

# 测试单个采集器./categraf --test --inputs mysql# 测试多个采集器./categraf --test --inputs mysql:cpu:mem

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

2.查看 MySQL 监控指标

在夜莺监控系统中,查看 MySQL 的监控指标:

夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库
夜莺-Nightingale-开源云原生监控分析系统二进制部署指南_夜鹰中配置数据库

3.配置热重载

kill -HUP `pidof categraf` # Linux系统

Windows系统不支持HUP信号,需重启服务

十二、自升级管理

1.升级命令(v0.3.36+)

./categraf --update --update_url https://download.flashcat.cloud/categraf-v0.3.36-linux-amd64.tar.gz

2.升级流程

  1. 非systemd托管升级

    • 停止旧进程
    • 替换二进制文件
    • 执行--install安装服务
    • 启动服务
  2. systemd托管升级

    • 停止服务
    • 替换二进制文件
    • 执行--remove--install
    • 启动服务

十三、最佳实践建议

  1. 配置管理:建议使用版本控制系统管理conf目录
  2. 批量部署:使用Ansible等工具实现多节点批量部署
  3. 监控自身:为Categraf配置监控,确保采集器正常运行
  4. 日志收集:定期检查logs目录下的日志文件

附:常用命令速查表

功能 命令 安装服务 sudo ./categraf --install 启动服务 sudo ./categraf --start 测试配置 ./categraf --test --inputs cpu:mem 热重载 kill -HUP $(pidof categraf) 版本升级 ./categraf --update --update_url=...

十四、总结

通过本文的步骤,您已经完成了夜莺监控系统的基础部署。夜莺功能强大,后续可以根据实际需求配置告警规则、仪表盘等高级功能。建议在生产环境中使用systemd管理服务,并配置适当的日志轮转策略。

如需了解更多高级功能,可以参考夜莺官方文档或社区资源。

在这里插入图片描述

💐The End💐点点关注,收藏不迷路💐