Nightingale
Introduction
夜莺监控(Nightingale)是一款开箱即用、默认中文、界面美观的开源监控系统.
➜ # 夜莺的目录结构介绍
.
├── ...
├── alert 告警引擎相关逻辑,对 Prometheus、Loki、TDEngine 等数据源做异常数据判断并产生告警事件。
├── center Web 后端的逻辑。
├── cli 命令行工具,用于 v5 版本升级 v6 版本时的数据迁移。
├── cmd 入口包,所有的二进制的 main 函数入口都在这里。
├── conf 配置文件在内存里映射的数据结构。
├── docker 容器相关的文件,包括 Dockerfile 和 docker-compose 等,数据库的建表 SQL 也在这里。
├── etc 配置文件,重点关注 config.toml,如果使用了边缘机房的部署方案,还需要关注 edge.toml。
├── integrations 集成目录,包含比如 MySQL、Redis、Elasticsearch 等各个监控目标的内置仪表盘、告警规则等。
├── models 数据库操作相关的代码。
├── pkg 通用 lib 库。
├── prom Prometheus 相关的代码,包括 remote write 写数据以及查询接口的封装。
├── tdengine 查询 TDEngine(时序数据库)相关的代码。
├── storage MySQL 和 Redis 的初始化连接相关的代码。
└── pushgw Pushgateway 相关的代码,用于接收 remote write 数据、opentsdb 格式的数据、datadog 格式的数据、open-falcon 格式的数据,然后统一做格式转换写入后端存储。
安装启动
git clone https://github.com/ccfos/nightingale.git
cd nightingale/docker
docker-compose up -d
Reference
https://n9e.github.io/zh/
https://flashcat.cloud/product/nightingale/
https://github.com/ccfos/nightingale