Skip to content

夜莺-Nightingale

项目介绍

夜莺监控是一款开源云原生观测分析工具,采用 All-in-One 的设计理念,集数据采集、可视化、监控告警、数据分析于一体, 与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。

夜莺最新版本是 V7

架构简介

夜莺

  • 依赖 MySQL 存储各类用户配置,比如告警规则、屏蔽规则、仪表盘,
  • 依赖 Redis 存储一些机器心跳上来的元信息以及 jwt token,除此之外,没有别的依赖。

官网提供两种架构,一种把夜莺作为类似 Grafana(Grafana 侧重看图,夜莺侧重告警),可以接入多种不同的数据源。 另一种为时序数据流经夜莺。

服务部署

由于夜莺依赖mysql和redis,所以需要准备这两个环境。

  • mysql环境
docker run --name=my-db -p3306:3306 -d mysql/mysql-server:5.7
获取临时密码
持久化数据库
-v /opt/mysql/data:/var/lib/mysql
配置文件挂载
-v /opt/data/my.cnf:/etc/my.cnf
docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs
docker exec -it my-db mysql -uroot -p
> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
> create user admin@'%' identified by 'admin';
> grant all privileges on *.* to admin@'%’;
查看创建用户
> select user,host,authentication_string from mysql.user;

重置密码
1.修改mysql skip-grant-tables
2.重启docker restart my-db
3.登陆修改
update mysql.user set authentication_string = password("12121") where user="root";
  • redis环境
shell
docker run --name my-redis -p6379:6379 -d redis

--requirepass 'xxx'
  • nightingale镜像 同步镜像
dockerhub.icu [docker代理]
dockerhub.icu/flashcatcloud/nightingale:latest
docker pull dockerhub.icu/flashcatcloud/nightingale:latest

由于镜像内没有sql语句,需要下载二进制自行下载到构建代码仓库。同时修改配置。

  • 修改Dockerfile
FROM flashcatcloud/nightingale:latest
ENV APP_NAME  n9e
ENV APP_ENV online
COPY etc /app/etc
EXPOSE 17000
CMD ["/app/n9e","-configs=/app/etc"]
  • 修改配置 选择那种部署架构,通过etc/config.toml配置区别。 配置文件中配置 [[Pushgw]], 同时需要注意prometheus数据需要开启--web.enable-remote-write-receiver

具体可以参考 架构简介

参考地址

https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v7/install/intro/