ramostear.comramostear.com 谭朝红的技术分享博客

格言 编程是一门技术,也是一门艺术 !

Spring Boot Actuator的使用

Spring Boot Actuator的使用

Spring Boot(十六)— Actuator

Spring Boot Actuator提供了一个安全的、用于监控和管理Spring Boot应用程序的端点。在默认情况下,所有的Actuator端点都被安全保护机制所保护起来的。在本章节中,我们将学习有关Spring Boot Actuator的基础知识。

启动Spring Boot Actuator

为了在Spring Boot应用程序中启用Actuator功能,我们需要在Maven build文件中添加Spring Boot Actuator Starter依赖。

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

配置Actuator

在application.properties文件中,我们需要进行如下的配置:

management.endpoint.env.enabled=true
management.endpoints.web.exposure.include=*
management.server.port=9000

说明:第一行配置是开启端点管理功能,第二行配置是禁用端点的安全检查,最后是为Actuator配置了一个独立的运行端口

如果采用的是YAML文件格式作为Spring Boot应用程序的配置文件,可以使用下面的方式进行配置:

management:
  endpoint:
      env:
        enable:true
  endpoints:
    web:
      exposure:
        include:*
  server:
    port:9000

注意:在Spring Boot 2.0的版本中,原来的management.security.enabled和management.port两个属性配置已经被废弃

启动应用程序

使用maven命令mvn clean install对项目进行打包,当控制台窗口提示“BUILD SUCCESS”信息后,你可以在当前工程目录下找到相应的JAR文件。

现在,你可以使用下面的命令来运行JAR文件:

java -jar JARFILE

下面是应用程序启动成功后控制台窗口的日志信息:

2019-03-12 00:34:58.880  INFO 14084 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-03-12 00:34:58.901  INFO 14084 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]

....

2019-03-12 00:34:59.710  INFO 14084 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 9000 (http)
2019-03-12 00:34:59.711  INFO 14084 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]

...

2019-03-12 00:34:59.757  INFO 14084 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 15 endpoint(s) beneath base path '/actuator'
2019-03-12 00:34:59.928  INFO 14084 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9000 (http) with context path ''
2019-03-12 00:34:59.959  INFO 14084 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''

通过日志信息可知,应用程序已经在Tomcat 8080端口上启动,Actuator以9000端口启动。

测试

打开Postman测试工具,在地址栏输入:http://localhost:9000/actuator 并发送请求:

可以看到,Spring Boot Actuator列举了所有的管理端点信息,接下来,将通过一个表格对Actuator中几个重要的端点加以说明:

EndPoint 说明
/metrics 查看应用程序指标,如内存使用率,线程信息、类以及系统运行时间等信息
/env 查看应用程序的环境变量
/beans 查看应用程序中的Bean及其类型、生命周期和依赖关系
/health 查看应用程序的健康状况
/info 查看有关Spring Boot应用程序的基本信息
/trace 查看Rest端点的Traces列表信息

(转载本站文章请注明作者和出处:谭朝红-ramostear.com,未经允许请勿做任何商业用途)

发表评论