首页 > 解决方案 > 如何将 Spring Batch Metrics 发布到 Prometheus 网关

问题描述

我有一个春季批处理作业,我想按照此处的建议将指标推送到 Prometheus

我需要通过千分尺仅推送 Spring 批处理给出的默认指标。有一种简单的方法,我不需要任何东西,只需添加以下依赖项:

<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_pushgateway</artifactId>
</dependency>

正如这里提到的

但是第二种方法是设置 PushGateway 服务器,然后编写Configuration Class

  1. 这两种方法有什么区别吗?
  2. 在第二种方法中,当我们只需要默认指标时如何编写它? Pushgatewayurl 很好,我理解,但是如果我有十几个工作,在工作名称和分组键中设置什么。?

标签: springspring-batchprometheusmetricsprometheus-pushgateway

解决方案


  1. 这两种方法有什么区别吗?

不,没有区别。请注意,并非所有 Spring Batch 用户都是 Spring Boot 用户。这就是为什么 Spring Batch 存储库中的示例显示了如何配置将指标推送到网关的任务。现在,如果您使用 Spring Boot,则不必编写该类,因为 Spring Boot 会自动配置等效类。

  1. 在第二种方法中,当我们只需要默认指标时如何编写它? Pushgatewayurl 很好,我理解,但是如果我有十几个工作,在工作名称和分组键中设置什么。?

Spring Batch 指标由作业名称、步骤名称等标记,请参见内置指标Tags表中的列。因此,即使您有多个工作,指标也会不同。您可以使用相应的标签在 Prometheus 端进行过滤。


推荐阅读