如何将 Spring 批量指标发布到 Prometheus Gateway

How to publish Spring Batch Metrics to Prometheus Gateway

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

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

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

如前所述here

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

  1. 这两种方法有什么区别吗?
  2. 在第二种方法中,当我们只需要默认指标时如何编写它?Pushgatewayurl 很好,我明白了,但是如果我有很多工作,在工作名称和分组键中设置什么。?
  1. Is there any difference in these two approaches?

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

  1. In second approach how to write it when all we need is default metrics?Pushgatewayurl is fine ,I understood, but if I have dozen of jobs, what to set in jobname and grouping key.?

Spring 批处理指标由作业名称、步骤名称等标记,请参阅 Built-in Metrics table 中的 Tags 列。因此,即使您有多个工作,指标也会有所不同。您可以使用相应的标签在 Prometheus 端进行过滤。