概述

HikariCP提供了一些监控指标,他的监控指标都是基于MicroMeter提供出来的,然后支持Prometheus和Dropwizard。本次我们将讨论一下HikariCp的监控指标有哪些,为什么提供这些指标,以及咱们如何去做监控。

监控指标

就像com.zaxxer.hikari.metrics.PoolStats提供的那样,几个重要的指标都存储在poolState中。

  • totalConnections

    总连接数,包括空闲的连接和使用中的连接。

  • idleConnections 空闲连接数

  • activeConnections

    活跃连接数

totalConnections = activeConnection + idleConnections

  • pendingThreads

    正在等待连接的线程数量。排查性能问题时,这个指标是一个重要的参考指标,如果正在等待连接的线程在相当一段时间内数量较多,可以考虑扩大数据库连接池的size。(即HikariCP的maxPoolSize)

  • maxConnections

    最大连接数,统计指标,统计到目前为止连接的最大数量。

  • minConnections

    最小连接数,统计指标,统计到目前为止连接的最小数量。

  • usageTime

    每个连接使用的时间,当连接被回收的时候会记录此指标:com.zaxxer.hikari.pool.HikariPool#recycle

  • acquireTime

    获取每个连接需要等待时间,一个请求获取数据库连接后或者因为超时失败后,会记录此指标。

  • connectionCreateTime

    连接创建时间

如何监控

这里拿我们比较熟悉的SpringBoot项目为例,同时使用prometheus和grafana,项目中加入promethues的依赖:

    implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus:1.3.0'

同时在SpringBoot项目的application.properties配置文件中加入以下参数:

    management.endpoints.web.exposure.include=prometheus 暴露prometheus格式化的指标,这样可以被promethues服务器抓取

接下来我们需要启动一个prometheus的服务,https://prometheus.io/download/ 然后更改下peometheus服务的默认配置再启动,追加配置如下:

  - job_name: 'prometheus-test' # job名称
scrape_interval: 5s # 抓取时间间隔,这里每5s像数据源请求一次
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['127.0.0.1:8080'] # 这里是springBoot项目的地址

接着启动一个grafana的服务,https://grafana.com/get 启动后添加prometheus数据源,制作仪表盘等。

扩展知识

  • Micrometer

    Vendor-neutral application metrics facade(与供应商无关的应用程序指标外观)。我们可以把它类比于日志框架中的slf4j。把promethues类比于logback。应用程序直接依赖Micrometer来暴露指标。Micrometer比较受欢迎,已经作为SpringBoot2.0内置的指标门面库。

  • Dropwizard

    一个Java框架,类似于SpringBoot,但国内使用较少。其中有提供metrics相关的功能。

  • Prometheus

    一个监控器的实现,基于pull模型,定时像prometheus数据源拉取指标信息。做分析、处理和展示。

HikariCP监控指标介绍和应用的更多相关文章

  1. 运维监控-Open-Falcon介绍

    运维监控-Open-Falcon介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Open-Falcon 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事 ...

  2. zabbix监控-基本原理介绍

    一.Linux下开源监控系统简单介绍1)cacti:存储数据能力强,报警性能差2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存 ...

  3. Tensorboard教程:监控指标可视化

    Tensorflow监控指标可视化 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 强烈推荐Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4. ...

  4. MySQL 监控指标

    为了排查问题,对数据库的监控是必不可少的,在此介绍下 MySQL 中的常用监控指标. 简介 MySQL 有多个分支版本,常见的有 MySQL.Percona.MariaDB,各个版本所对应的监控项也会 ...

  5. Elasticsearch 监控指标解析

    1.集群监控 集群监控主要包括两个方面的内容,分别是集群健康情况和集群的运行状态. 集群健康状态可以通过以下api获取: http://ip:9200/_cluster/health?pretty 关 ...

  6. prometheus自定义监控指标——实战

    上一节介绍了pushgateway的作用.优劣以及部署使用,本机通过几个实例来重温一下自定义监控指标是如何使用的. 一.监控容器启动时间(shell) 使用prometheus已经两个月了,但从未找到 ...

  7. idou老师教你学istio2:监控能力介绍

    我们知道每个pod内都会有一个Envoy容器,其具备对流入和流出pod的流量进行管理,认证,控制的能力.Mixer则主要负责访问控制和遥测信息收集. 如拓扑图所示,当某个服务被请求时,首先会请求ist ...

  8. 系统服务监控指标--load、CPU利用率、磁盘剩余空间、磁盘I/O、内存使用情况等

    介绍 大型互联网企业的背后,依靠的是成千上万台服务器日夜不停的运转,以支撑其业务的运转.宕机对于互联网企业来说,代价是沉重的,轻则影响用户体验,重则直接影响交易,导致交易下跌,并且给企业声誉造成不可挽 ...

  9. IT运维监控解决方案介绍

    现状 •小公司/ 创业团队< 500台服务器规模 开源方案:Zabbix.Nagios.Cacti- 云服务提供商:监控宝.oneAlert等 •BAT级别> 10万台服务器 投 ...

随机推荐

  1. PanDownload

    百度盘下载地址:下载速度很快(链接)

  2. Redis令牌桶限流

    一 .场景描述 在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制.比如对于某个 用户,他在一个时间段(interval ...

  3. Json数组(以[ ] 中括号开头)字符串转为json对象

    以 [] 开头的json数组字符串: str = "[{ "姓名":"张三", "年龄":"28" }]&qu ...

  4. 利用重写R3环的ReadProcessMemory来防止恶意程序钩取

    访问这里---> Windows系统调用中API的三环部分(依据分析重写ReadProcessMemory函数)

  5. java 实现文件下载中文名不显示

    需要将指定字符串的编码转换成浏览器里面的ISO-8859-1编码 String name = new String(name.getBtes("utf-8"),"ISO- ...

  6. Thymeleaf常用语法:表达式语法之运算符

    Thymeleaf表达式语法之常量分为字符串常量.数字常量.布尔值常量.空值常量:运算符分为算术运算符.关系运算符.条件运算符.无操作符. 开发环境:IntelliJ IDEA 2019.2.2Spr ...

  7. JavaScript 是如何运行的?

    摘要: 理解JS执行原理. 原文:JavaScript 是如何运行的? 作者:hengg Fundebug经授权转载,版权归原作者所有. 什么是JavaScript? 我们来确认一下JavaScrip ...

  8. 树莓派 raspbian Linux 系统命令行 快捷键

    在 Linux 下使用命令操作的时候,光标的移动令人头痛.命令输入完了,执行之后发现缺少权限,然后不得不移动光标到行首加 sudo,而命令又极长……当我学会了命令行相关的快捷键之后,不仅效率提高了,更 ...

  9. Linux 和 Windows 查看当前运行的 python 进程及 GPU、CPU、磁盘利用率

    目录 查看当前 python 进程 Linux Windows 查看 GPU 利用率 Linux Windows Linux CPU 利用率 Linux 磁盘利用率 查看当前 python 进程 Li ...

  10. SSL握手中win xp和SNI的那点事

    SSL握手中win xp和SNI的那点事 一.背景需求server1-3使用不同的域名对外提供https服务,用nginx作为前端负载均衡器并负责https集中解密工作(以用户访问的域名为依据进行流量 ...