Spring Boot 2.x监控数据可视化(Actuator + Prometheus + Grafana手把手)
TIPS
本文基于Spring Boot 2.1.4,理论支持Spring Boot 2.x所有版本
众所周知,Spring Boot有个子项目Spring Boot Actuator,它为应用提供了强大的监控能力。从Spring Boot 2.0开始,Actuator将底层改为Micrometer,提供了更强、更灵活的监控能力。Micrometer是一个监控门面,可以类比成监控界的 Slf4j
。
借助Micrometer,应用能够对接各种监控系统,例如:
Grafana可视化
至此,已经用Prometheus实现了监控数据的可视化,然而使用体验并不好。下面来用Grafana实现更友好、更贴近生产的监控可视化。
Grafana是一个开源的跨平台度量分析和可视化 + 告警工具。
官方网站
创建监控Dashboard
-
点击导航栏上的
+
按钮,并点击Dashboard,将会看到类似如下的界面: -
点击
Add Query
,即可看到类似如下的界面:在白框标记的位置输入指标,指标的取值详见Spring Boot应用的
/actuator/prometheus
端点,例如jvm_memory_used_bytes
、jvm_threads_states_threads
、jvm_threads_live_threads
等,Grafana会给你较好的提示,并且支持较为复杂的计算,例如聚合、求和、平均等。如果想要绘制多个线条,可点击Add Query
按钮,如上图所示,笔者为图表绘制了两条线,分别代表daemon以及peak线程。 -
点击下图的按钮,并填入Title,即可设置图表标题。
-
按下图步骤操作,即可为Dashboard添加新的图表。
Dashboard市场
至此,已可用Grafana实现较为丰富的图表展示——可将关心的监控指标放置到Dashboard上,并且非常灵活!然而,这个配置的操作虽然不难,但还是挺费时间的……
那么是否有配置好的又强大、又通用、拿来即用的Dashboard呢?答案是肯定的!前往
如上图所示,可以找到若干款以 Prometheus
作为数据源,支持Micrometer的Dashboard!下面,来演示如何使用 JVM(Micrometer)
这个Dashboard。
其他Dashboard使用方式大同小异,建议使用前先点击了解下详情,一般Dashboard中都会有说明。
-
点击
JVM(Micrometer)
进入Dashboard详情介绍页,如下图所示:如图已详细描述了该Dashboard的特性、配置。其中的