问题描述
我有一个春季批处理作业,我想按照建议将指标推送到 Prometheus here
我需要通过测微计只推送 Spring 批处理给出的默认指标。有一种简单的方法,我不需要任何东西,只需添加以下依赖项:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_pushgateway</artifactId>
</dependency>
如前所述here
但第二种方式是设置 PushGateway 服务器,然后编写 Configuration Class
解决方法
- 这两种方法有什么区别吗?
不,没有区别。请注意,并非所有 Spring Batch 用户都是 Spring Boot 用户。这就是 Spring Batch 存储库中的示例展示如何配置将指标推送到网关的任务的原因。现在,如果您使用 Spring Boot,则不必编写该类,因为 Spring Boot 会自动配置等效项。
- 在第二种方法中,当我们只需要默认指标时如何编写它?Pushgatewayurl 很好,我理解,但是如果我有十几个作业,那么在作业名称和分组键中设置什么。?
Spring Batch 指标按作业名称、步骤名称等进行标记,请参阅 Built-in Metrics 表中的 Tags
列。因此,即使您有多个工作,指标也会有所不同。可以在 Prometheus 端使用相应的标签进行过滤。