Prometheus pushgateway的使用详解

网友投稿 1663 2022-11-22

Prometheus pushgateway的使用详解

Prometheus pushgateway的使用详解

目录1.介绍2.安装3.数据推送3.1 向 {job=“some_job”} 添加单条数据:3.2添加更多更复杂数据,通常数据会带上 instance, 表示来源位置:3.3删除某个组下的某实例的所有数据:4.集成prometheus总结

1.介绍

由于网络问题或者安全问题,可能我们的数据无法直接暴露出一个entrypoint 给prometheus采集。 这个时候可能就需要一个pushgateway来作为中间者完成中转工作。 prometheus还是采用pull方式来采集pushgateway的数据,我们的采集端通过push方式把数据push给pushgateway,来完成数据的上报。

2.安装

docker pull prom/pushgateway

docker run -d -p 9091:9091 prom/pushgateway

3.数据VGsGOsqPBL推送

正常情况我们会使用 Client SDK 推送数据到 pushgateway, 但是我们还可以通过 API 来管理, 例如:

3.1 向 {job=“some_job”} 添加单条数据:

echo "some_metric 3.14" | curl --data-binary @- http://10.6.8.184:9091/metrics/job/some_job

3.2添加更多更复杂数据,通常数据会带上 instance, 表示来源位置:

cat <

some_metric{label="val1"} 42

another_metric 2398.283

EOF

3.3删除某个组下的某实例的所有数据:

curl -X DELETE http://10.6.8.184:9091/metrics/job/some_job/instance/some_instance

curl -X DELETE http://10.6.8.184:9091/metrics/job/some_job

4.集成prometheus

修改prometheus.yml 加入如下片段

- job_name: "custom-memory-pushgateway"

#honor_labels: true

static_configs:

- targets: ["10.6.8.184:9http://091"]

总结

可以发现 pushgateway 中的数据我们通常按照 job 和 instance 分组分类,所以这两个参数不可缺少。

因为 Prometheus 配置 pushgateway 的时候,也会指定 job 和 instance, 但是它只表示 pushgateway 实例,不能真正表达收集数据的含义。所以在 prometheus 中配置 pushgateway 的时候,需要添加 honor_labels: true 参数,

从而避免收集数据本身的 job 和 instance 被覆盖。

注意,为了防止 pushgateway 重启或意外挂掉,导致数据丢失,我们可以通过 -persistence.file 和 -persistence.interval 参数将数据持久化下来。

some_metric{label="val1"} 42

another_metric 2398.283

EOF

3.3删除某个组下的某实例的所有数据:

curl -X DELETE http://10.6.8.184:9091/metrics/job/some_job/instance/some_instance

curl -X DELETE http://10.6.8.184:9091/metrics/job/some_job

4.集成prometheus

修改prometheus.yml 加入如下片段

- job_name: "custom-memory-pushgateway"

#honor_labels: true

static_configs:

- targets: ["10.6.8.184:9http://091"]

总结

可以发现 pushgateway 中的数据我们通常按照 job 和 instance 分组分类,所以这两个参数不可缺少。

因为 Prometheus 配置 pushgateway 的时候,也会指定 job 和 instance, 但是它只表示 pushgateway 实例,不能真正表达收集数据的含义。所以在 prometheus 中配置 pushgateway 的时候,需要添加 honor_labels: true 参数,

从而避免收集数据本身的 job 和 instance 被覆盖。

注意,为了防止 pushgateway 重启或意外挂掉,导致数据丢失,我们可以通过 -persistence.file 和 -persistence.interval 参数将数据持久化下来。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用css3实现Social Media Buttons
下一篇:css3中transform属性及用法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~