SpringBoot监控之道

Spring boot 2.0 Actuator 的健康检查

spring boot 框架是spring framework发展史上一次质的飞跃,用过都说好。它不仅仅是简化了繁琐的配置文件,提高了开发效率,整合了开发中常用的各种组件,优雅地处理了它们之间的版本兼容性问题,等等。除了以上这些优点还有本文将重点介绍的监控,Spring boot框架自带全方位的监控,这样,做spring boot应用的监控简直是太方便了。

一、 前言

官方文档 :https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#production-ready-health

在当下流行的Service Mesh架构中,由于Spring boot框架的种种优点,它特别适合作为其中的应用开发框架。说到Service Mesh的微服务架构,主要特点是将服务开发和服务治理分离开来,然后再结合容器化的Paas平台,将它们融合起来,这依赖的都是互相之间默契的配合。也就是说各自都暴露出标准的接口,可以通过这些接口互相交织在一起。Service Mesh的架构设计中的要点之一,就是全方位的监控,因此一般我们选用的服务开发框架都需要有方便又强大的监控功能支持。在Spring boot应用中开启监控特别方便,监控面也很广,还支持灵活定制。

二、 Actuator的使用方法

在Spring boot应用中,要实现可监控的功能,依赖的是 spring-boot-starter-actuator 这个组件。它提供了很多监控和管理你的spring boot应用的HTTP或者JMX端点,并且你可以有选择地开启和关闭部分功能。当你的spring boot应用中引入下面的依赖之后,将自动的拥有审计、健康检查、Metrics监控功能。

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

具体的使用方法:

  1. 引入上述的依赖jar;
  2. 通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
management:
  endpoints:
    web:
      exposure:
        include: "*"

“*”号代表启用所有的监控端点,可以单独启用,例如,healthinfometrics等。(http://localhost:9001/actuator/,可查看全部)

  1. 通过actuator/+端点名就可以获取相应的信息。

一般的监控管理端点的配置信息,如下:

management:
  endpoints:
    web:
      # 默认即是actuator
      basePath: /actuator
      exposure:
        include: "*"
  server:
    # 监控对外暴露端口
    port: 9001
    # 配置监控根地址
    servlet:
      context-path: /
    ssl:
      enabled: false
  endpoint:
    health:
      show-details: always

上述配置信息仅供参考,具体须参照官方文档,由于SpringBoot的版本更新比较快,配置方式可能有变化。

三、 健康检查

今天重点说一下Actuator监控管理中的健康检查功能,随时能掌握线上应用的健康状况是非常重要的,尤其是现在流行的容器云平台下的应用,它们的自动恢复和扩容都依赖健康检查功能。

当我们开启health的健康端点时,我们能够查到应用健康信息是一个汇总的信息,访问http://127.0.0.1:9001/actuator/health时,我们获取到的信息是{"status":"UP"},status的值还有可能是 DOWN

要想查看详细的应用健康信息需要配置management.endpoint.health.show-details 的值为always,配置之后我们再次访问http://127.0.0.1:10111/actuator/health,获取的信息如下:

{
   
    "status": "UP",
    "details": {
   
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值