本文是读《Spring Boot2精髓-从构建小系统到架构分布式大系统》的读书笔记。
Java EE 规范中囱 JMX 来监控管理应用, Spring Boot 也提供了 Actuator 功能来完成类似的监控,通过 HTTP 、 JMX,甚至是远程脚本( SSH )来查看 Spring Boot 应用的配置、各种指标、
健康程度等。
17.1 安装Actuator
17.2 HTTP跟踪
Spring Boot 提供了 trace 跟踪功能,能查看最近的 HTTP 请求和响应,在浏览器输入:
http://localhost:8081/application/trace
17.3 日志查看
Actuator 允许查看日志配置 ,还允许修改日志等级配置, Actuator 也可以在线查看日志 内容 。在浏览器中输入 :
http://localhost:8081/application/loggers
17.4 线程栈信息
在 Spring Boot 中 , 可 以通过输入 dump 来获取某一时刻虚拟机线程樵信息,该信息类似使用 JDK 自带的 j stack 命令的输出结果或者 kill -3 的结果。线程械表示某一时刻虚拟机正在做的事情,比如以下输出 :
http://127.0.0.1:8081/application/dump
17.5 内存信息
Spring Boot 的 heapdump 类似 JDK 提供的 jmap 工具,能将内存镜像压缩下载以提供分析 ,在浏览器中输入 :
http://localhost : 8081/application/heapdump
17.6 查看URL映射
Actuator 的 mappings 输出所有通过注解@RequestMapping 设置 的 URL映射 , 可以通过此来查看 URL 对应的 Controller:
17.7 查看Spring容器管理的Bean
Actuator 的 b eans 输出所有 Spring 管理的 Bean , 输出如下:
17.8 其他监控
health
: 查看所在应用的健康状态,如磁盘、数据源、 Red i s 、 Elasticsearch 等,
metrics
: 显示 Spring Boot 的性能指标,如己有内存、未占用内存、垃圾回收次数、类信息等。
env
: 显示 Spring Boot 环境变量,如使用的 JDK 版本、加载的 jar 包、配置文件信息、日志文件信息。
configprops
: 所有@ConfigurationProp e rtie s 注解的配置信息,如文件上传的最大允许配置等。
autoconfig
:显示所有自动装配类的报告,以及是什么原因导致自动装配成功或者不成功 。
17.8 编写自己的监控信息
编写HealthIndicator
自定义监控