Spring Boot Actuator

Posted JavaEdge.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot Actuator相关的知识,希望对你有一定的参考价值。

整合

健康信息

健康信息可以检查应用的运行状态,它经常被监控软件用来提醒人们生产环境是否存在问题。health端点暴露的默认信息取决于端点是如何被访问的。对于一个非安全,未认证的连接只返回一个简单的’status’信息。对于一个安全或认证过的连接其他详细信息也会展示
Spring Boot包含很多自动配置的HealthIndicators,你也可以写自己的。

自动配置的HealthIndicators

Spring Boot在合适的时候会自动配置以下HealthIndicators:

  • 下表显示了内置状态的默认状态映射:

  • 让我们配置一下health节点,并重启应用

  • 可看到对于磁盘的监控信息

应用信息

应用信息会暴露所有InfoContributor beans收集的各种信息,Spring Boot包含很多自动配置的InfoContributors,你也可以编写自己的实现。

自动配置的InfoContributors

Spring Boot会在合适的时候自动配置以下InfoContributors:

注 使用management.info.defaults.enabled属性可禁用以上所有InfoContributors。

自定义应用info信息

通过设置Spring属性info.*,你可以定义info端点暴露的数据。所有在info关键字下的Environment属性都将被自动暴露,例如,你可以将以下配置添加到application.properties:

info.app.encoding=UTF-8
info.app.java.source=1.8
info.app.java.target=1.8

注 你可以在构建时扩展info属性,而不是硬编码这些值。假设使用Maven,你可以按以下配置重写示例:

info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@

Git提交信息

info端点的另一个有用特性是,在项目构建完成后发布git源码仓库的状态信息。如果GitProperties bean可用,Spring Boot将暴露git.branch,git.commit.id和git.commit.time属性。

注 如果classpath根目录存在git.properties文件,Spring Boot将自动配置GitProperties bean。查看Generate git information获取更多详细信息。

使用management.info.git.mode属性可展示全部git信息(比如git.properties全部内容):

management.info.git.mode=full

构建信息

如果BuildProperties bean存在,info端点也会发布你的构建信息。

注 如果classpath下存在META-INF/build-info.properties文件,Spring Boot将自动构建BuildProperties bean。Maven和Gradle都能产生该文件

  • 配置info

  • 启动观察输出信息

  • SpringBoot支持很多端点,除了默认显示的几个,还可以激活暴露所有端点

  • 如果只想暴露某个端点也是可以的

  • 查看JVM最大内存

3 Beans

Bean 端点提供有关应用程序 bean 的信息。

获取 Beans

  • /actuator/beans GET 请求

    响应的结构:

    结果中可见 SpringBoot 默认的数据源:

以上是关于Spring Boot Actuator的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置

无法访问 Spring Boot Actuator“/actuator”端点

使用 java 函数从 Spring Boot 调用 Spring actuator /restart 端点

Spring Boot -- actuator

spring-boot-starter-actuator监控接口详解

spring-boot 监控 Actuator