12

我目前正在尝试将我们的 prometheus 库迁移到 spring boot 2.0.3.RELEASE。我们为 prometheus 使用自定义路径,到目前为止,我们使用解决方法来确保这一点。由于信息和健康端点可以自定义路径,因此使用management.endpoint.<health/info>.path. 我试图指定management.endpoint.prometheus.path,但它仍然只能在/actuator/prometheus.

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

我们使用以下库启用普罗米修斯(我们的 build.gradle 的片段)

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

非常感谢您的帮助:)

4

2 回答 2

27

参考文档

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

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

应用程序属性:

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

于 2018-07-05T19:53:47.280 回答
0

我想补充一点,更改management.endpoints.web.base-path为 root 有一个副作用——您无法/actuator使用指向所有端点的链接来查询执行器“发现页面”。

当管理上下文路径设置为 / 时,发现页面被禁用以防止与其他映射发生冲突的可能性。

来自参考文档

于 2021-09-15T15:11:36.180 回答