SpringBoot应用监控

SpringBoot实战第十一章应用监控笔记

SpringBoot 提供了运行时的应用监控和管理功能,可以通过http,JMX, SSH协议来进行操作

Spring Initializr依赖为 Actuator,Web,HATEOAS

1. 监控和管理端点

端点名 描述
actuator 所有EndPoint的列表,需加入spring HATEOAS
autoconfig 当前应用的所有自动配置
beans 当前应用的所有Bean信息
configprops 当前应用的所有配置属性
dump 显示当前应用线程状态信息
env 显示当前应用当前环境信息
health 显示当前应用健康状况
info 显示当前应用信息
metrics 显示当前应用的各项指标信息
mappings 显示所有的@RequestMapping映射的路径
shutdown 关闭当前引用(默认关闭),不支持GET,支持POST
trace 显示追踪信息

 

 

 

 

 

 

 

 

 

 

2. 定制端点

  1)  修改端点id,改变访问端点的URL地址:  endpoints.端点名.id=新端点名

  2)  开启和关闭端点: endpoints.端点名.enabled=true|false

  3)  控制所有端点开关,可以在此之后进行单个的开操作: endpoints.enabled=false

  4)  修改端点访问路径: management.context-path=/manage

  5)  修改端点访问端口: management.port=8081  值为-1时关闭http端点

3. 自定义端点

继承AbstractEndpoint并且注册为Bean

4. 自定义HealthIndicator

实现HealthIndicator并且注册为Bean

Spring中内置的HealthIndicator:

名称 描述
DiskSpaceHealthIndicator 检测低磁盘空间
DataSourceHealthIndicator 检测DataSource连接是否能获得
ElasticsearchHealthIndicator 检测Elasticsearch是否运行
JmsHealthIndicator 检测JMS消息代理是否在运行
MailHealthIndicator 检测邮件服务器是否在运行
MongoHealthIndicator 检测MongoDB是否在运行
RabbitHealthIndicator 检测RabbitMQ是否在运行
RedisHealthIndicator 检测Redis是否在运行
SolrHealthIndicator 检测Redis是否在运行

5. JMX对应用进行监控和管理

在控制台中打开Java内置的jconsole打开界面,选择当前程序的进程,进入Mbean标签

6. SSH访问

依赖为Remote Shell(spring-boot-starter-remote-shell)

使用SSH客户端访问

猜你喜欢

转载自www.cnblogs.com/kwpsz/p/10925436.html