spring Boot包含许多其他功能,可帮助您在应用程序投入生产时监控和管理它们。 您可以选择使用HTTP端点,JMX甚至远程shell(SSH或Telnet)来管理和监视应用程序。 审计,运行状况和指标收集可以自动应用于您的应用程序.Actuator HTTP端点仅适用于基于Spring MVC的应用程序。 特别是,除非你启用Spring MVC,否则它不适用于Jersey。
spring-boot-actuator提供了所有投入生产时监控和管理的功能
Maven项目中增加actuator
actuator允许通过端点访问与程序进行交互。 Spring Boot包含许多内置端点,您也可以添加自己的端点。 例如,健康端点提供基本的应用程序健康信息。公开端点的方式取决于您选择的技术类型。 大多数应用程序选择HTTP监视,其中端点的ID映射到URL.
SpringMvc还提供了以下额外的端点
根据端点的暴露方式,敏感属性可用作安全提示。 例如,敏感端点在通过HTTP访问时需要用户名/密码(如果未启用Web安全性,则只需禁用)
通过HTTP监控和管理
如果您正在开发Spring MVC应用程序,Spring Boot Actuator将自动配置所有已启用的端点以通过HTTP公开。 默认约定是使用端点的id作为URL路径。 例如,健康端点暴露的URL 为/health。
访问敏感端点
默认情况下,所有敏感HTTP端点都受到保护,以便只有具有ACTUATOR角色的用户才能访问它们。 使用标准HttpServletRequest.isUserInRole方法强制执行安全性.
如果想配置其他角色取代ACTUATOR,使用management.security.roles进行属性设置。
如果要在防火墙后面部署应用程序,您可能希望无需身份验证即可访问所有Actuator端点。 您可以通过更改management.security.enabled属性来执行此操作:
如果您要公开部署应用程序,则可能需要添加“Spring Security”来处理用户身份验证。 添加“Spring Security”时,默认情况下,“基本”身份验证将与用户名用户和生成的密码一起使用(在应用程序启动时打印在控制台上)。您可以使用Spring属性更改用户名和密码,以及更改访问端点所需的安全角色。
如以下配置:
如果您的应用程序具有自定义安全配置,并且您希望无需身份验证即可访问所有Actuator端点,则需要在安全配置中明确配置该端点。 除此之外,您还需要将management.security.enabled属性更改为false。
自定义管理端点路径
有时,将所有管理端点分组到单个路径中非常有用。 例如,您的应用程序可能已将/ info用于其他目的。 您可以使用management.contextpath属性为管理端点设置前缀:
上面的application.properties示例会将端点从/ {id}更改为/ manage / {id}(例如/ manage / info)。
您还可以更改端点的“id”(endpoints.{name} .id),然后更改MVC端点的默认资源路径。 合法端点ID仅由字母数字字符组成(因为它们可以在许多地方公开,包括禁止使用特殊字符的JMX对象名称)。 可以通过配置单独更改MVC路径endpoints.{name} .path,并且没有对这些值进行验证(因此您可以使用URL路径中合法的任何内容)。 例如,要将/ health端点的位置更改为/ ping / me,您可以设置endpoints.health.path = / ping / me。
自定义管理服务器端口
使用默认HTTP端口公开管理端点是基于云部署的明智选择。 但是,如果您的应用程序在您自己的数据中心内运行,您可能更喜欢使用不同的HTTP端口公开端点。
management.port属性可用于更改HTTP端口。
禁用HTTP端点
如果您不想通过HTTP公开端点,可以将管理端口设置为-1:
微信公众号