普罗米修斯执行器的自定义路径

Rut*_*uth 6 spring-boot spring-boot-actuator prometheus micrometer

我目前正在尝试将我们的prometheus lib迁移到spring boot 2.0.3.RELEASE.我们使用prometheus的自定义路径,到目前为止,我们使用一种解决方法来确保这一点.由于有可能为info-和health-endpoint提供自定义路径,因此使用management.endpoint.<health/info>.path.我试图指定management.endpoint.prometheus.path,但它仍然只是可访问/actuator/prometheus.

我如何使用自定义路径或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"
Run Code Online (Sandbox Code Playgroud)

我们还使用了类的导入 PrometheusMetricsExportAutoConfiguration

非常感谢您的帮助:)

And*_*son 14

从参考文档:

默认情况下,通过使用端点的ID在/致命路径下通过HTTP公开端点.例如,beans端点在/ 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
Run Code Online (Sandbox Code Playgroud)

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

management.endpoints.web.path-mapping.prometheus=whatever-you-want
Run Code Online (Sandbox Code Playgroud)

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

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

management.endpoints.web.base-path=/
management.endpoints.web.path-mapping.prometheus=whatever-you-want
Run Code Online (Sandbox Code Playgroud)

以上内容将使Prometheus端点可用,/whatever-you-want但副作用是将任何其他已启用的端点移动到/下方而不是下方/actuator.