首页 > 开发 > Java > 正文

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

2024-07-14 08:41:13
字体:
来源:转载
供稿:网友

添加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: 8083management:  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.0info.app.name=abc

在GitProperties  获取git.properties 的信息 

info.app.version=v1.2.0info.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#设置beansIdendpoints.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;@Componentpublic class MyAppHealthIndicator implements HealthIndicator {​  @Override  public Health health() {​    //自定义的检查方法    //Health.up().build()代表健康    return Health.down().withDetail("msg","服务异常").build();  }}

总结

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表