pushgateway

Pushgateway 简介

Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是:

  • Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。
  • 在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。

由于以上原因,不得不使用 pushgateway,但在使用之前,有必要了解一下它的一些弊端:

  • 将多个节点数据汇总到 pushgateway, 如果 pushgateway 挂了,受影响比多个 target 大。
  • Prometheus 拉取状态 up 只针对 pushgateway, 无法做到对每个节点有效。
  • Pushgateway 可以持久化推送给它的所有监控数据。
    因此,即使你的监控已经下线,prometheus 还会拉取到旧的监控数据,需要手动清理 pushgateway 不要的数据。

Pushgateway使用方法

usage: pushgateway [<flags>]
Flags:
      --web.listen-address=":9091"  		监听Web界面,API和遥测的地址。
      --web.telemetry-path="/metrics"  		公开metrics的路径。
      --web.external-url=        			可从外部访问Pushgateway的URL.
      --web.route-prefix=""      			Web端点内部路由的前缀。 默认为--web.external-url的路径.
      --persistence.file=""      			归档以保留metrics。 如果为空,则metrics仅保留在内存中.
      --persistence.interval=5m  			写入持久性文件的最小间隔。
      --log.level="info"         			仅记录具有给定严重性或更高严重性的消息。 有效级别:[debug, info, warn, error, fatal]
      --log.format="logger:stderr"  		设置日志目标和格式。 示例:“ logger:syslog?appname = bob&local = 7”或“ logger:stdout?json = true”
      --version                  			显示应用程序版本。

pushgateway每次只向Prometheus返回最后一次推送的数据

  • pushgateway并不是将Prometheus的pull改成了push,它只是允许用户向他推送指标信息,并记录。而Prometheus每次从 - pushgateway拉取的数据并不是期间用户推送上来的所有数据,而是最后一次push上来的数据。所以设置推送时间与Prometheus拉取的时间相同(<=)一般是较好的方案。

注意:如果客户端一直没有推送新的指标到pushgateway,那么Prometheus将始终拉取最后push上来的数据。
可以通过命令删除指标:
Delete all metrics in the group identified by {job=“some_job”,instance=“some_instance”}:
curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job/instance/some_instance

Delete all metrics in the group identified by {job=“some_job”} (note that this does not include metrics in the {job=“some_job”,instance=“some_instance”} group from the previous example, even if those metrics have the same job label):
curl -X DELETE http://pushgateway.example.org:9091/metrics/job/some_job

Delete all metrics in all groups (requires to enable the admin API via the command line flag --web.enable-admin-api):
curl -X PUT http://pushgateway.example.org:9091/api/v1/admin/wipe

推送到pushgateway的方法

  • push:删除原有的所有指标并推送新的指标,对应put方法
  • pushadd:更新已有的所有指标,对应post方法
  • delete:删除指标,对应delete方法
  • 1
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 5
    评论
<p> <span style="color:#000000;"><span>本套课程由浅入深地对</span><span>Prometheus</span><span>进行了全方位的介绍,内容通俗易懂,理论与实践相结合。首先从监控体系讲起,介绍了关于监控的各种经典理论和方法。然后循序渐进地介绍了</span><span>Prometheus</span><span>的各个功能组件和配置方法,包括监控主机和容器、服务发现、警报管理,以及</span><span>Kubernetes</span><span>和运行其上的应用程序的监控。后面讲解了</span><span>kube-prometheus</span><span>的详细用法。</span></span> </p> <p> <br /></p> <p> <span style="color:#333333;">主要讲解prometheus、alertmanager的以下几个方面:</span> </p> <p> <span style="color:#333333;"> 1. Prometheus</span><span style="color:#333333;">服务器部署及PromQL的查询及使用案例</span> </p> <p> <span style="color:#333333;"> 2. Alertmanager</span><span style="color:#333333;">的使用详解</span> </p> <p> <span style="color:#333333;"> 3. 常见的日志告警,如邮件、钉钉、微信等</span> </p> <p> <span style="color:#333333;"> 4. 在kubernetes中监控的手工部署、应用监控。</span> </p> <p> <span style="color:#333333;"> 5. kube-prometheus</span><span style="color:#333333;">在Kubernetes的应用,对k8s的各个组件的监控、告警、和对部署在k8s中应用的监控。</span> </p> <p> <br /></p> <p> <span style="color:#FF0000;">注意:<span>本课程学习需要具有一定的Linux基础,网络基础,至少需要您了解网络七层协议,路由等基础知识,并掌握Docker和k8s相关知识点。</span></span> </p> <p> <br /></p> <p> <img src="https://img-bss.csdn.net/202004060432565966.png" alt="" /></p> <p> <img src="https://img-bss.csdn.net/202004060434481460.png" alt="" /></p> <p> <img src="https://img-bss.csdn.net/202004060435114057.png" alt="" /></p>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 5

打赏作者

奔跑的胖小孩

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值