zoukankan      html  css  js  c++  java
  • springboot Actuator健康检查

    通过情况下,如我们想在系统中添加一个健康检查的接口,我们怎么做呢?

    我们会新建一个类,或在已存在类的基础上添加检测接口。

    package com.crhms.medicareopinion;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HealthzController {
        @GetMapping("/healthz")
        public String healthz(){
            return "OK";
        } //可以添加自己的逻辑
    }

    访问如下:

    这个做起来,也没什么问题,但是,当微服务多的时候,如果每个微服务都这样添加的时候,再这么做,我们就得想办法了,是否可以去重呢,抽象出检测的接口呢。

    再有,如果我想在检查中统一加对数据库的检测,对缓存的检测,想想肯定又一堆代码了。

    这时我发现了springboot Actuator。有了它,再实现类似的功能,就相当简单了。

    只需要在pom.xml文件中,添加GAV即可:

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

    启动项目,访问http://localhost:8001/actuator/health

     Actuator 提供了 13 个接口 也叫endpoint,具体如下表所示:

    HTTP 方法路径描述
    GET /autoconfig 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
    GET /configprops 描述配置属性(包含默认值)如何注入Bean
    GET /beans 描述应用程序上下文里全部的Bean,以及它们的关系
    GET /dump 获取线程活动的快照
    GET /env 获取全部环境属性
    GET /env/{name} 根据名称获取特定的环境属性值
    GET /health 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
    GET /info 获取应用程序的定制信息,这些信息由info打头的属性提供
    GET /mappings 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系
    GET /metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数
    GET /metrics/{name} 报告指定名称的应用程序度量值
    POST /shutdown 关闭应用程序,要求endpoints.shutdown.enabled设置为true
    GET /trace 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)

    默认接口只提供了health, info接口,如果想访问其他接口需添加配置:

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

    health只展示了简单的UPDOWN状态。为了获得健康检查中所有指标的详细信息,你可以通过在application.yaml中增加如下内容:

    management:
      endpoints:
        web:
          exposure:
            include: "*"
      endpoint:
        health:
          show-details: always

    如果你的程序配置了数据库的访问,那个还会把数据库的状态显示出来:

  • 相关阅读:
    mysql备份监控脚本
    关于ibatis的缓存的
    一些好用的软件和工具
    一,关于mongDB+SpringMVC【org.springframework.data.mongodb.core.MongoTemplate】
    java中的String内存分配原理
    java条件结构
    java运算符与选择结构
    JAVA变量补充
    JAVA变量
    java基础01
  • 原文地址:https://www.cnblogs.com/hankuikui/p/10149451.html
Copyright © 2011-2022 走看看