1. 程式人生 > >Spring 官方出品應用監控度量指標門面類庫Micrometer介紹

Spring 官方出品應用監控度量指標門面類庫Micrometer介紹

前言

上篇文章 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 。

關注公眾號:碼農小胖哥 獲