Pushgateway 接入

最近更新时间:2024-05-23 15:01:01

我的收藏

使用场景

PushGateway 是 Prometheus 生态中的一个重要一员,它允许任何客户端向其 Push 符合规范的自定义监控指标,再结合 Prometheus 统一收集监控。Prometheus Pushgateway 用于接收短期任务的指标数据,这些任务通过服务发现的监控系统无法直接监控。Pushgateway允许临时性的工作(如批处理作业)将指标推送到一个中央位置,而无需直接暴露其指标。这些数据可以被Prometheus服务器拉取和进行持久化存储。

一键安装

2. 在左侧菜单栏中单击 Prometheus 监控。
3. 在实例列表中,选择对应的 Prometheus 实例。
4. 进入实例详情页,单击数据采集 > 集成中心
5. 在集成中心搜索 Pushgateway > 一键安装 开始进行对应服务的探测配置。



6. 新建 Pushgateway 采集。


配置说明
参数
说明
名称
集成名称,命名规范如下:
名称具有唯一性。
名称需要符合下面的正则:'^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$'。
采集超时
Pushgateway 采集超时,时间格式,不能大于采集间隔。
采集间隔
Pushgateway 采集间隔,时间格式。
CPU/核
Pushgateway CPU 核数限制,不能大于64。
内存/Gi
Pushgateway 内存限制,配置时需带上单位Gi,不能大于512Gi。
7. 在已集成列表中获取 Pushgateway 地址信息。




数据推送

Pushgateway 安装成功之后能获取到交互用的地址,使用该地址即可进行 Pushgateway 相关操作。
1. 获取组件状态:
curl -X GET http://10.*.*.*:8080/api/v1/status
2. 向 {job="some_job"} 添加单条数据:
curl --location --request POST '10.*.*.*:8080/metrics/job/some_job' \\
--header 'Content-Type: text/plain' \\
--data 'some_metric 3.14
'
3. 添加复杂数据到具体 instance 中:
curl --location --request PUT '10.*.*.*:8080/metrics/job/some_job/instance/some_instance' \\
--header 'Content-Type: text/plain' \\
--data '# TYPE some_metric counter
some_metric{label="val1"} 42
# TYPE another_metric gauge
# HELP another_metric Just an example.
another_metric 2398.283
'
4. 删除 {job="some_job",instance="some_instance"} 下的所有数据:
curl -X DELETE http://10.*.*.*:8080/metrics/job/some_job/instance/some_instance
5. 删除 {job="some_job"} 下的所有数据(不包括 {job="some_job",instance="some_instance"} 下的数据):
curl -X DELETE http://10.*.*.*:8080/metrics/job/some_job

查看监控

前提条件

Prometheus 实例已绑定 Grafana 实例。

操作步骤

1. 登录 Prometheus 监控服务控制台,选择对应 Prometheus 实例进入管理页面。
2. 在实例基本信息页面,找到绑定的 grafana 地址,打开并登录,然后即可在 Explore 中查看推送的指标,也可新建相应的面板查看指标: