基于夜莺的告警平台安装与使用
将docker-config工程下monitor中的docker-compose.yml拷贝到服务器/home/appManager/exporter/目录下,docker-compose.yml中promtail挂在目录要与promtail.yaml配置文件labels中的__path__对应。夜莺监控(n9e)是一款开源云原生观测分析工具,采用 All-in-One 的设计理念,集数据采集、可
概述
prometheus是一个开源的服务监控系统,可用于收集、存储和查询各种应用指标。与此同时,Prometheus 还提供了强大的数据查询和处理能力。基本原理是通过HTTP协议周期性抓取被监控组件的状态, 任意组件只要提供对应的HTTP接口就可以接入监控. 不需要任何SDK或者其他的集成过程。
官方的介绍就是:Like Prometheus, but for logs,类似于 Prometheus 的日志系统。 用于日志的存储和解析,并提供查询 API 给下游展示。不对日志进行全文索引。通过存储压缩非结构化日志和仅索引元数据,Loki 操作起来会更简单,更省成本。通过使用与 Prometheus 相同的标签记录流对日志进行索引和分组,这使得日志的扩展和操作效率更高。
夜莺监控(n9e)是一款开源云原生观测分析工具,采用 All-in-One 的设计理念,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。
categraf是一个开源的监控采集 Agent,类似 Telegraf、Grafana-Agent、Datadog-Agent,对所有常见监控对象提供高质量的监控数据采集能力,采用了 All-in-one 的设计理念,可以同时支持指标、日志、链路追踪数据的采集。
Promtail 会监视目标日志文件、目录或系统日志流,并将其发送到 Loki 数据源。它还支持标签化日志以使其更易于查询,类似于 Prometheus 的标签数据模型。
grafana作为webUI界面,补偿n9e对于展示层面的短板
Grafana是一种流行的开源数据可视化和监测工具,它提供了许多功能强大的仪表盘和图形来帮助用户更好地理解其数据。

构建Docker网络
docker network create --driver bridge --subnet 172.1.100.0/24 monitor
docker network inspect monitor
以下安装都已172.1.100.0/24 monitor网络环境为例。
如果安装环境已使用对应网段,则可使用其他网段,要注意修改docker-compose.yml中的networks配置。
构建监控服务端工作目录
mkdir -p monitor/prometheus monitor/grafana monitor/loki monitor/etc-nightingale
构建prometheus
cd /home/appManager/monitor/prometheus
chmod -R 777 /home/appManager/monitor/prometheus/data
将docker-config工程下prometheus的yml文件放到prometheus目录中,并修改line10,监听本地端口
构建loki
cd /home/appManager/monitor/loki
mkdir conf index index-cache chunks rules
chmod -R 777 index index-cache chunks rules
cd /home/appManager/monitor/loki/conf
将docker-config工程下loki的local-config.yaml放在loki/conf目录中,修改line11,绑定本机ip
构建n9e
选择一台mysql机器,执行gitlab中docker-config服务下n9e的ini_sql/n9e.sql
cd /home/appManager/monitor/etc-nightingale/
将docker-config工程下n9e的内容放在etc-nightingale目录中
构建grafana
cd /home/appManager/monitor/grafana
chmod -R 777 /home/appManager/monitor/grafana/grafana-storage
将docker-config工程下grafana的ini文件放到grafana目录中,不用修改
启动监控服务
使用docker-compose.yml拷贝到服务器/home/appManager/monitor/目录下
docker compose up prometheus -d
docker compose up nightingale -d
docker-compose.yml文件可以在附件中获取
- 访问 http://192.170.1.97:3100/metrics 验证loki是否已经安装好;(无账密)
- 访问 http://192.170.1.97:9080/graph 验证prometheus是否安装好;(无账密)
- 访问 http://192.170.1.97:17000/ 验证nightingale是否安装好;
- 访问 http://192.170.1.97:3000/login 验证grafana是否安装好;
构建采集客户端工作目录
如果客户端没有Docker网络请参考【构建Docker网络】
mkdir -p exporter/etc-categraf exporter/promtail
构建categraf
cd /home/appManager/exporter/etc-categraf/
将docker-config工程下categraf/common的内容放在etc-categraf目录中,用于采集服务器信息,
然后根据客户端上安装了哪些中间件到categraf/special中去人工选择放在etc-categraf目录中。(比如:客户端上安装了mysql就把categraf/special/input.mysql放在etc-categraf目录中)
修改config.toml配置文件,line11修改hostname为部署机器ip不然只会显示容器内的地址;line34\line57\line81,绑定n9e地址;
构建promtail
cd /home/appManager/exporter/promtail/
将docker-config工程下promtail的配置文件promtail.yaml放在promtail目录中
修改promtail.yaml配置文件,line11,指向loki地址
修改promtail.yaml配置文件中的job_name,还有labels中的__path__要与后面docker-compose中的对应
启动采集服务
将docker-config工程下monitor中的docker-compose.yml拷贝到服务器/home/appManager/exporter/目录下,docker-compose.yml中promtail挂在目录要与promtail.yaml配置文件labels中的__path__对应
配置n9e监控告警
2、配置钉钉机器人,直接参照Nightingale 夜莺监控系统 - 告警篇(3)_夜莺告警-CSDN博客
采集指标
更多推荐



所有评论(0)