一尘不染

Prometheus actuator的自定义路径

spring-boot

我目前正在尝试将我们的prometheus lib迁移到spring boot
2.0.3.RELEASE。我们对普罗米修斯使用了自定义路径,到目前为止,我们一直在努力确保这一点。由于可能为信息端点和健康端点设置自定义路径,因此请使用management.endpoint.<health/info>.path。我尝试指定management.endpoint.prometheus.path,但是仍然可以通过进行访问/actuator/prometheus

如何使用自定义路径或普罗米修斯?

我们使用以下库(我们build.gradle的片段)启用prometheus

compile "org.springframework.boot:spring-boot-starter-actuator:2.0.3.RELEASE"
compile "io.micrometer:micrometer-core:2.0.5"
compile "io.micrometer:micrometer-registry-prometheus:2.0.5"

我们也使用该类的导入 PrometheusMetricsExportAutoConfiguration

非常感谢您的帮助:)


阅读 1339

收藏
2020-05-30

共1个答案

一尘不染

参考文档中

默认情况下,使用端点的ID通过HTTP在/ actuator路径下公开端点。例如,bean端点暴露在/ actuator /
beans下。如果要将端点映射到其他路径,则可以使用management.endpoints.web.path-
mapping属性。此外,如果要更改基本路径,可以使用management.endpoints.web.base-path。

以下示例将/ actuator / health重映射到/ healthcheck:

application.properties:

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.health=healthcheck

因此,要将prometheus端点重新映射到下面的其他路径/actuator,可以使用以下属性:

management.endpoints.web.path-mapping.prometheus=whatever-you-want

以上将使Prometheus端点可用于 /actuator/whatever-you-want

如果希望Prometheus端点在根目录中可用,则必须将所有端点移到那里并重新映射它:

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.prometheus=whatever-you-want

上面的内容将使Prometheus端点可在处使用,/whatever-you- want但也会产生副作用,即将其他所有启用的端点移至/而不是位于其下方/actuator

2020-05-30