Quarkus - 将千分尺指标推送到普罗米修斯

Posted

技术标签:

【中文标题】Quarkus - 将千分尺指标推送到普罗米修斯【英文标题】:Quarkus - Pushing Micrometer metrics to prometheus 【发布时间】:2021-11-19 07:34:01 【问题描述】:

我已经阅读了https://quarkus.io/guides/micrometer 的指南。我想捕获一个基本指标,告诉我一个特定端点被调用了多少次,并且我使用了MeterRegistry

registry.counter("request").increment();

我可以在 http://localhost:8080/hello/q/metrics 看到这个指标。现在我想将此指标推送到 prometheus,但我找不到任何指南,其中显示了如何将指标与 prometheus 注册/集成。理想情况下,我想将它们推到石墨上,但这不受支持。所以我想知道如何推送这些指标,以便在 Grafana 中可视化它们。

【问题讨论】:

使用 Prometheus,您无需推动,而是拉动。您需要配置一个抓取点:docs 你想要推送到不受支持的石墨是什么意思? 也许通过 Graphite 协议推送到 VictoriaMetrics 是您想要的?见these docs。然后可以通过Prometheus datasource in Grafana查询推送的数据。 【参考方案1】:

一些东西(上面还集成了 cmets)。

开箱即用(除非您将其关闭),所有端点请求都已使用名为“http.server.requests”的计时器进行测量,如指南中所述:https://quarkus.io/guides/micrometer#review-automatically-generated-metrics。如果您查看 prometheus 输出(使用 /q/metrics 端点),您将看到 http_server_requests_seconds_count 指示您的端点已被调用多少次(URL 在标签中)。

Quarkiverse 中有一个石墨扩展。将石墨扩展添加到您的 pom:

<dependency>
    <groupId>io.quarkiverse.micrometer.registry</groupId>
    <artifactId>quarkus-micrometer-registry-graphite</artifactId>
</dependency>

并按照文档中的说明更新 application.properties 中的 quarkus 配置:https://quarkiverse.github.io/quarkiverse-docs/quarkus-micrometer-registry/dev/micrometer-registry-graphite.html

【讨论】:

以上是关于Quarkus - 将千分尺指标推送到普罗米修斯的主要内容,如果未能解决你的问题,请参考以下文章

千分尺和普罗米修斯计时器作为速率

Spring Boot 执行器保持状态

使用 Micrometer 发布 Spring Batch 指标

如何将 Spring Batch Metrics 发布到 Prometheus 网关

如何将指标直接推送到 Cortex

千分尺相当于普罗米修斯的标签