文章目录



参考文章:
​​​基于docker 搭建Prometheus+Grafana​

一、安装Prometheus

二、安装node_exporter收集器

​二进制安装​

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.1.linux-amd64 /usr/local/bin/node_exporter
/usr/local/bin/node_exporter/node_exporter &

​docker安装​

docker run -d --net="host" --name node_exporter --restart=unless-stopped -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter

WEB访问:http://172.16.38.238:9100/metrics
Prometheus+Grafana监控Linux基础资源_数据源

三、在prometheus配置监控node_exporter所在的主机

采用服务发现功能

cd /usr/local/bin/prometheus/
mkdir sd_config
vim prometheus.yml

添加配置文件

- job_name: 'node'
file_sd_configs:
- files: ['/usr/local/bin/prometheus/sd_config/node.yml']
refresh_interval: 5s

Prometheus+Grafana监控Linux基础资源_linux_02
检查配置文件的语法是否正确

./promtool check config prometheus.yml

写服务发现文件
vim sd_config/node.yml

- targets:
- 172.16.38.238:9100

重启服务
在WEB界面能看到如下则配置成功
Prometheus+Grafana监控Linux基础资源_docker_03

四、查看资源使用率

1.CPU5分钟内的平均利用率

100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100

Prometheus+Grafana监控Linux基础资源_devops_04

2.内存使用率

100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)/node_memory_MemTotal_bytes*100

Prometheus+Grafana监控Linux基础资源_devops_05

3.磁盘使用率

100 -node_filesystem_free_bytes{mountpoint="/",fstype=~"xfs|ext4"} /node_filesystem_size_bytes{mountpoint="/",fstype=~"xfs|ext4"} *100

Prometheus+Grafana监控Linux基础资源_linux_06

五、部署grafana实现图形化监控

1.安装grafana

mkdir -p /data/grafana-storage
chown -R 472:root /data/grafana-storage/ #472是容器中grafana的UID
docker run -d --name grafana --restart=unless-stopped -p 3000:3000 \
-v /data/grafana-storage:/var/lib/grafana \
-v /etc/localtime:/etc/localtime \
grafana/grafana

2.WEB访问

​http://172.16.38.246:3000/login​​ 用户名/密码:admin/admin
登录后会要求改密码

Prometheus+Grafana监控Linux基础资源_docker_07

3.添加数据源

Prometheus+Grafana监控Linux基础资源_devops_08
Prometheus+Grafana监控Linux基础资源_devops_09
填入Prometheus的访问地址
Prometheus+Grafana监控Linux基础资源_docker_10
Prometheus+Grafana监控Linux基础资源_devops_11
在数据源中能看到Prometheus
Prometheus+Grafana监控Linux基础资源_数据源_12

4.自定义仪表盘

回到Home界面
Prometheus+Grafana监控Linux基础资源_devops_13
Prometheus+Grafana监控Linux基础资源_linux_14
填入CPU使用率的promQL语句,稍等一会就能看到图表有数据

100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100

Prometheus+Grafana监控Linux基础资源_linux_15
修改图表名字
Prometheus+Grafana监控Linux基础资源_docker_16
点右上角的保存
Prometheus+Grafana监控Linux基础资源_devops_17

填入仪表盘的名字
Prometheus+Grafana监控Linux基础资源_linux_18
在刚才创建的仪表盘下添加一个监控内存使用率的图表
点击右上角的Add panel

Prometheus+Grafana监控Linux基础资源_devops_19
Prometheus+Grafana监控Linux基础资源_数据源_20
以同样的方法添加即可

100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)/node_memory_MemTotal_bytes*100

右边可以设置查看的时间范围,默认为最近6小时
Prometheus+Grafana监控Linux基础资源_数据源_21

5.导入官方仪表盘

(1)在线导入

Prometheus+Grafana监控Linux基础资源_linux_22
Prometheus+Grafana监控Linux基础资源_linux_23
Prometheus+Grafana监控Linux基础资源_数据源_24
稍等一会
Prometheus+Grafana监控Linux基础资源_devops_25
炫酷画面登场
Prometheus+Grafana监控Linux基础资源_devops_26

(2)离线导入

下载仪表盘的Json文件: https://grafana.com/grafana/dashboards/9276
Prometheus+Grafana监控Linux基础资源_docker_27
在导入仪表盘时选择右边的Upload.json file
Prometheus+Grafana监控Linux基础资源_docker_28
Prometheus+Grafana监控Linux基础资源_devops_29
Prometheus+Grafana监控Linux基础资源_数据源_30
Prometheus+Grafana监控Linux基础资源_devops_31

6.删除仪表盘

点击右上角的设置
Prometheus+Grafana监控Linux基础资源_devops_32
Prometheus+Grafana监控Linux基础资源_devops_33
Prometheus+Grafana监控Linux基础资源_linux_34
删除完成