如何配置连接池监控
通过引入druid数据源并注册其内置的statfilter,即可在应用中开启连接池监控。具体做法是在spring boot配置文件中将数据源切换为com.alibaba.druid.pool.druiddatasource,并在application.yml中设置druid.stat-view-servlet以暴露监控页面,同时配置web-stat-filter来采集sql执行统计信息。这样配置后,应用启动时会自动生成监控面板,实时展示活跃连接数、慢sql查询及连接获取耗时等关键指标。

如何查看和过滤慢SQL
在启用StatFilter后,可以通过配置slowSqlMillis参数来定义慢SQL的阈值,从而在监控面板中筛选出执行时间超过该阈值的SQL语句。默认情况下,Druid会记录所有执行的SQL及其耗时,当某条SQL的执行时间超过设定的毫秒数时,它会被标记为慢SQL并出现在“SQL监控”标签页中。开发者可以直接在监控页面的表格中按执行时间排序,快速定位性能瓶颈。

如何配置监控页面的访问权限
为了保障监控数据的安全性,可以通过配置stat-view-servlet的allow和deny参数来控制对监控页面的IP访问限制。例如,设置allow="127.0.0.1"可以仅允许本地访问,而deny="*"则拒绝所有其他IP。此外,还可以设置loginUsername和loginPassword来启用基本的身份验证,防止未授权用户查看敏感的连接池状态信息。
立即学习“Java免费学习笔记(深入)”;
以下是一个完整的Spring Boot配置示例,展示了如何集成Druid并开启监控功能:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mydb?useSSL=false
username: root
password: secret
druid:
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: false
login-username: admin
login-password: admin123
allow: 127.0.0.1
web-stat-filter:
enabled: true
url-pattern: /*
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
filter:
stat:
slow-sql-millis: 1000
log-slow-sql: true
enabled: true
预期结果:应用启动后,访问http://localhost:8080/druid/login即可看到登录界面。输入正确的用户名和密码后,进入监控主页,可以看到“数据源”、“SQL监控”、“URL监控”等标签。在“SQL监控”中,可以找到执行时间超过1000毫秒的慢SQL记录,并按执行次数或耗时进行排序分析。


















