微前端架构如何改变企业的开发模式与效率提升
3646
2022-09-04
Prometheus pushgateway 介绍与使用
Push Gateway:短期存储指标数据。主要用于临时性的任务,各个目标主机可以上报数据到pushgateway,,然后prometheus server统一从pushgateway拉取数据
1.Pushgateway简介
Pushgateway是prometheus的一个组件,prometheus server默认是通过exporter主动获取数据(默认采取pull拉取数据),pushgateway则是通过被动方式推送数据到prometheus server,用户可以写一些自定义的监控脚本把需要监控的数据发送给pushgateway, 然后pushgateway再把数据发送给Prometheus server
总结就是pushgateway是普罗米修斯的一个组件,是通过被动的方式将数据上传至普罗米修斯。这个可以解决不在一个网段的问题。
2.Pushgateway优点
Prometheus 默认采用定时pull 模式拉取targets数据,但是如果不在一个子网或者防火墙,prometheus就拉取不到targets数据(普罗米修斯和target不在一个网段,那么是拉取不到的),所以可以采用各个target往pushgateway上push数据,然后prometheus去pushgateway上定时pull数据在监控业务数据的时候,需要将不同数据汇总, 汇总之后的数据可以由pushgateway统一收集,然后由 Prometheus 统一拉取。
解决不在同一网段的问题,pushgateway就相当于一个中间网关。相当于pushgateway要和target可以通同时和普罗米修斯也可以通。
3.pushgateway缺点
Prometheus拉取状态只针对 pushgateway, 不能对每个节点都有效;Pushgateway出现问题,整个采集到的数据都会出现问题监控下线,prometheus还会拉取到旧的监控数据,需要手动清理 pushgateway不要的数据。
4.安装pushgateway,在k8s-node节点操作
在k8s-node节点操作
docker pull prom/pushgatewaydocker run -d --name pushgateway -p 9091:9091 prom/pushgateway
在浏览器访问node ip :9091出现如下ui界面
5.修改prometheus-cfg.yaml文件,在k8s-master节点操作
添加如下job
- job_name: 'pushgateway' scrape_interval: 5s static_configs: - targets: ['192.168.100.6:9091'] honor_labels: true
6.推送指定的数据格式到pushgateway
现在普罗米修斯还采集不到任何和pushgateway相关的数据,因为我们需要将数据上报到pushgateway,普罗米修斯才可以采集到,所以现在需要将数据推送到pushgateway。
metric指标名 3.6指标值 test_job这个是job的名字 这些都是固定的格式
[root@node1 ~]# echo " metric 3.6" | curl --data-binary @- 表示发送二进制数据,注意:它是使用POST方式发送的!
添加复杂数据
[root@node1 ~]# cat <
删除某个组下某个实例的所有数据
curl -X DELETE -X DELETE ~]# cat push.sh node_memory_usages=$(free -m | grep Mem | awk '{print $3/$2*100}')job_name="memory"instance_name="192.168.100.6"cat < 打开pushgateway web ui界面,可看到如下: 打开prometheus ui界面,可看到如下memory_usage的metrics指标 设置计划任务,每分钟定时上报数据 crontab -e*/1 * * * * /root/push.sh 注意:从上面配置可以看到,我们上传到pushgateway中的数据有job也有instance,而prometheus配置pushgateway这个job_name中也有job和instance,这个job和instance是指pushgateway实例本身,添加 honor_labels: true 参数, 可以避免promethues的targets列表中的job_name是pushgateway的 job 、instance 和上报到pushgateway数据的job和instance冲突。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~