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