当前位置: 首页 > news >正文

mysql连接池druid监控配置

文章目录

  • 前置
  • 依赖
  • 启用配置
  • 访问监控
  • 一些问题

前置

连接池有很多类型,比如 c3p0,比如 hikariCP,比如 druid。c3p0 一些历史项目可能用的比较多,hikariCP 需要高性能的项目比较多,druid 性能也很好,而且还提供连接池的监控面板

现在你使用 java,使用 mysql,配置好了基本的 mysql 数据库的驱动配置,配置好了 druid 连接池基本内容

你想要监控 mysql 连接池的慢 sql 情况,连接泄漏等详细情况,可以考虑使用 druid 提供的监控能力

模块功能描述
数据源查看数据库连接池的状态(活跃连接数、空闲连接数、连接等待时间等)。
SQL 监控显示 SQL 执行次数、总耗时、慢查询(默认慢查询阈值为 1000ms)。
Session 统计监控用户的会话信息(如最大并发连接数、会话超时时间等)。
Web 统计查看 HTTP 请求的统计信息(如请求次数、平均响应时间、失败次数等)。
系统信息显示 JVM 内存、线程、GC 状态等系统级监控数据。

依赖

如果你配置了 druid 的一些基本连接池的内容,这里不赘述,那么你肯定引入了 druid 的依赖了

启用配置

Springboot 配置
如果你是 Springboot 项目,在 application.yml 中配置即可

其中 stat-view-servlet 表示承接 /druid/ 请求的 servlet,web-stat-filter 表示滤过哪些请求以及排查哪些请求

spring:datasource:druid:# 启用监控页面stat-view-servlet:enabled: trueurl-pattern: /druid/*login-username: admin       # 登录用户名login-password: admin123    # 登录密码reset-enable: false         # 是否允许重置数据(生产环境建议关闭)web-stat-filter:enabled: trueurl-pattern: /*             # 监控所有请求exclusions: "*.js,*.css,/druid/*"  # 排除静态资源

只用了 mybatis 没用 spring
如果你不是 springboot 项目,你只用了 mybatis:
mybatis-config.xml 中配置好 druid 连接池的基本连接信息后,多配置上:

<property name="filters" value="stat,wall" /> <!-- 启用监控和防御SQL注入 -->

然后你的项目还是老的 WEB-INF 项目,其中有 web.xml 文件,那么其中要配置 servlet 和 filter

<!-- Druid 监控 Servlet --><servlet><servlet-name>DruidStatView</servlet-name><servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class><init-param><param-name>loginUsername</param-name><param-value>admin</param-value> <!-- 登录用户名 --></init-param><init-param><param-name>loginPassword</param-name><param-value>admin123</param-value> <!-- 登录密码 --></init-param><init-param> <!-- 允许访问的IP(可选) --><param-name>allow</param-name><param-value>127.0.0.1</param-value></init-param></servlet><servlet-mapping><servlet-name>DruidStatView</servlet-name><url-pattern>/druid/*</url-pattern></servlet-mapping><!-- Druid Web 监控 Filter --><filter><filter-name>DruidWebStatFilter</filter-name><filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class><init-param><param-name>exclusions</param-name><param-value>*.js,*.css,/druid/*</param-value> <!-- 排除静态资源 --></init-param></filter><filter-mapping><filter-name>DruidWebStatFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

然后如果项目使用 Servlet 3.0+ 并支持注解,可以通过 Java 配置类注册来代替上方的在 web.xml 中的配置:你可以写一个 DruidWebConfig 类来继承 ServletContextListener,再重写其中 contextInitialized 方法,其中你可以注册 StatViewServlet 和 WebStatFilter,然后再 web.xml 配置一个监听即可

<listener><listener-class>com.test.config.DruidWebConfig</listener-class>
</listener>

访问监控

你本地启动项目的话,你可以浏览器访问:

http://localhost:8080/druid

如果你设置了 your-app-context(Web 应用部署到服务器上的应用上下文路径),则你需要访问

http://localhost:8080/your-app-context/druid

在这里插入图片描述

一些问题

页面 404:一般是 stat-view-servlet 或者 web-stat-filter 没配置对,一些常见的比如其他 filter 把这个请求拦截了

http://www.xdnf.cn/news/618211.html

相关文章:

  • 2025年工会考试题库及答案
  • MyBatis 中 parameterType 属性
  • AutoCAD Electrical 自定义多极元件
  • 反本能---如何对抗你的习以为常
  • 二分算法(灵神边界处理复习)
  • 电子电路:能认为电抗也是在做功吗?
  • 软件测试(4) 白盒测试
  • 归一化与标准化
  • 频率分布直方图
  • halcon初始
  • 深度剖析并发I/O模型select、poll、epoll与IOCP核心机制
  • 计算机组成原理-基本运算部件定点数的运算
  • 【安全攻防与漏洞​】​​Heartbleed漏洞复现与修复
  • 【JS】vue3具名导出与默认导出
  • [Asp.Net]GridView导出Excel长数字显示成科学计数
  • Spring Boot 项目多数据源配置【dynamic datasource】
  • C++进阶--c++11(02)
  • 【算法】: 前缀和算法(利用o(1)的时间复杂度快速求区间和)
  • 全球复合铁路枕木市场深度分析:技术革新与区域增长潜力(2024-2031)
  • IIS部署微信支付模块问题
  • 欧拉公式的历史脉络、数学证明和现代意义
  • 信息学奥赛及各种程序设计竞赛中常见的名词解释
  • Android四大组件学习总结
  • PyQt学习系列07-数据库操作与ORM集成
  • JavaMail的使用
  • 重读《人件》Peopleware -(12-1)Ⅱ 办公环境 Ⅴ 大脑时间与身体时间(上)
  • 超简单 FishSpeech 本地部署
  • 【游戏设计】游戏玩法与游戏机制
  • 决策树引导:如何选择最适合你的机器学习算法
  • 文章记单词 | 第110篇(六级)