Raf*_*ael 5 spring-boot spring-boot-actuator prometheus
我在 springboot 2 中使用 Actuator 来公开 /actuator/prometheus 端点,prometheus 实例将从该端点提取指标。
\n\n一切都很完美,除了因为我需要调整指标名称。我的意思不是对 Prometheus 有意义的后缀(_count、_total、_bucket,...),而是类似:
\n\n\n\n\nhttp_server_requests_seconds_count -> http_server_requests_count\n http_server_requests_seconds_max -> Latency_Seconds_Max\n http_server_requests_Seconds_sum -> Latency_Seconds_sum\n http_Server_requests_Seconds_Bucket -> Latency_Seconds_Bucket
\n
对此有更好的方法吗?
\n\n聚苯乙烯
\n\n我知道我可以使用
\n\nmanagement.metrics.web.server.requests-metric-name=different\nRun Code Online (Sandbox Code Playgroud)\n\n要得到
\n\ndifferent_seconds_count\ndifferent_seconds_max \ndifferent_seconds_sum \ndifferent_seconds_bucket\nRun Code Online (Sandbox Code Playgroud)\n\n但很难:
\n\n1\xc2\xba 去掉_seconds后缀
\n\n2\xc2\xba 仅对其中之一使用不同的基本名称
\n\n我猜我可以编写一个替代方案PrometheusRenameFilter,但不确定如何将其配置到默认注册表。
现在我知道如何自定义全局注册表:
例如设置自定义仪表过滤器:
@Configuration
public class MetricsConfig {
@Bean
MeterRegistryCustomizer<MeterRegistry> metricsConfig() {
return registry -> registry.config().meterFilter(new CustomRenameFilter());
}
}
Run Code Online (Sandbox Code Playgroud)
但是,在注册表中设置自定义重命名过滤器仅允许重命名基本指标名称。它不会作用于后缀,也不允许作用于属于一组(例如由摘要生成)的特定度量。
通过自定义,NamingConvention我可以向约定基本名称添加后缀...我什至可以更改现有后缀或替换约定基本名称。
最后请注意,直方图普罗米修斯指标类型需要创建
<basename>_bucket
<basename>_sum
<basename>_count
Run Code Online (Sandbox Code Playgroud)
具有这些特定名称,因此按照我想要的方式调整组件可能是不正确的,因为那将是一个不同的组件。
| 归档时间: |
|
| 查看次数: |
7676 次 |
| 最近记录: |