一、搭建Prometheus | Promethues+Grafana监控方案


编程3937 阅0 评
【Promethues+Grafana监控方案】文章
一、搭建Prometheus
二、搭建告警通知
三、监控数据可视化

Hi, guys!

写在前面

当我们使用生命爆肝出程序部署上线后,程序运行的状况,可能成为我们迫切需要关注的东西,比如Java的QPS、JVM内存情况,在者,服务器的CPU、内存、磁盘使用情况,每次都通过shell手动查看,就太麻烦了,不方便。

苗子今天就整理一套还不错的服务监控方案(Promethues + Grafana),使用 Docker 快速搭建,实现:

1. 服务器 CPU、内存等指标使用率过高即时通过邮件/钉钉进行报警通知;
2. 可视化监控服务器的运行指标,包括:CPU、内存、磁盘、IO等使用情况;
3. 可视化监控 Spring Boot 程序的运行指标,包括内存、CPU使用情况;
4. Spring Boot 程序离线后,即时通过钉钉进行报警通知;

涉及程序:

程序描述
Prometheus普罗米修斯主程序
AlertManager普罗米修斯告警程序
PrometheusAlert告警中心消息转发
Grafana监控数据可视化展示程序
node_exporter主机各项指标采集程序

下面以及后续的文章,都将用 Docker 进行搭建,苗子假设你现在已经具备 Docker 的基础使用能力。

搭建 Prometheus

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. 安装

执行安装命令:

sudo docker run -d \
    --name prometheus \
    -p 9090:9090 \
    -v ~/docker/prometheus/:/etc/prometheus/ \
    -v ~/docker/prometheus/data:/prometheus \
    prom/prometheus

3. 访问

http://服务器IP:9090

Prometheus

安装 node-exporter

上面,已经搭建好 Prometheus 程序,现在给服务器安装 node-exporter 来采集服务器的各项指标。

执行安装命令:

docker run -d --name node_exporter -p 9100:9100 prom/node-exporter

访问:http://服务器IP:9100/metrics

让 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

targets

最后更新 2021-09-30
评论 ( 0 )
OωO
隐私评论