Micrometer 微服务监控

不同于单体架构的应用,微服务架构由于服务数量众多,出故障的概率更大,这种时候不能单纯依靠“人肉”运维,否则当服务数量越来越多时成本将变得不可控。一个好的解决方案是我们需要对服务进行监控,监控服务运行的数据。当有异常情况出现时,服务能够自动报警,方便运维工程师去处理。

Spring Cloud 中对于服务监控这一个话题也是在不断地变化中。早期的版本( Greenwich 版之前)服务监控主要使用 Hystrix Dashboard 仪表盘,集群数据监控使用 Turbine,这一技术组合在最新的 Greenwich 版中被建议使用 Micrometer 来替换掉。相对于前者, Micrometer 的使用确实要方便很多,而且容易结合配套工具 Prometheus 以及 Grafana 一起使用,具备自动报警功能,数据展示也更加多样化,方便运维工程师去查看。

一、什么是Micrometer

Micrometer 为数据测量仪表提供了一个简单的外观,它几乎适用于大部分目前最流行的监控系统,允许开发者检测基于 JVM 的应用程序代码, Micrometer 有点类似于 SLF4J ,只不过是针对测量数据的。Micrometer 主要有如下三方面的功能:

  • Micrometer 提供了度量指标类,例如 timers、gauges 以及 counters等。
  • 一揽子开箱即用的解决方案,例如缓存、类加载器、垃圾收集、处理器利用率以及线程池等。
  • 从 Spring Boot 2.0 开始, 在 Spring Boot Actuator 中使用了 Micrometer 。在早期的 Spring Boot 版本中,也支持通过附加依赖的方式来使用 Micrometer。

Micrometer 支持流行的监控系统,作为一个门面,Micrometer 允许开发者检测代码,并决定是否监控系统。Micrometer 支持 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 基本用法

 

posted @ 2020-09-13 18:56  codedot  阅读(547)  评论(0编辑  收藏  举报