写在前面:
继续记录自己的SpringBoot学习之旅,这次是SpringBoot应用相关知识学习记录。若看不懂则建议先看前几篇博客,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用!
3.6 监控
3.6.1 意义
- 监控服务是否宕机
- 监控服务运行指标(内存、虚拟机、线程以及请求等)
- 监控日志
- 管理服务(服务下线)
3.6.2 监控方式
- 监控程序主动获取被监控程序信息,被监控程序开放某些信息获取权限
3.6.3 可视化监控平台
- SpringBoot Admin,开源社区项目,用于管理和监控SpringBoot应用程序。客户端注册到服务端,并通过HTTP请求方式,服务端定期从客户端获取对应的信息,并通过UI界面展示对应信息。
3.6.4 搭建程序
3.6.4.1 创建服务端程序
- 创建新项目,勾选SpringBootAdmin服务端,如图
- 添加坐标,如图
- 配置Web依赖,如图
- 配置端口以及开启,如图
- 启动项目在浏览器地址栏输入
http://localhost:8080/applications
即可看到结果,如图
3.6.4.2 创建客户端项目
- 创建新项目,勾选客户端配置,如图
- 配置web以及端口,如图
- 启动项目,则可以在之前的网址中看到结果,如图
3.6.5 使用
- 在客户端yml配置中开启健康信息,如图
- 运行结果如图
- 开放所有信息,如图
- 运行如图
- 将SSM项目加进去监控程序,依赖和yml配置同上,运行后如图
- 启动后对SSM项目页面刷新后可在性能模块监控到具体执行次数,如图
3.6.6 监控原理
- Actuator提供了SpringBoot生产就绪功能,通过端点的配置与访问,获取端点信息
- 端点描述了一组监控信息,SpringBoot提供了多个内置端点,也可以根据需要自定义端点信息
- 访问当前应用所有端点信息:/actuator
- 访问端点详细信息:/actuator/端点名称
- 几个重要的端点:
- health:显示应用程序健康信息,默认启动
- loggers:显示和修改应用程序中日志记录器的配置,默认启动
- metrics:显示当前应用程序中的指标度量信息
- 开放指定端口或所有端点开放配置如图
3.6.7 常用端点
3.6.7.1 info端点
- 更改yml,开启info配置,如图
- 编程配置info,如图
- 运行结果如图
3.6.7.2 health端点
- 不能更改信息,只能添加组件从而添加信息
- 添加redis坐标并重启,如图
- 重启后如图
,报错redis服务未开启,开启服务即可 - 编程health信息,如图
,运行后如图
3.6.7.2 metrics端点
- 用于统计某些方法或功能使用次数,从而对此做出更好的规划
- 项目添加接口Metrics及其实现,如图
- 编写简单的controller方法,统计次数,如图
- 运行后在性能中选择方法,如图
3.6.7.2 自定义端点
- 编写配置类,如图
- 运行后如图