您的位置:首页 > 产品设计 > UI/UE

promethues的一些小知识(三)

2019-08-15 13:37 197 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_45413603/article/details/99631969

一、Pushgateway介绍
Pushgateway是采用被动推送的方式(而不是exporter主动获取)获取监控数据的Prometheus插件
可以单独运行在任何节点
二、Pushgateway的安装和运行和配置
1.Github的地址https://github.com/prometheus/pushgateway
可以单独定义job和targets,不过node是9100端口,而pushgateway是9091
2.pushgateway本身是没有任何抓取数据的功能的,只能被动等待推送
Shell脚本编写方法如下

三、自定义编写脚本发送pushgateway-采集(如果没有刷新到数据,请稍等因为采集数据会有间隔)
1.推送单个数据

echo “cqh_metric 100” | curl --data-binary @- http://192.168.74.229:9091/metrics/job/push

cqh_metric 100 是搜索需要的key
100 值
192.168.74.229:9091 pushgateway的IP和端口
Push 是Prometheus 配置文件中定义的job
于是脚本就可以这么写(切记如果变量得取整,小数无法传递会报错千万注意)

#!/bin/bash
PING=`netstat  -aunpt  | grep -w 9091 | head -1  | awk  -F"[ :]+"  '{print $5}' `
echo "cqh_metric $PING" | curl --data-binary @- http://192.168.74.229:9091/metrics/job/push

2.推送多个数据(多个可以带入变量,变量可以为小数)

cat <<EOF | curl --data-binary @- http://192.168.74.229:9091/metrics/job/push/instance/woshi
> woshi_zong{lable="woshi"}  500
> woshi_1  20
> EOF

脚本如下

#!/bin/bash

A=2.5
B=20
cat <<EOF | curl --data-binary @- http://192.168.74.229:9091/metrics/job/push/instance/woshi
ping1{lable="en"}    $A
ping2              $B
EOF

四、使用pushgateway优缺点
优点:由于可以使用脚本来获取自己想要的数据,所以更加方便更加灵活,
缺点:1.会形成单点瓶颈,加入好多个脚本同时发送给pushgateway的进程,但是一旦这个进程没了,监控数据也就都没了
2.并不能对发送过来的脚本采集数据进行更加智能的判断,加入脚本采集出现了问题,那么一样照单全收发送给prometheus

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: