Spring-官方出品应用监控度量指标门面类库Micrometer介绍

1次阅读

共计 1383 个字符,预计需要花费 4 分钟才能阅读完成。

前言

上篇文章 Spring Boot 2.x 中的 Actuator 我们提到了在 Spring Boot Actuator 中的 metirc 指标。在 Spring Boot 2.x 中 官方引入了新的监控门面 (facade) 类库 Micrometer。如果你对门面不是很清楚,你应该听说过 SLF4J 库,它可以对 log4j2,logback 等日志类库进行兼容。同样的 Micrometer 也对 Actuator 的指标功能进行了门面适配。本文将对其进行简单介绍。来帮你来了解它。

作用

Micrometer 的作用就是提供一个度量指标的客户端门面。你的 Spring Boot 应用集成了它之后。可以对市面上流行的一些应用监控进行适配。帮助这些监控采集、格式化数据。这些监控包括:AppOptics, Azure Monitor,Netflix Atlas, CloudWatch, Datadog,Dynatrace,Elastic, Ganglia, Graphite,Humio, Influx/Telegraf,JMX,KairosDB, New Relic,Prometheus, SignalFx, Google Stackdriver, StatsD,Wavefront。作为度量门面类库,Micrometer 允许您使用供应商中立的界面使用维度指标来检测代码,并作为最后一步决定监控系统。使用 Micrometer 检测核心库代码允许将库包含在将度量标准发送到不同后端的应用程序中。
而且拥有开箱即用的缓存,类加载器,垃圾收集,处理器利用率,线程池以及更多针对可操作洞察的解决方案。特别是 Spring Boot 2.x 对其进行高度的支持。

依赖引入

依赖引入取决于我们监控平台的选择,格式为:micrometer-registry-{monitorsystem}。例如我们使用 Prometheus :

     <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>

在 Spring Boot 2.x 引入以上依赖后,就会自动启用相关的配置。每一种监控系统的配置是不一样的,可查看相关的文档:入口

最佳实践

其实引入了依赖后我们通过 actuator 暴露你需要暴露的端点之后,对应的 Micrometer 就会自动配置。但是为了方便监控 建议我们对应用配置一些特殊的 tag 来更加准确的描述我们的监控实例:


@Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {return registry -> registry.config().commonTags("application", "MYAPPNAME","instance","YOURINSTANCE");
}

以上的 tag 组合可以更好的来标识你的应用,特别在集群当中。

总结

Pivotal 提供的这个监控门面非常强大,而且简单,这个其实是面向运维的一个类库,对于开发者来说可定制的东西其实不多,做好配置就可以使用。而且使用该门面进行监控一般用于微服务,或者一些云原生应用集群。对于独立应用来说 个人推荐使用另一个轻量级监控工具——Spring Boot Admin。

关注公众号:码农小胖哥 获取更多资讯

正文完
 0