• Spring Boot如何进行监控项目/SpringBoot Admin监控程序怎么用/监控程序可以监控到哪些信息


    写在前面
    继续记录自己的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服务端,如图![[Pasted image 20221119143439.png]]
    • 添加坐标,如图![[Pasted image 20221119143811.png]]
    • 配置Web依赖,如图![[Pasted image 20221119143925.png]]
    • 配置端口以及开启,如图![[Pasted image 20221119144130.png]]
      ![[Pasted image 20221119144139.png]]
    • 启动项目在浏览器地址栏输入http://localhost:8080/applications即可看到结果,如图![[Pasted image 20221119144700.png]]
    3.6.4.2 创建客户端项目
    • 创建新项目,勾选客户端配置,如图![[Pasted image 20221119144834.png]]
    • 配置web以及端口,如图![[Pasted image 20221119145238.png]]
    • 启动项目,则可以在之前的网址中看到结果,如图![[Pasted image 20221119145612.png]]

    3.6.5 使用

    • 在客户端yml配置中开启健康信息,如图![[Pasted image 20221119145923.png]]
    • 运行结果如图![[Pasted image 20221119150008.png]]
    • 开放所有信息,如图![[Pasted image 20221119150345.png]]
    • 运行如图![[Pasted image 20221119150930.png]]
    • 将SSM项目加进去监控程序,依赖和yml配置同上,运行后如图![[Pasted image 20221119151706.png]]
    • 启动后对SSM项目页面刷新后可在性能模块监控到具体执行次数,如图![[Pasted image 20221119152701.png]]

    3.6.6 监控原理

    • Actuator提供了SpringBoot生产就绪功能,通过端点的配置与访问,获取端点信息
    • 端点描述了一组监控信息,SpringBoot提供了多个内置端点,也可以根据需要自定义端点信息
    • 访问当前应用所有端点信息:/actuator
    • 访问端点详细信息:/actuator/端点名称
    • 几个重要的端点:
      • health:显示应用程序健康信息,默认启动
      • loggers:显示和修改应用程序中日志记录器的配置,默认启动
      • metrics:显示当前应用程序中的指标度量信息
    • 开放指定端口或所有端点开放配置如图![[Pasted image 20221119165116.png]]

    3.6.7 常用端点

    3.6.7.1 info端点
    • 更改yml,开启info配置,如图![[Pasted image 20221119172357.png]]
    • 编程配置info,如图![[Pasted image 20221119173829.png]]
    • 运行结果如图![[Pasted image 20221119173939.png]]
    3.6.7.2 health端点
    • 不能更改信息,只能添加组件从而添加信息
    • 添加redis坐标并重启,如图![[Pasted image 20221119174353.png]]
    • 重启后如图![[Pasted image 20221119174428.png]]
      ,报错redis服务未开启,开启服务即可
    • 编程health信息,如图![[Pasted image 20221119224014.png]]
      ,运行后如图![[Pasted image 20221119224028.png]]
    3.6.7.2 metrics端点
    • 用于统计某些方法或功能使用次数,从而对此做出更好的规划
    • 项目添加接口Metrics及其实现,如图![[Pasted image 20221120152839.png]]
    • 编写简单的controller方法,统计次数,如图![[Pasted image 20221120152914.png]]
    • 运行后在性能中选择方法,如图![[Pasted image 20221120153149.png]]
    3.6.7.2 自定义端点
    • 编写配置类,如图![[Pasted image 20221120154057.png]]
    • 运行后如图![[Pasted image 20221120154120.png]]
      ![[Pasted image 20221120154147.png]]
  • 相关阅读:
    error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const * __cdecl
    【LeetCode-389】找不同
    PON网络是什么
    嵌入式系统开发【深入浅出】 通讯基本概念
    Linux升级jdk8为jdk11
    前端解决反序列化long类型精度丢失的问题
    三、Go环境安装
    如何将本地文件上传到Gitee
    【微搭低代码】家校协同管理系统实战开发教程
    【算法】折半插入排序
  • 原文地址:https://blog.csdn.net/qq_40903378/article/details/127966519