SpringBoot集成Druid连接池进行SQL监控的问题解析
Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。
Druid的监控统计功能是通过filter-chain扩展实现,采集的信息非常全面,包括SQL执行、并发、慢查、执行时间区间分布等。并且Druid内置提供了一个StatViewServlet用于展示Druid的统计信息,提高html页面展示非常完备的监控信息,可以快速诊断系统的瓶颈。
而Druid增加StatFilter之后,能采集大量统计信息,同时对性能基本没有影响。StatFilter对CPU和内存的消耗都极小,对系统的影响可以忽略不计。监控不影响性能是Druid连接池的重要特性。
在SpringBoot工程中引入Druid连接池非常简单。
【SpringBoot集成Druid连接池进行SQL监控的问题解析】首先需要引入pom
com.alibaba druid-spring-boot-starter1.2.6
在yml中增加一些配置
spring:http:encoding:charset: UTF-8force: trueenabled: truedatasource:url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=falseusername: rootpassword : 123456driverClassName : com.mysql.cj.jdbc.Drivertype : com.alibaba.druid.pool.DruidDataSourcedruid:initialSize: 5minIdle: 5maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: false# 打开PSCache,并且指定每个连接上PSCache的大小poolPreparedStatements: truemaxPoolPreparedStatementPerConnectionSize: 20# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙filters: stat,wall,log4j2# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql=true; druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据useGlobalDataSourceStat: true# StatViewServlet配置 sql监控stat-view-servlet:enabled: trueurl-pattern: "/druid/*"reset-enable: falselogin-username: druidlogin-password: druid123#允许那些ipallow: 127.0.0.1,192.168.120.93#禁止那些ipdeny: 192.168.120.93# WebStatFilter配置 web-jdbc关联监控web-stat-filter:enabled: trueurl-pattern: "/*"exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
配置监控页面访问密码,通过设置login-username 和 login-password这两个初始参数。
allow和deny这两个参数,可以做访问控制。deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。如果allow没有配置或者为空,则只允许127.0.0.1访问。
ip配置格式:
启动服务后,访问http://localhost:8080/druid 就可以访问监控页面。输入访问密码后,可对系统运行情况进行监控。
文章图片
监控web-jdbc关联
文章图片
到此这篇关于SpringBoot集成Druid连接池进行SQL监控的文章就介绍到这了,更多相关SpringBoot集成Druid连接池SQL监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 私有化轻量级持续集成部署方案--03-部署web服务(下)
- Spring集成|Spring集成 Mina
- springboot使用redis缓存
- springboot整合数据库连接池-->druid
- SpringBoot中YAML语法及几个注意点说明
- springboot结合redis实现搜索栏热搜功能及文字过滤
- springboot中.yml文件的值无法读取的问题及解决