Spring Boot 参考指南(通过HTTP监控和管理)

51. 通过HTTP监控和管理

如果你正在开发一个web应用程序,Spring Boot Actuator会自动配置通过HTTP公开的所有已启用的端点,默认约定是使用带有/actuator前缀的端点id作为URL路径,例如,health公开为/actuator/health

Actuator由Spring MVC、Spring WebFlux和Jersey支持

51.1 自定义管理端点路径

有时,为管理端点定制前缀是有用的,例如,你的应用程序可能已经将/actuator用于其他目的,你可以使用management.endpoints.web.base-path属性,用于更改管理端点的前缀,如下面的示例所示:

management.endpoints.web.base-path=/manage

前面的application.properties示例将端点从/actuator/{id}更改为/manage/{id}(例如,/manage/info)。

除非管理端口被配置为使用不同的HTTP端口来公开端点,
management.endpoints.web.base-path是相对于
server.servlet.context-path的,如果
management.server.port被配置,
management.endpoints.web.base-path是相对于
management.server.servlet.context-path的。

51.2 自定义管理服务器端口

使用默认的HTTP端口公开管理端点是基于云的部署的明智选择,但是,如果你的应用程序运行在你自己的数据中心中,你可能倾向于使用不同的HTTP端口来公开端点。你可以设置management.server.port属性改变HTTP端口,如下例所示:

management.server.port=8081

51.3 配置管理特定SSL

当配置为使用自定义端口时,管理服务器还可以使用各种management.server.ssl.*属性配置自己的SSL,例如,这样做可以让管理服务器通过HTTP可用,而主应用程序使用HTTPS,如下面的属性设置所示:

server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:store.jks
server.ssl.key-password=secret
management.server.port=8080
management.server.ssl.enabled=false

或者,主服务器和管理服务器都可以使用SSL,但密钥存储不同,如下所示:

server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:main.jks
server.ssl.key-password=secret
management.server.port=8080
management.server.ssl.enabled=true
management.server.ssl.key-store=classpath:management.jks
management.server.ssl.key-password=secret

51.4 自定义管理服务器地址

你可以通过设置management.server.address属性来定制管理端点可用的地址,如果你希望只监听内部网络或面向操作系统的网络,或者只监听来自localhost的连接,那么这样做是很有用的。

只有当端口与主服务器端口不同时,才能监听不同的地址

下面的示例application.properties不允许远程管理连接:

management.server.port=8081
management.server.address=127.0.0.1

51.5 禁用HTTP端点

如果不希望通过HTTP公开端点,则可以将管理端口设置为-1,如下例所示:

management.server.port=-1
    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000015356985
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞