Micronaut:如何获取Prometheus格式的指标?

时间:2018-08-17 09:47:49

标签: metrics prometheus micrometer micronaut

我应该如何配置Micronaut以获得Prometheus格式的/metrics

已使用: micronaut 1.0.0.M3

现在:

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

和结果:指标名称列表

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

我需要获取:普罗米修斯格式(formats)的指标

4 个答案:

答案 0 :(得分:1)

此刻,我们解决了以下问题。

  1. 添加了新的端点。或在/metrics上创建具有映射的控制器。
  2. 新端点添加了scrape()的返回值。
  3. /prometheus相关的端点(新端点无法映射到/metrics)。
  4. 默认情况下已断开连接的端点指标。

配置:

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

答案 1 :(得分:1)

要piggy带其他答案,以下是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()
    }
}

答案 2 :(得分: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

不相信出口会发挥作用。

答案 3 :(得分:0)

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

(该文档缺少端点配置,但将为changed in the new release