当前位置:   article > 正文

Micrometer快速入门_io.micrometer histgram

io.micrometer histgram

背景

监控要可视化,仪表化,这样才能有最直观的感受。
监控软件系统多种多样,类型繁多,如:AppOptics , Azure Monitor , Netflix Atlas , CloudWatch , Datadog , Dynatrace ,Elastic , Ganglia , Graphite , Humio , Influx/Telegraf , JMX , KairosDB , New Relic , Prometheus , SignalFx , Google Stackdriver , StatsD , Wavefront ,Nightingale等。
要选择或者更替可视化的监控软件,就显得尤为麻烦。而Micrometer就是一个集成了上述这些监控软件的第三方,同时它还有一些自己的扩展。不必去适配各种监控软件,只需要使用和配置好Micrometer,间接地使用上述软件。

简介

Micrometer是一款监控指标的度量类库,Micrometer 会负责完成与不同监控系统的适配工作。这就使得切换监控系统变得很容易。Micrometer 还支持推送数据到多个不同的监控系统。因其功能强大,spring在Springboot2.x中正式将其纳入范围。

springboot集成Micrometer
1)加入springboot集成micrometer依赖:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
	<version>2.1.4.RELEASE</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

2)加入对应使用的监控系统依赖,实现数据上报到对应监控系统:
格式:io.micrometer/micrometer-registry-{system}
示例:加入夜莺依赖

 <dependency>
 	<groupId>com.github.lynxcat</groupId>
    <artifactId>micrometer-registry-nightingale</artifactId>
    <version>1.6.5</version>
</dependency>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Micrometer使用(相关组件功能介绍)

  • Registry

简述:监控系统单适配、多适配
Meter是收集关于你的应用的一系列指标的接口。
Meter是由MeterRegistry创建的。每个支持的监控系统都必须实现MeterRegistry。
Micrometer中包含一个SimpleMeterRegistry,它在内存中维护每个meter的最新值,并且不将数据导出到任何地方。
如果你还没有一个首选的监测系统,你可以先用SimpleMeterRegistry:
MeterRegistry registry = new SimpleMeterRegistry();
注意:如果你用Spring的话,SimpleMeterRegistry是自动注入的
还提供一个CompositeMeterRegistry用于将多个registries结合在一起使用,允许同时向多个监视系统发布指标。

CompositeMeterRegistry composite = new CompositeMeterRegistry();
Counter compositeCounter = composite.counter("counter");
compositeCounter.increment();
SimpleMeterRegistry simple = new SimpleMeterRegistry();
composite.add(simple);
compositeCounter.increment();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Meters

简述:监控不同业务指标实现Meter即可
Meter是收集关于你的应用的一系列指标的接口。
Meter是由MeterRegistry创建的。每个支持的监控系统都必须实现MeterRegistry。 Micrometer提供一系列原生的Meter,包括Timer , Counter , Gauge , DistributionSummary , LongTaskTimer , FunctionCounter , FunctionTimer , TimeGauge。不同的meter类型导致有不同的时间序列指标值。例如,单个指标值用Gauge表示,计时事件的次数和总时间用Timer表示。

  • Naming meters(指标命名)

简述:适配监控系统需定义各自不同规则的命名转换器
Micrometer使用了一种命名约定,用.分隔小写单词字符。不同的监控系统有不同的命名约定。
每个Micrometer的实现都要负责将Micrometer这种以.分隔的小写字符命名转换成对应监控系统推荐的命名。
因此每个监控系统都要提供一个命名转换器,NamingConvention来覆盖默认的命名转换
registry.config().namingConvention(myCustomNamingConvention);
示例:定义http请求次数timer

registry.timer("http.server.requests");
  • 1
  1. Tag naming
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/146803
推荐阅读
相关标签
  

闽ICP备14008679号