如何用Spring Boot进行应用程序性能监控APM?
(1)Spring Boot 2.0监控指标 基于Spring Boot应用程序,我们如何做应用程序的性能监控。对于微服务架构的市场开发课程,也是很重要的一个铺垫,大家需要实战操作去理解我们整个课程内容,包括我们会讲非常重要的里面提供了一个组件,executed还有社区里面一个重要的开发项目,Spring Boot2.5,来帮我们去提供可视化的一套接口,Spring Boot本身也提供这种对应的一些接口,你可以去抓取这些原始的数据,我们在后续使用Spring Boot进行开发的话,这些信息也都可以抓得到,只不过我们需要大家去了解,结合自己的整个监控需求,进行配置相应的接口。
(2)Spring Boot性能监控Actuator
- Spring Boot 2014年4月性能监控和管理组件Actuator 。
Actuator,主要是来帮助你去进行应用程序的一些监控参数的收集,并且进行扩展暴露给第三方程序的。地质列表里面实际针对的各种不同的一个数据的暴露的信息,这里面比较重要的应用程序性能监控的这些数据都属于敏感数据,不能轻易的暴露给第三方及外界。当然还有另外一个问题就是这是一把双刃剑,它本身的性能监控指标的数据收集的话,一定也会消耗一定的服务器资源,比如我们讲的是 CPU或者我们说内存,这里面还会通过网络暴露的话会消耗一定的网络带宽资源,它提供了各种不同的这种监控指标信息的话,实际都属于我们说叫Endpoint的系列都给你提供了一个暴露的端点或者叫终结点。 二、Spring Boot 2.4实战 –内置性能监控 Endpoint
通过网络给你提供了一个数据暴露的接口,现在就可以用第三方的一些展示数据或自己来开发,开发一个web界面来去展示。
1.web对接可以抓取原始的单位信息,可以通过HTTP协议或者我们JMX来暴露可以对接prometheus原生环境下比较重要的一个心理监控的一套解决方案。 例子:2.0以后启动了一个我们说的这样一个应用程序,这个地址上下面有很多子目录,对应的这些不同信息的地址,然后你可以去抓取他然后进行展示,是非常重要的。
2.2.0默认监控EndPoint
后面看如何和实际项目进行结合,讲了很多理论知识和概念,也是希望告诉大家这里面对于我们的后续大家开发使用Spring Boot应用程序,包括recipe项目前后端分离的架构的项目,包括我们说微服务架构项目集群,这都是非常重要的一个方式,而且我们整个微架构进行监控的话,也是在这个基础上进行了升级改造。
你如果要做应用程序的性能监控,这是敏感数据,你要加入终结点的一个暴露信息的一个形式,这个*的话代表所有种类,如果说我只暴露健康的,我只暴露内存或者thread的或者bean的,你只指定一个用逗号分割,有多个用逗号分割。
Micrometer 1. Micrometer是多维度指标收集器,语言中立的API。 2. 通过类路径和配置,可以支持多系统导出数据,集成框架! 3. Spring Boot 2 Actuator中包含的指标收集工具。 4. Spring Boot 1.5,1.4和1.3支持,额外依赖项。 5. Micrometer为Spring Boot 1中counters和gauges增强功能。 6. 例如, Micrometer Timer能够生成吞吐量,总时间,最近样本的最大延迟,预先计算的百分位数,百分位柱状图相关的时间序列和SLA边界计数。 7. 支持更多的监控工具如Prometheus, Datadog, Wavefront, SignalFx, Influx, etc 8. Spring Boot 2强化特性 Micromeat叫微型指标收集器,它是帮你收集并发,吞吐量相关的那些信息qps,Wps每秒的读取数量每秒的写入数量,这些数据都可以收集起来以后做曲线图,Micromeat的话叫基准测量。 Count是个计数器,这个接口累计被调用次数,还有我们说高阶的话,有可能统计的我们说是不一样的,里面我们说的是针对不同的数据类型,它不同的统一指标,它的数量是不一样,比如我们统计的可能是过去一秒钟它的并发每秒钟的并发的分值,这都不一样。
Spring Boot 2.0增强Micrometer 1. JVM各种参数使用率 2. 各种内存和缓冲池 3. 与垃圾收集有关的统计 4. 线程利用率 5. 加载/卸载的类的数量 6. CPU使用率 7. Spring MVC和WebFlux请求延迟时间 8. RestTemplate延迟时间 9. 缓存使用率 10.数据源使用率,包括HikariCP池指标参数 11.RabbitMQ连接工厂参数 12.文件描述符使用率使 13.Logback:记录每个级别记录到Logback的事件数量 14.正常运行时间:报告正常运行时间表和表示应用程序绝对启动时间的固定计量表 15.Tomcat使用情况
Micrometer采集数据图形
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。