prometheus+grafana监控Linux之pushgateway自定义监控(九)

prometheus+grafana监控Linux之pushgateway自定义监控(九)

一、使用场景
当某些特定数据能在linux中用命令查出来时,且没有合适的exporter软件时,可以用pushgateway来采集数据,推送到Prometheus上;比如说监控Linux下一个具体目录的大小
二、pushgateway安装(默认端口9091)
下载地址https://prometheus.io/download/
docker 版安装

#docker load -i pushgateway.tar
#docker run -d -p 9091:9091 --name=pushgateway prom/pushgateway:latest

浏览器访问http://pushgatewayIP:9091/metrics验证是否安装成功
三、监控自定义(jiankong/app)文件夹大小,并推送到prometheus中
创建一个shell脚本dir.sh

#vim dir.sh

脚本文件如下:

#!/bin/bash
#要监控的文件夹(以/ /jiankong/app为例,实际中按照需要进行修改)
dir_size=`du -shm /jiankong/app | awk '{print $1}'`
#推送到prometheus中(前提是配置好了prometheus.yml)
echo dir2 $dir_size | curl --data-binary @- http://localhost:9091/metrics/job/pushgateway

保存完脚本文件后

#chmod 777 dir.sh
#crontab -e
加入以下内容(定时任务,每分钟执行一次)
*/1 * * * * bash /jiankong/app/dir.sh
保存退出

验证:访问http://Prometheus IP:9090/ graph,输入dir2,看是否有结果,或者访问http://pushgatewayIP:9091/metrics,查看有无dir2的信息
prometheus+grafana监控Linux之pushgateway自定义监控(九)_第1张图片
prometheus+grafana监控Linux之pushgateway自定义监控(九)_第2张图片
四、脚本解释
echo dir2 $dir_size | curl --data-binary @- http://localhost:9091/metrics/job/pushgateway
中,dir2为推送到prometheus的key值,是保存到prometheus数据库的依据,value值必须为数字。http://pushgatewayIP:9091/metrics/job/job_name的,与prometheus.yml中job_name的名字保持一致

你可能感兴趣的:(运维,prometheus)