通过HTTP进行监控和管理
如果您正在开发Web应用程序,则Spring Boot Actuator会自动配置所有已启用的端点以通过HTTP公开。默认约定是使用id
前缀/actuator
为URL路径的端点。例如,health
暴露为/actuator/health
。提示:Spring MVC,Spring WebFlux和Jersey本身支持Actuator。
自定义管理端点路径
有时,定制管理端点的前缀很有用。例如,您的应用程序可能已/actuator
用于其他目的。您可以使用该management.endpoints.web.base-path
属性更改管理端点的前缀,如以下示例所示:
1 | 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
。
如果要将端点映射到其他路径,可以使用该 management.endpoints.web.path-mapping
属性。
以下示例重新映射/actuator/health
到/healthcheck
:
1 | management.endpoints.web.base-path=/ |
自定义Management Server端口
使用默认HTTP端口公开管理端点是基于云的部署的明智选择。但是,如果您的应用程序在您自己的数据中心内运行,您可能更喜欢使用不同的HTTP端口公开端点。
您可以设置该management.server.port
属性以更改HTTP端口,如以下示例所示:
1 | management.server.port=8081 |
配置管理特定的SSL
配置为使用自定义端口时,还可以使用各种management.server.ssl.*
属性为管理服务器配置自己的SSL 。例如,这样做可以在主应用程序使用HTTPS时通过HTTP使管理服务器可用,如以下属性设置所示:
1 | server.port=8443 |
或者,主服务器和管理服务器都可以使用SSL但具有不同的密钥库,如下所示:
1 | server.port=8443 |
自定义管理服务器地址
您可以通过设置management.server.address
属性来自定义管理端点可用的地址。如果您只想在内部或面向操作的网络上侦听或仅侦听来自的连接,那么这样做会非常有用 localhost
。
仅当端口与主服务器端口不同时,才能侦听不同的地址。
以下示例application.properties
不允许远程管理连接:
1 | management.server.port=8081 |
禁用HTTP端点
如果您不想通过HTTP公开端点,可以将管理端口设置为 -1
,如以下示例所示:
1 | management.server.port=-1 |
这也可以使用management.endpoints.web.exposure.exclude
属性来实现,如以下示例所示:
1 | management.endpoints.web.exposure.exclude=* |