Micrometer为最流行的监控系统提供了一个简单的仪表客户端外观,允许仪表化JVM应用,而无需关心是哪个供应商提供的指标。它的作用和SLF4J类似,只不过它关注的不是Logging(日志),而是application metrics(应用指标)。简而言之,它就是应用监控界的SLF4J。
Micrometer(译:千分尺)
不妨看看SLF4J官网上对于SLF4J的说明:Simple Logging Facade for Java (SLF4J)
现在再看Micrometer的说明:Micrometer provides a simple facade over the instrumentation clients for the most popular monitoring systems.
Metrics(译:指标,度量)
Micrometer提供了与供应商无关的接口,包括 timers(计时器), gauges(量规), counters(计数器), distribution summaries(分布式摘要), long task timers(长任务定时器)。它具有维度数据模型,当与维度监视系统结合使用时,可以高效地访问特定的命名度量,并能够跨维度深入研究。
支持的监控系统:AppOptics , Azure Monitor , Netflix Atlas , CloudWatch , Datadog , Dynatrace , Elastic , Ganglia , Graphite , Humio , Influx/Telegraf , JMX , KairosDB , New Relic , Prometheus , SignalFx , Google Stackdriver , StatsD , Wavefront
1. 安装
Micrometer记录的应用程序指标用于观察、告警和对环境当前/最近的操作状态做出反应。
为了使用Micrometer,首先要添加你所选择的监视系统的依赖。以Prometheus为例:
1 <dependency> 2 <groupId>io.micrometer</groupId> 3 <artifactId>micrometer-registry-prometheus</artifactId> 4 <version>${micrometer.version}</version> 5 </dependency>