一、搭建Prometheus | Promethues+Grafana监控方案
【Promethues+Grafana监控方案】文章
一、搭建Prometheus
二、搭建告警通知
三、监控数据可视化
1. 写在前面
当我们爆肝出程序部署上线后,程序运行的状况,可能成为我们迫切需要关注的东西,比如 Java 的 QPS、JVM 内存情况,在者,服务器的 CPU、内存、磁盘使用情况,每次都通过 shell 手动查看,就太麻烦了,不方便。
今天就整理一套还不错的服务监控方案(Promethues + Grafana),使用 Docker 快速搭建,实现:
服务器 CPU、内存等指标使用率过高即时通过邮件/钉钉进行报警通知;
可视化监控服务器的运行指标,包括:CPU、内存、磁盘、IO等使用情况;
可视化监控 Spring Boot 程序的运行指标,包括内存、CPU使用情况;
Spring Boot 程序离线后,即时通过钉钉进行报警通知;
涉及程序:
下面以及后续的文章,都将用 Docker 进行搭建,假设你现在已经具备 Docker 的基础使用能力。
2. 搭建 Prometheus
2-1. 1. 准备
创建存放 Prometheus 数据文件的目录:
mkdir -p ~/docker/prometheus/data
chmod 777 ~/docker/prometheus/data
mkdir -p ~/docker/prometheus/rules
创建 Prometheus 配置文件:
vim ~/docker/prometheus/prometheus.yml
# 全局配置
global:
scrape_interval: 15s # 每次数据收集的间隔
evaluation_interval: 1m # 规则扫描时间间隔
#scrape_timeout: 30s # 超时时间
# Alertmanager 告警程序配置
alerting:
alertmanagers:
- static_configs:
- targets:
#- 127.0.0.1:9093
# 评估(告警)规则配置
rule_files:
- "rules/*_rule.yml"
# 监控项配置
scrape_configs:
2-2. 2. 安装
执行安装命令:
sudo docker run -d \
--name prometheus \
-p 9090:9090 \
-v ~/docker/prometheus/:/etc/prometheus/ \
-v ~/docker/prometheus/data:/prometheus \
prom/prometheus
2-3. 3. 访问
http://服务器IP:9090
3. 安装 node-exporter
上面,已经搭建好 Prometheus 程序,现在给服务器安装 node-exporter 来采集服务器的各项指标。
执行安装命令:
docker run -d --name node_exporter -p 9100:9100 prom/node-exporter
访问:http://服务器IP:9100/metrics
4. 让 Prometheus 监控服务器
服务器安装好 node-exporter 后,就可以将其加入到 Prometheus 中进行指标数据的采集与监控。
编辑 Prometheus 配置文件,在 scrape_configs
节点下增加如下配置:
vim ~/docker/prometheus/prometheus.yml
# 监控项配置
scrape_configs:
# 服务器
- job_name: 'host-exporter '
static_configs:
- targets: ['服务器IP:9100']
随后重启 Prometheus:docker restart prometheus
访问:http://服务器IP:9090/targets