目录
为什么/actuator/metrics端点在Spring Boot 2中发生了变化
前言
今天在学习micometer相关的内容,看到一篇博文,突然想到,可以尝试翻译一下博客。
水平有限,就不公开误人子弟了,内部专享。
原文链接:https://spring.io/blog/2018/03/16/micrometer-spring-boot-2-s-new-application-metrics-collector
Micrometer是什么?
Micrometer是一个“维度优先”的指标收集门面,目的是让你能用与提供方无关的API来计时/统计/测量代码。通过类路径和配置,你可以选择一个或者多个监控系统来导出你的统计数据。
类似于SLF4J,但是用于指标的!
Micrometer是Spring Boot2.x Actuator包含的指标收集工具。Micrometer添加了比Spring Boot1.x里已包含的更丰富的测量基元来统计和计量。
Micrometer添加了比Spring Boot 1中更丰富的Meter(注2)。例如,单个Micrometer Timer Meter能够生成与吞吐量、总时间、最近采样的最大等待时间,
预计算的百分位数,百分位数直方图,SLA边界计数。
尽管Micrometer专注于维度指标,但是它仍然会继续服务于Ganglia等较旧的监控方案或者小众的工具比如JMX。Micrometer改变的目的是更好地服务于多维度的监控系统(比如 Prometheus, Datadog, Wavefront, SignalFx, Influx等)。Spring的有个强项就是通过抽象提供多选择实现。通过与Micromer集成,现在Spring Boot可以让您选择一个或者多个监控系统,并且在以后能不用重写自定义指标实现的情况下做出改变。
在研发“又一个”指标收集库之前,我们仔细研究了现有或者即将出现的维度收集器。但是,当我们考虑将其导出到更多的监控系统时,名称结构和数据结构重要性变得越来越明显。Micrometer内置了命名约定规范化、时间缩放的基本单位以及对结构专有表达式(如直方图数据)的支持的概念,这些对于使指标在每个目标系统中发挥作用至关重要。在此过程中,我们还添加了Meter过滤功能,使您可以更好地控制上游依赖项的检测。
开箱即用
spring Boot 2自动配置了很多指标。包括:
-
JVM, report utilization of:
-
Various memory and buffer pools
-
Statistics related to garbage collection
-
Thread utilization
-
Number of classes loaded/unloaded
-
-
CPU usage
-
Spring MVC and WebFlux