news 2026/5/14 4:03:35

Spring Boot Admin 监控 HikariCP 数据库连接池指标配置步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot Admin 监控 HikariCP 数据库连接池指标配置步骤

Spring Boot Admin 可以监控数据库连接池指标。以下是具体说明和配置方法:

一、支持的连接池

Spring Boot Admin 可以监控多种连接池的指标:

  • HikariCP(Spring Boot 默认)
  • Tomcat JDBC Pool
  • Commons DBCP2
  • Oracle UCP

二、配置步骤

1.添加依赖(被监控应用)

确保已包含 Actuator 和对应的 JDBC 驱动:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId><!-- 或 spring-boot-starter-data-jpa --></dependency>

2.暴露健康端点(被监控应用)

# application.ymlmanagement:endpoints:web:exposure:include:health,metrics,info,prometheusendpoint:health:show-details:alwaysmetrics:enabled:true

3.连接池特定配置

HikariCP(默认)

无需额外配置,指标自动通过/actuator/metrics暴露:

  • hikaricp.connections.active
  • hikaricp.connections.idle
  • hikaricp.connections.pending
  • hikaricp.connections.max
  • hikaricp.connections.min
其他连接池

确保启用指标收集:

spring:datasource:hikari:# 对于 HikariCP,默认启用指标register-mbeans:true# 可选,用于 JMX 监控

三、Spring Boot Admin 中的展示

1.健康检查页面

在应用的详情页中,可以看到数据源的健康状态:

  • 绿色:连接正常
  • 红色:无法获取连接

2.指标图表

Metrics标签页中,可以:

  1. 搜索连接池相关指标(如hikaricp
  2. 创建可视化图表,监控:
    • 活跃连接数
    • 空闲连接数
    • 等待获取连接的线程数
    • 连接池大小

3.自定义仪表盘

可以在 SBA 中配置固定图表:

# Spring Boot Admin Server 配置spring:boot:admin:ui:public-url:http://localhost:8080

四、高级监控配置

1.自定义健康指示器

@ComponentpublicclassConnectionPoolHealthIndicatorimplementsHealthIndicator{@AutowiredprivateDataSourcedataSource;@OverridepublicHealthhealth(){// 自定义健康检查逻辑returnHealth.up().withDetail("connections",getConnectionCount()).build();}}

2.集成 Prometheus + Grafana

management:metrics:export:prometheus:enabled:trueendpoint:prometheus:enabled:true

3.JMX 监控(备选)

spring:datasource:hikari:register-mbeans:truemanagement:endpoints:jmx:exposure:include:"*"

五、常见指标示例

指标名称说明正常范围
hikaricp.connections.active活跃连接数应小于最大连接数
hikaricp.connections.idle空闲连接数根据负载变化
hikaricp.connections.pending等待连接的线程数接近0为佳
hikaricp.connections.max最大连接数配置值
hikaricp.connections.min最小连接数配置值
hikaricp.connections.timeout连接超时次数应接近0

六、故障排查

如果看不到连接池指标:

  1. 检查/actuator/metrics端点是否包含连接池指标
  2. 确认连接池类型和配置
  3. 确保management.endpoints.web.exposure.include包含metrics
  4. 查看应用日志是否有相关错误

七、最佳实践

  1. 设置合理的连接池参数
spring:datasource:hikari:maximum-pool-size:20minimum-idle:5connection-timeout:30000
  1. 配置告警规则(在 SBA 或 Grafana 中)

    • 活跃连接持续接近最大值
    • 等待连接线程数 > 0 持续一段时间
  2. 定期审查指标趋势

    • 高峰期的连接使用情况
    • 连接泄漏检测

Spring Boot Admin 对数据库连接池的监控是开箱即用的,只要正确配置了 Actuator 端点,就能在 Web 界面中方便地查看和分析连接池状态。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 0:21:44

西门子840D HMI ADVANCED FOR PC 也可用于810D,840DSL中文版

西门子840D HMI ADVANCED FOR PC 也可用于810D,840DSL中文版。 1、软件可安装到台式机或笔记本上&#xff0c;可以连接到机床的NCU进行NC与PLC的数据备份与恢复&#xff0c;备份和恢复的数据存储在电脑中。 也可以把NC程序放到电脑中&#xff0c;通过此软件加载到NCU中&#xf…

作者头像 李华
网站建设 2026/5/6 4:19:01

Python 中的模块与路径管理

文章目录一、创建模块二、导入模块2.1 导入整个模块2.2 导入模块中的特定部分2.3 为模块起别名2.4 导入多个模块部分三、Python 标准库模块四、模块搜索路径4.1 模块搜索路径顺序4.2 查看 sys.path五、如何导入模块时指定路径&#xff1f;5.1 修改 sys.path 添加路径5.2 使用相…

作者头像 李华
网站建设 2026/5/9 4:21:56

生成式AI革新多模态信息检索

利用生成式AI进行多模态信息检索 过去十年的大部分时间里&#xff0c;机器学习严重依赖于嵌入的概念&#xff1a;模型学习将输入数据转换为向量&#xff0c;使得向量空间内的几何关系具有语义含义。例如&#xff0c;在表示空间中嵌入相近的词可能具有相似的含义。嵌入概念意味…

作者头像 李华
网站建设 2026/5/6 5:34:50

互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读

互联网大厂Java面试&#xff1a;从分布式事务到微服务优化的技术场景解读 场景与角色 在互联网大厂的会议室里&#xff0c;严肃的面试官李云龙正对水货程序员谢宝庆进行技术面试。第一轮提问&#xff1a;分布式事务的基本概念与实现 李云龙&#xff1a;谢宝庆&#xff0c;简单说…

作者头像 李华
网站建设 2026/5/14 2:21:48

【DVMBiLSTM诊断网络】基于离散韦格纳分布DWVD结合多尺度卷积神经网络和双向长短期记忆网络的故障诊断研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书…

作者头像 李华