上篇文章 Spring Boot 2.x 中的 Actuator 咱们提到了在Spring Boot Actuator中的metirc指标。在Spring Boot 2.x中 官方引入了新的监控门面(facade)类库Micrometer。若是你对门面不是很清楚,你应该据说过SLF4J库,它能够对log4j2,logback等日志类库进行兼容。一样的Micrometer也对Actuator的指标功能进行了门面适配。本文将对其进行简单介绍。来帮你来了解它。html
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对其进行高度的支持。java
依赖引入取决于咱们监控平台的选择,格式为:micrometer-registry-{monitorsystem}
。例如咱们使用Prometheus :spring
<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组合能够更好的来标识你的应用,特别在集群当中。app
Pivotal 提供的这个监控门面很是强大,并且简单,这个实际上是面向运维的一个类库,对于开发者来讲可定制的东西其实很少,作好配置就可使用。并且使用该门面进行监控通常用于微服务,或者一些云原生应用集群。对于独立应用来讲 我的推荐使用另外一个轻量级监控工具——Spring Boot Admin 。运维
关注公众号:码农小胖哥 获取更多资讯
spring-boot