当前位置: 首页 > 编程笔记 >

详解spring-boot actuator(监控)配置和使用

孙胜泫
2023-03-14
本文向大家介绍详解spring-boot actuator(监控)配置和使用,包括了详解spring-boot actuator(监控)配置和使用的使用技巧和注意事项,需要的朋友参考一下

在生产环境中,需要实时或定期监控服务的可用性。spring-boot 的actuator(监控)功能提供了很多监控所需的接口。简单的配置和使用如下:

1、引入依赖:

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

如果使用http调用的方式,还需要这个依赖:

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

2、配置:

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

server: 
 port: 8082 
management: 
 port: 54001 
 health: 
  mail: 
   enabled: false 

3、使用:

查看health指标:http://localhost:54001/health

{"status":"UP","diskSpace":{"status":"UP","total":120031539200,"free":33554337792,"threshold":10485760},"db":{"status":"UP","dataSource1":{"status":"UP","database":"MySQL","hello":1},"dataSource2":{"status":"UP","database":"MySQL","hello":1}}} 

4、自定义指标:

4.1 /health:在某个类中implements HealthIndicator接口,然后实现其中的health()方法即可:

代码:

@SpringBootApplication 
@EnableScheduling 
public class MySpringBootApplication implements HealthIndicator{ 
  private static Logger logger = LoggerFactory.getLogger(MySpringBootApplication.class); 
   
  public static void main(String[] args) { 
    SpringApplication.run(MySpringBootApplication.class, args); 
    logger.info("My Spring Boot Application Started"); 
  } 
 
  /** 
   * 在/health接口调用的时候,返回多一个属性:"mySpringBootApplication":{"status":"UP","hello":"world"} 
   */ 
  @Override 
  public Health health() { 
    return Health.up().withDetail("hello", "world").build(); 
  } 
} 

/health 运行结果(注意第二个指标):

{"status":"UP","mySpringBootApplication":{"status":"UP","hello":"world"},"diskSpace":{"status":"UP","total":120031539200,"free":33554337792,"threshold":10485760},"db":{"status":"UP","dataSource1":{"status":"UP","database":"MySQL","hello":1},"dataSource2":{"status":"UP","database":"MySQL","hello":1}}}

4.2 /info:配置如下,可以直接给一个字符串,也可以从pom.xml配置中获取

info: 
 app: 
  name: "@project.name@" #从pom.xml中获取 
  description: "@project.description@" 
  version: "@project.version@" 
  spring-boot-version: "@project.parent.version@" 

/info的结果如下:

{"app":{"name":"my-spring-boot","description":"Test Project for Spring Boot","version":"1.0","spring-boot-version":"1.3.6.RELEASE"}}

官网:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready

源代码参考:https://github.com/xujijun/my-spring-boot

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Spring Boot Hazelcast Caching 使用和配置详解,包括了Spring Boot Hazelcast Caching 使用和配置详解的使用技巧和注意事项,需要的朋友参考一下 本文将展示spring boot 结合 Hazelcast 的缓存使用案例。 1. Project Structure 2. Maven Dependencies 3. Hazelcast

  • 本文向大家介绍详解spring Boot Cli的配置和使用,包括了详解spring Boot Cli的配置和使用的使用技巧和注意事项,需要的朋友参考一下 SpringBootCLI是一个命令行工具,可用于快速搭建基于spring的原型。它支持运行Groovy脚本,这也就意味着你可以使用类似Java的语法,但不用写很多的模板代码。 Spring Boot不一定非要配合CLI使用,但它绝对是Spri

  • 本文向大家介绍详解Spring boot Admin 使用eureka监控服务,包括了详解Spring boot Admin 使用eureka监控服务的使用技巧和注意事项,需要的朋友参考一下 前言 最近刚好有空,来学习一下如何搭建spring boot admin环境。其中遇到很多的坑。 网上大多都是使用admin-url的方式直接来监控的,感觉一点也不灵活,这不是我想要的结果,所以本篇介绍借助e

  • druid 提供了一个web端的监控页面, 搭建起来不算麻烦, 建议添加. 打开web.xml, 在nutz的filter之前, 加入Web监控的配置 <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebS

  • 本文向大家介绍Spring Boot Log4j2的配置使用详解,包括了Spring Boot Log4j2的配置使用详解的使用技巧和注意事项,需要的朋友参考一下 后台程序开发及上线时,一般都会用到Log信息打印及Log日志记录,开发时通过Log信息打印可以快速的定位问题所在,帮助我们快捷开发。程序上线后如遇到Bug或错误,此时则需要日志记录来查找发现问题所在。 Spring Boot 可以集成很

  • 本文向大家介绍详解spring 配置的两种方式:JAVA配置和注解配置,包括了详解spring 配置的两种方式:JAVA配置和注解配置的使用技巧和注意事项,需要的朋友参考一下 众所周知,spring自从3.0开始以后,就全面推荐使用配置的方式进行代码编写了,这种方式确实可以避免了之前一个项目里面一大堆XML的情况,毕竟XML的可读性实在不怎么样,而且一会写JAVA,一会写XML,确实还是蛮麻烦的