文章目录
参考文章:
基于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配置监控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
检查配置文件的语法是否正确
./promtool check config prometheus.yml
写服务发现文件
vim sd_config/node.yml
- targets:
- 172.16.38.238:9100
重启服务
在WEB界面能看到如下则配置成功
四、查看资源使用率
1.CPU5分钟内的平均利用率
100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100
2.内存使用率
100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)/node_memory_MemTotal_bytes*100
3.磁盘使用率
100 -node_filesystem_free_bytes{mountpoint="/",fstype=~"xfs|ext4"} /node_filesystem_size_bytes{mountpoint="/",fstype=~"xfs|ext4"} *100
五、部署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
登录后会要求改密码
3.添加数据源
填入Prometheus的访问地址
在数据源中能看到Prometheus
4.自定义仪表盘
回到Home界面
填入CPU使用率的promQL语句,稍等一会就能看到图表有数据
100 - avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100
修改图表名字
点右上角的保存
填入仪表盘的名字
在刚才创建的仪表盘下添加一个监控内存使用率的图表
点击右上角的Add panel
以同样的方法添加即可
100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes)/node_memory_MemTotal_bytes*100
右边可以设置查看的时间范围,默认为最近6小时
5.导入官方仪表盘
(1)在线导入
稍等一会
炫酷画面登场
(2)离线导入
下载仪表盘的Json文件: https://grafana.com/grafana/dashboards/9276
在导入仪表盘时选择右边的Upload.json file
6.删除仪表盘
点击右上角的设置
删除完成