spring boot starter actuator(健康监控)配置和使用教程

 更新时间:2018年06月12日 09:18:38   作者:yangliuhbhd  
这篇文章主要介绍了spring-boot-starter-actuator(健康监控)配置和使用教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

添加POM依赖:

<!-- spring-boot-监控-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

application.yml中指定监控的HTTP端口(如果不指定,则使用和Server相同的端口);指定去掉某项的检查(比如不监控health.mail):

server:
 port: 8083
management:
  port: 8083
  security:
   enabled: false #

监控和管理端点

端点名 描述
autoconfig 所有自动配置信息( positiveMatches :运行的, negativeMatches 未运行组件)
auditevents 审计事件
beans 所有Bean的信息
configprops 所有配置属性
dump 线程状态信息
env 当前环境信息
health 应用健康状况
info 当前应用信息
metrics 应用的各项指标
mappings 应用@RequestMapping映射路径
shutdown 关闭当前应用(默认关闭)
trace 追踪信息(最新的http请求)
heapdump 下载内存快照

http://localhost:8083/info 读取配置文件application.properties的 info.*属性

  在InfoProperties 读取

  application.properties :

info.app.version=v1.2.0
info.app.name=abc

在GitProperties  获取git.properties 的信息 

info.app.version=v1.2.0
info.app.name=abc
#远程关闭开启
endpoints.shutdown.enabled=true 
#访问:http://localhost:8083/shutdown  关闭服务

metrics

{
mem: 573549,  //内存大小
mem.free: 388198, //内存剩余大小
processors: 4, //处理器数量
instance.uptime: 338426,
uptime: 345091,
systemload.average: -1,
heap.committed: 489984,
heap.init: 131072,
heap.used: 101785,
heap: 1842688,
nonheap.committed: 85056,
nonheap.init: 2496,
nonheap.used: 83566,
nonheap: 0,
threads.peak: 46,
threads.daemon: 36,
threads.totalStarted: 72,
threads: 39, //线程
classes: 12109,
classes.loaded: 12109, //加载的类
classes.unloaded: 0, //没加载的类
gc.ps_scavenge.count: 10,
gc.ps_scavenge.time: 103,
gc.ps_marksweep.count: 3,
gc.ps_marksweep.time: 219,
httpsessions.max: -1,
httpsessions.active: 0,
gauge.response.mappings: 3,
gauge.response.autoconfig: 4,
gauge.response.trace: 167,
counter.status.200.mappings: 1,
counter.status.200.autoconfig: 2,
counter.status.200.trace: 1
}

自定义配置说明:

#关闭metrics功能
endpoints.metrics.enabled=false
#开启shutdown远程关闭功能
endpoints.shutdown.enabled=true
#设置beansId
endpoints.beans.id=mybean
#设置beans路径
endpoints.beans.path=/bean
#关闭beans 功能
endpoints.beans.enabled=false
#关闭所有的
endpoints.enabled=false 
#开启单个beans功能
endpoints.beans.enabled=true
#所有访问添加根目录
management.context-path=/manage​
management.port=8181

org.springframework.boot.actuate.health 包下对于所有的健康状态检查例如:RedisHealthIndicator ,当有redis的starter 时候就会检查

{
  status: "DOWN", //状态
  diskSpace: {
  status: "UP",
  total: 395243941888,
  free: 367246643200,
  threshold: 10485760
  },
  rabbit: {
  status: "DOWN",
  error: "org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect"
  },
  redis: {
  status: "UP",
  version: "4.0.9"
  },
  db: {
  status: "UP",
  database: "MySQL",
  hello: 1
  }
}

自定义health

•自定义健康状态指示器

•1、编写一个指示器 实现 HealthIndicator 接口

•2、指示器的名字 xxxxHealthIndicator

•3、加入容器中

import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;
@Component
public class MyAppHealthIndicator implements HealthIndicator {
​
  @Override
  public Health health() {
​
    //自定义的检查方法
    //Health.up().build()代表健康
    return Health.down().withDetail("msg","服务异常").build();
  }
}

总结

以上所述是小编给大家介绍的spring boot starter actuator(健康监控)配置和使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Java多线程中的Phaser详解

    Java多线程中的Phaser详解

    这篇文章主要介绍了Java多线程中的Phaser详解,Pahser是一个可以重复使用的同步屏障,Phaser是按照不同阶段执行线程的,它本身维护着一个叫 phase 的成员变量代表当前执行的阶段,需要的朋友可以参考下
    2023-11-11
  • spring cloud 集成 ribbon负载均衡的实例代码

    spring cloud 集成 ribbon负载均衡的实例代码

    spring Cloud Ribbon 是一个客户端的负载均衡器,它提供对大量的HTTP和TCP客户端的访问控制。本文给大家介绍spring cloud 集成 ribbon负载均衡,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • 详谈锁和监视器之间的区别_Java并发

    详谈锁和监视器之间的区别_Java并发

    下面小编就为大家带来一篇详谈锁和监视器之间的区别_Java并发。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • java 二叉查找树实例代码

    java 二叉查找树实例代码

    这篇文章主要介绍了java 二叉查找树实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • Java如何使用jar命令打包

    Java如何使用jar命令打包

    把多个文件打包成一个压缩包——这个压缩包和WinZip的压缩格式是一样的,区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹里包含一个MANIFEST.MF的文件,本文给大家介绍Java如何使用jar命令打包,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • Java基础教程之类数据与类方法

    Java基础教程之类数据与类方法

    这篇文章主要介绍了Java基础教程之类数据与类方法,本文是对类的深入探讨,类数据指类的一些属性、参数等,类方法就是类包含的功能方法,需要的朋友可以参考下
    2014-08-08
  • Java IO篇之Reactor 网络模型的概念

    Java IO篇之Reactor 网络模型的概念

    Reactor 模式也叫做反应器设计模式,是一种为处理服务请求并发提交到一个或者多个服务处理器的事件设计模式,Reactor 模式主要由 Reactor 和处理器 Handler 这两个核心部分组成,本文给大家介绍Java IO篇之Reactor 网络模型的概念,感兴趣的朋友一起看看吧
    2022-01-01
  • web.xml SpringBoot打包可执行Jar运行SpringMVC加载流程

    web.xml SpringBoot打包可执行Jar运行SpringMVC加载流程

    这篇文章主要为大家介绍了web.xml SpringBoot打包可执行Jar运行SpringMVC加载流程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 解决slf4j 和 logback-classic遇到的坑

    解决slf4j 和 logback-classic遇到的坑

    这篇文章主要介绍了解决slf4j 和 logback-classic遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java实现航空用户管理系统

    java实现航空用户管理系统

    这篇文章主要为大家详细介绍了java实现航空用户管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07

最新评论