如何将 Spring Batch Metrics 发布到 Prometheus 网关
Posted
技术标签:
【中文标题】如何将 Spring Batch Metrics 发布到 Prometheus 网关【英文标题】:How to publish Spring Batch Metrics to Prometheus Gateway 【发布时间】:2021-06-15 03:11:05 【问题描述】:我有一个春季批处理作业,我想按照建议将指标推送到 Prometheus here
我需要通过千分尺仅推送 Spring 批处理给出的默认指标。有一种简单的方法,我不需要任何东西,只需添加以下依赖项:
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_pushgateway</artifactId>
</dependency>
如上所述here
但是第二种方式是设置PushGateway服务器然后写Configuration Class
-
这两种方法有什么区别吗?
在第二种方法中,当我们只需要默认指标时如何编写它?Pushgatewayurl 很好,我理解,但是如果我有十几个作业,在作业名和分组键中设置什么?
【问题讨论】:
【参考方案1】:这两种方法有什么区别吗?
不,没有区别。请注意,并非所有 Spring Batch 用户都是 Spring Boot 用户。这就是 Spring Batch 存储库中的示例显示如何配置将指标推送到网关的任务的原因。现在,如果您使用 Spring Boot,则不必编写该类,因为 Spring Boot 会自动配置等效类。
在第二种方法中,当我们只需要默认指标时如何编写它?Pushgatewayurl 很好,我理解,但是如果我有十几个作业,在作业名和分组键中设置什么?
Spring Batch 指标按作业名称、步骤名称等标记,请参阅Built-in Metrics 表中的Tags
列。因此,即使您有多个工作,指标也会不同。您可以使用相应的标签在 Prometheus 端进行过滤。
【讨论】:
以上是关于如何将 Spring Batch Metrics 发布到 Prometheus 网关的主要内容,如果未能解决你的问题,请参考以下文章
Spring Batch:如何将 jobParameters 传递给自定义 bean?
Spring Batch - 如何将字符串从文件转换为日期?
如何将文件名输入到 Spring Batch 的 Item Reader 或 Item Processor 中?
如何在 Spring Batch 中使用 Spring 事务支持