我应该如何配置Micronaut以获得Prometheus格式的/metrics
?
已使用: micronaut 1.0.0.M3
现在:
micronaut:
...
metrics:
enabled: true
export:
prometheus:
enabled: true
和结果:指标名称列表
{"names":["jvm.memory.max","executor.pool.size"...]}
我需要获取:普罗米修斯格式(formats)的指标
答案 0 :(得分:1)
此刻,我们解决了以下问题。
/metrics
上创建具有映射的控制器。scrape()
的返回值。/prometheus
相关的端点(新端点无法映射到/metrics
)。配置:
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)
尚未对此进行测试,但基于以下条件:
您的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)