Prometheus云原生监控:运维与开发实战
上QQ阅读APP看书,第一时间看更新

3.5 Grafana高级模板

Grafana还有高级模板功能,通过Spring Boot在本章中加入的Maven依赖micrometer-jvm-extras,可以获取Spring Boot的JVM信息,JVM信息也是可以展现在Grafana监控大盘上的,如下所示。


<!--micrometer获取JVM相关信息,用于展示在Grafana上-->
<dependency>
<groupId>io.github.mweirauch</groupId>
<artifactId>micrometer-jvm-extras</artifactId>
<version>0.1.4</version>
</dependency>

https://grafana.com/grafana/dashboards是Grafana提供的官方大盘模板网站,在这里可以搜到很多与开源软件监控指标相关的现成的模板,也可以学到企业级定制中间件、系统监控模板的可视化相关方法。micrometer-jvm-extras对应的模板地址是https://grafana.com/grafana/dashboards/4701,如图3-14所示。

该官方文档介绍了与JVM(Micrometer)的功能、使用方法、版本更新等相关的多种信息,在Grafana上通过Import输入4701即可导入这些信息,如图3-15所示。

图3-14 JVM Micrometer模板

图3-15 导入JVM Micrometer模板

选中我们使用Grafana时创建的Spring Boot应用的数据源,重新将这个大盘的名字定义为My First JVM(Micrometer),并重新设置所在文件夹,点击Import就可以生成该Spring Boot应用的监控全景大盘了,如图3-16所示。

图3-16 保存JVM Micrometer监控大盘

最终生成的监控大盘如图3-17~图3-21所示。对这些图中所示重点内容的解读见表3-1。

图3-17 JVM Micrometer监控大盘(1)

图3-18 JVM Micrometer监控大盘(2)

图3-19 JVM Micrometer监控大盘(3)

图3-20 JVM Micrometer监控大盘(4)

图3-21 JVM Micrometer监控大盘(5)

表3-1 JVM Micrometer监控大盘监控项含义

在我的另一本书《HikariCP数据库连接池实战》中提到,指标监控是HikariCP监控实战的核心发力点,图3-22所示是HikariCP连接池指标监控的关注点。

图3-22 HikariCP连接池Metrics监控关注点

本书中的HikariCP监控也是通过Prometheus和Grafana技术完成的,对应的指标信息采集完成以后,监控页面显示效果如图3-23~图3-25所示。

图3-23 连接获取的等待时间和当前正在使用的连接数

图3-24 创建连接成功的耗时和当前空闲连接数

图3-25 连接被复用的间隔时长和连接池的总共连接数

https://grafana.com/grafana/dashboards/6083中可以发现,HikariCP已经支持Prometheus+Grafana监控插件了,如图3-26所示。

图3-26 HikariCP 6083监控插件

Grafana监控模板插件对Spring Boot 2.1.x版本有效,可通过Micrometer桥接,要使用数据库连接池的Spring Boot应用,可用如下配置方式接入该插件。


spring:
  application:
    name: my-service

  datasource:
    hikari:
      pool-name: custom-pool-name     # optional

management:
  endpoints:
    web:
      exposure:
        include: ["*"]                # customize to your need
  metrics:
    tags:
      application: ${spring.application.name}
      region: my-region

HikariCP的Grafana插件生成的监控大盘如图3-27所示,其中包含连接数、连接创建时间、连接获取等待时间等。

由图3-27所示可见,虽然其中监控项并不是非常多,但是其指明了以数据库连接池为例的中间件也是可以接入Prometheus和Grafana的,这对于中间件、基础架构等的开发有着技术前瞻性和指导作用。

图3-27 HikariCP Grafana监控大盘

在Grafana官方模板中还可以搜到Druid数据库连接池,其编号为11157,地址为https://grafana.com/grafana/dashboards/11157,如图3-28所示。

图3-28 Druid Grafana监控大盘

使用Druid的Grafana监控大盘,首先需要将Druid的指标信息注册到Micrometer的Registry上,然后引入spring-boot-starter-actuator 2.0.6.RELEASE和micrometer-registry-prome-theus 1.0.6版本的Maven依赖,并通过management.endpoints.web.exposure.include=*配置来开启Spring Boot Actuator上除了默认的info和Health之外的其他监控端点。效果如图3-29和图3-30所示。

图3-29 Druid Grafana监控大盘效果图(1)

图3-30 Druid Grafana监控大盘效果图(2)

很多官方提供的监控大盘比较粗糙,功能并不完善,开发者可以根据自己的实际业务需求,参照官方提供的监控大盘样例进行再加工。