部署Prometheus+Grafana监控平台实践
作者:ICT董老师
可视化监控方案

在宿主机上编写Prometheus配置文件
mkdir /etc/prometheus vi /etc/prometheus/prometheus.yml
文件配置内容如下:
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
使用Docker创建Prometheus容器
docker network create monitoring docker run -d --name=prometheus --net=monitoring -v /etc/prometheus:/etc/prometheus/ -v prometheus-data:/prometheus -p 9090:9090 prom/prometheus:latest
在浏览器中访问“http://<宿主机IP地址>:9090”,可以看到Prometheus的首页。
使用Docker部署Grafana
docker run -d --name=grafana --net=monitoring -v grafana-data:/var/lib/grafana -p 3000:3000 grafana/grafana:latest
在浏览器中访问“http://<宿主机IP地址>:3000”,可以看到Grafana登陆页面,默认用户名和密码均为“admin”,第一次登陆需设置新的密码。然后进入Grafana首页。
在Grafana中添加Prometheus作为数据源
DATA SOURCES->Add your first data source->Prometheus,进入数据源配置页面,在Connection中Prometheus server URL输入Prometheus的访问地址“http://<宿主机IP地址>:9090”,单击Save&test按钮进行保存和测试。添加成功后,可以在Connections中的Data sources查看数据源。
Prometheus监控案例–监控Linux服务器
Node Exporter用于采集和暴露本机的系统性能数据,包括但不限于CPU、内存、硬盘、网络接口等指标。
在监控主机上部署Node Exporter
Node Export支持多种安装方式,包括Docker和二进制。如果目标监控主机已安装Docker,则建议使用Docker容器部署;反之,则使用二进制的方式部署。
下面演示通过二进制方式部署:
在官网上下载Node Exporter安装包
wget https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz tar zxvf node_exporter-1.10.2.linux-amd64.tar.gz mv node_exporter-1.10.2.linux-amd64 /usr/local/node_exporter
使用Systemd管理node_exporter程序,创建服务文件
vi /usr/lib/systemd/system/node_exporter.service
文件配置内容如下:
[Unit] Description=Prometheus Node Exporter After=network.target [Service] Type=simple User=nobody Group=nobody ExecStart=/usr/local/node_exporter/node_exporter Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
启动并设置开机启动
# 重新加载 systemd systemctl daemon-reload # 重置失败计数器 systemctl reset-failed node_exporter # 禁用SELinux setenforce 0 # 启动服务 systemctl start node_exporter # 开机启动 systemctl enable node_exporter
Node Exproter默认监听9100端口,可以通过浏览器访问被监控服务器“http://192.168.1.76:9100/metrics”查看采集的指标数据。
Prometheus添加监控目标
为了将上面的被监控Linux服务器加入Prometheus监控中,需要在Prometheus配置文件(/etc/prometheus/prometheus.yml)中添加监控目标,配置如下
vi /etc/prometheus/prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "Linux-Server"
# metrics_path: '/metrics'
# scheme: http
static_configs:
- targets: ["192.168.1.75:9100","192.168.1.76:9100"]
配置完成后,重启Prometheus容器或者向Prometheus进程发送“SIGHUP”信号以重新加载配置文件:
docker exec -it prometheus kill -HUP 1
在浏览器中访问“http://<宿主机IP地址>:9090”,打开Prometheus的页面,单击导航栏中的“Status->Target health”,可以看到被监控的服务器状态为“UP”,表明已成功监控。
Prometheus会定期收集从“Endpoint”显示的地址中获取指标数据并对该数据进行存储。在页面导航栏“Graph”中,可以使用PromQL查询语句检索存储在Prometheus中的指标数据。
例如,查看与CPU相关的指标,输入“node_cpu_seconds_total{instance=“192.168.1.75:9100”}”即可查询。
Grafana导入仪表盘
在浏览器中访问“http://<宿主机IP地址>:3000”,进入Grafana页面,按以下方式配置:
home->Dashboards->Create dashboard->import dashboard输入仪表盘ID"12633",单击Load按钮加载,进入仪表盘配置界面,在这里设置仪表盘的名称和Prometheus数据源,单击Import完成导入,将看到仪表盘界面。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Nginx使用Prometheus+Grafana实现日志分析与监控
- Spring Boot应用与Prometheus和Grafana整合方案
- mysqld_exporter+Prometheus+Grafana 配置小结
- docker 安装部署 Prometheus 与grafana的详细过程
- Prometheus 和 Grafana 通过nginx-exporter监控nginx的详细步骤
- Springboot搭建JVM监控(Springboot + Prometheus + Grafana)
- Prometheus + Grafana 构建强大的监控和数据可视化系统(最新推荐)
- docker 部署prometheus+grafana的过程详解
