云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

搭建应用的“时间管理局”- Spring Boot Actuator (一)

jxf315 2025-01-20 14:06:52 教程文章 66 ℃

最近刚看《洛基》,其中的时间管理局,监控着整个神圣时间线的稳定运行,感觉这和Spring Boot Actuator的功能很像,监控Spring应用神圣的生成运行时间,一但发现问题,马上派人问题给“裁剪”掉,相当不错,让我们开始建立一个“时间管理局”吧。

引入配置只需一步:

在spring boot项目的基础上,增加Actuator依赖包

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

然后运行访问/actuator和/actuator/health 就可以了



Health 信息:

在图(一)中,“UP”,表示应用正在按照预期正常运行,它还有三个值,

  1. UNKNOWN:指示组件或子系统处于未知状态。
  2. DOWN: 指示组件或子系统遭受了意外故障。
  3. OUT_OF_SERVICE:指示组件或子系统已退出服务,不应再使用。


当前health的信息不止于此,根据官方文档我们稍加配置(application.yml):

management:
  endpoints:
    web:
      exposure:
        include: "*"

就可以得到数据库连接、磁盘信息等更加详细的信息。



暴露全部信息:

根据官方文档看,/actuator 可以查询到很多信息,但是默认是不显示的,需要我们自己考虑是否暴露出来。具体可以查看官方手册:8.2,现在让我把它们全都展示出来。

application.yml

management:
  endpoint:
    health:
      show-details: always

然后重启访问结果:


图三有名字就可以知道,展示的有beans、环境变量、日志、系统配置等等信息。

这算什么“时间管理局”,写到这我才发现只是找到了一个“洛基”(应用),通过Actuator,我监控着这个“洛基”的状态,并且我找到了定义这个“路基”级别的命令。

定义“洛基”

在图三全部信息中,我们可以在/info中自定义我们应用的信息,比如

info:
  project-name: "洛基"
  level: "低等"

然后我们点开页面就可以得到



实际使用中可以把,应用的作者,联系方式写入里面,当服务出现问题,可以发短信或者邮件。


感谢大佬阅读,之前都是学多少,忘多少,太痛苦了,希望能把它们写下来,加深记忆。

最近发表
标签列表