SpringBoot Admin

Spring Boot Admin是一个开源的监控和管理Spring Boot应用程序的工具。它提供了一个直观的用户界面,用于监控和管理多个Spring Boot应用程序的运行状态、健康状况和配置信息。

使用Spring Boot Admin,可以方便地查看各个应用程序的详细信息,例如内存使用情况、线程池状态、请求统计等。它还提供了可视化的日志查看功能,方便快速定位和解决问题。

Spring Boot Admin还支持对应用程序进行动态的配置管理。通过它,可以在运行时修改应用程序的配置参数,而无需重启应用程序。

除了监控和配置管理,Spring Boot Admin还提供了应用程序的集中式管理功能。可以方便地查看和管理多个应用程序的运行状态,包括启动、停止、重启等操作。

Spring Boot Admin还支持集成通知机制,可以通过电子邮件、Slack等渠道发送报警和通知,及时了解应用程序的异常或重要事件。

总之,Spring Boot Admin是一个功能强大的工具,可以简化对多个Spring Boot应用程序的监控和管理。它提供了直观的用户界面和丰富的功能,使得开发人员和运维人员可以更加方便地管理和维护Spring Boot应用程序。

Server

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.7.4</version>
</dependency>

Client

<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.7.4</version>
</dependency>

Client Config

server.port=8081

spring.boot.admin.client.url=http://localhost:8080

management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=*

management.endpoint.health.show-details是Spring Boot中的一个配置属性,用于控制健康指示器的详细信息在健康端点中的显示方式。

默认情况下,management.endpoint.health.show-details的值为never,表示健康端点只会显示基本的健康状态,不会显示详细信息。这样可以保护敏感信息,同时提供简洁的健康报告。

可以根据需要将management.endpoint.health.show-details的值设置为以下选项之一:

  • always:始终显示详细信息。健康端点将会显示完整的健康状态信息,包括敏感信息和详细的诊断信息。
  • when-authorized:仅在已经授权的情况下显示详细信息。健康端点只会在请求中包含适当的授权凭据时显示详细信息。
  • never:不显示详细信息。健康端点只会显示基本的健康状态信息,不包括详细信息。

通过设置management.endpoint.health.show-details属性,可以根据实际需求来决定健康端点中的详细信息是否显示。这可以帮助保护敏感信息,并提供适当的健康报告。

management.endpoints.web.exposure.include=*是Spring Boot中的一个配置属性,用于指定要公开的管理端点。

默认情况下,Spring Boot仅公开一些常用的管理端点,如/actuator/health和/actuator/info。其他的端点,如/actuator/beans、/actuator/metrics等,默认情况下是被禁用的,不能直接访问。

通过将management.endpoints.web.exposure.include属性设置为*,可以将所有的管理端点都公开。这意味着所有的端点都可以通过相应的URL路径直接访问。

例如,设置management.endpoints.web.exposure.include=*后,可以通过/actuator/beans、/actuator/metrics等路径来访问相应的管理端点。

需要注意的是,将所有管理端点公开可能会带来安全风险。因此,在生产环境中,建议仅公开必要的管理端点,并对敏感的端点进行限制,并且适当地配置安全措施,如认证和授权。

总而言之,通过设置management.endpoints.web.exposure.include=*,可以公开所有的管理端点,使其可以直接通过URL访问。但在生产环境中,需要谨慎考虑安全性,并根据实际需求选择性地公开管理端点。

github: https://github.com/ycltpe/spring-boot-admin

springboot admin预览图:


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *