5

我应该如何配置 Micronaut 以获取/metricsPrometheus 格式?

使用:micronaut 1.0.0.M3

现在:

micronaut:
...
  metrics:
    enabled: true
    export:
      prometheus:
        enabled: true

和结果:指标名称列表

{"names":["jvm.memory.max","executor.pool.size"...]}

我需要得到:普罗米修斯格式的指标(格式

4

4 回答 4

3

Micronaut Micrometer有一个来自 1.1 版的PrometheusEndpoint,它将以 Prometheus 格式返回,/prometheus并且可以通过以下方式在 application.yml 中启用:

endpoints:
  prometheus:
    sensitive: false

结合

micronaut:
  metrics:
    enabled: true
    export:
      prometheus:
        enabled: true
        step: PT1M
        descriptions: true

(文档缺少端点配置,但将在新版本中更改)

于 2019-06-18T13:08:19.493 回答
2

为了搭载其他答案,这里有一个 Micronaut 端点,它以我们需要的格式提供 Prometheus 指标:

package your.package.name

import io.micrometer.prometheus.PrometheusMeterRegistry
import io.micronaut.management.endpoint.annotation.Endpoint
import io.micronaut.management.endpoint.annotation.Read

@Endpoint(id = "prometheus", value = "/prometheus", defaultEnabled = true, 
defaultSensitive = false)
class PrometheusController(val prometheusMeterRegistry: PrometheusMeterRegistry) {
    @Read
    fun scrape(): String {
        return prometheusMeterRegistry.scrape()
    }
}
于 2018-12-03T22:07:46.267 回答
1

目前,我们解决了如下问题。

  1. 添加了一个新端点。或者创建一个带有映射的控制器/metrics
  2. 新端点添加了scrape().
  3. /prometheus(新端点不能映射到/metrics)相关的端点。
  4. 默认情况下断开连接的端点指标。

配置:

micronaut:   
  ...   
  metrics:
    enabled: true
    export:
      prometheus:
        enabled: true 
... 
endpoints:
...
  metrics:
    enabled: false
  prometheus:
    enabled: true
于 2018-08-23T06:16:32.943 回答
0

尚未对此进行测试,但基于以下内容:

https://github.com/micronaut-projects/micronaut-core/blob/master/configurations/micrometer-registry-prometheus/src/main/java/io/micronaut/configuration/metrics/micrometer/prometheus/PrometheusMeterRegistryFactory.java

你的 yaml 应该看起来像

metrics:
  prometheus:
    enabled: true

不要相信出口会起作用。

于 2018-08-22T00:46:28.237 回答