Spring Boot 2精髓 - (17) 监控 Spring Boot应用

spring boot

SpringBoot也提供了Actuator功能来的监控, 查看 Spring Boot 应用的配置、各种指标、健康程度等

查看和监控以下信息:

  • Spring Boot 的配置信息
  • Spring Boot 配置的 Bean 信息
  • 最近请求的 HTTP 信息
  • 数据源,NoSQL 等数据状态
  • 在线查看日志内容,在线日志配置修改
  • 所有@RequestMapping注解的URL路径
  • 自动装配信息汇总
  • 打印虚拟机的线程栈
  • Dump 内存
  • 应用的各种指标、汇总
  • 自定义监控指标

安装 Acutator

依赖:

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

配置:

1
2
3
4
management.server.port=8081
management.endpoints.web.exposure.include=*
#management.endpoints.web.exposure.exclude=env,beans
management.endpoints.web.base-path=/application

HTIP 跟踪

trace跟踪功能,能查看最近的 HTTP请求和响应

http://localhost:8081/application/trace

日志查看

Actuator 允许查看日志配置,还允许修改日志等级配置,Actuator也可以在线查看日志内容

http://localhost:8081/application/loggers

线程核信息

可以通过输入dump来获取某一时刻虚拟机线程樵信息,该信息类似使用JDK自带的 jstack命令的输出结果或者 kill -3 的结果。
线程械表示某一时刻虚拟机正在做的事情

http://localhost:8081/application/dump

内存信息

heapdump 类似JDK提供的jmap工具,能将内存镜像压缩下载以提供分析

http://localhost:8081/application/heapdump

查看URL映射

Actuator 的 mappings 输出所有通过注解@RequestMapping 设置的URL映射,可以通过此来查看URL对应的Controller

查看 Spring 容器管理的 Bean

Actuator 的 beans 输出所有 Spring 管理的 Bean

其它监控

  • health: 查看所在应用的健康状态,如磁盘、数据源、Redis、Elasticsearch 等。
  • metrics: 显示 Spring Boot 的性能指标,如己有内存、未占用内存、垃圾回收次数、类信息等。
  • env: 显示 SpringBoot环境变量,如使用的 JDK版本、加载的 jar包、配置文件信息、日志文件信息。
  • configprops: 所有@ConfigurationProperties 注解的配置信息,如文件上传的最大允许 配置等。
  • autoconfig:显示所有自动装配类的报告,以及是什么原因导致自动装配成功或者不成功

编写自己的监控信息

health 用于检查 Spring Boot 应用的健康状态,提供了磁盘的健康状态显示,如果应用还使用了数据源、NoSQL等,也会显示相应的健康状态。
Spring Boot 使用 Healthlndicator 接口实现监控信息显示,默认有如下类实现 Healthlndicator 接口

metrics 用来查看系统的各项指标,包括主机内存的大小、虚拟机 heap 信息、线程信息、垃圾回收、Tomcat会话信息等。
也可以在你的Bean中注入CounterService,调用 increment 方法和 decrement 方法来设置指标值

编写 HealthIndicator

编写自己的监控器,只需要继承 Healthlndicator,实现 health 方法,返回一个 Health 对象即可

自定义监控

注解@Endpoint来自定义一个监控类,并在方法上使用@ReadOperation来显示监控指标,使用@WriteOperation来动态更改监控指标

Powered by Hexo and Hexo-theme-hiker

Copyright © 2013 - 2021 朝着牛逼的道路一路狂奔 All Rights Reserved.

访客数 : | 访问量 :