SpringBoot集成Druid连接池进行SQL监控的问题解析
作者:peterwanghao
Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。
Druid的监控统计功能是通过filter-chain扩展实现,采集的信息非常全面,包括SQL执行、并发、慢查、执行时间区间分布等。并且Druid内置提供了一个StatViewServlet用于展示Druid的统计信息,提高html页面展示非常完备的监控信息,可以快速诊断系统的瓶颈。
而Druid增加StatFilter之后,能采集大量统计信息,同时对性能基本没有影响。StatFilter对CPU和内存的消耗都极小,对系统的影响可以忽略不计。监控不影响性能是Druid连接池的重要特性。
在SpringBoot工程中引入Druid连接池非常简单。
首先需要引入pom
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency>
在yml中增加一些配置
spring: http: encoding: charset: UTF-8 force: true enabled: true datasource: url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password : 123456 driverClassName : com.mysql.cj.jdbc.Driver type : com.alibaba.druid.pool.DruidDataSource druid: initialSize: 5 minIdle: 5 maxActive: 20 # 配置获取连接等待超时的时间 maxWait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false # 打开PSCache,并且指定每个连接上PSCache的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 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: true url-pattern: "/druid/*" reset-enable: false login-username: druid login-password: druid123 #允许那些ip allow: 127.0.0.1,192.168.120.93 #禁止那些ip deny: 192.168.120.93 # WebStatFilter配置 web-jdbc关联监控 web-stat-filter: enabled: true url-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配置格式:<IP>或者 <IP>/<SUB_NET_MASK_size>
启动服务后,访问http://localhost:8080/druid 就可以访问监控页面。输入访问密码后,可对系统运行情况进行监控。
监控web-jdbc关联
到此这篇关于SpringBoot集成Druid连接池进行SQL监控的文章就介绍到这了,更多相关SpringBoot集成Druid连接池SQL监控内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot集成阿里巴巴Druid监控的示例代码
- 使用SpringBoot简单了解Druid的监控系统的配置方法
- SpringBoot配置Druid数据监控代码实例
- SpringBoot集成Druid监控页面最小化配置操作
- SpringBoot对Druid配置SQL监控功能失效问题及解决方法
- springboot项目中实现访问druid内置监控页面
- SpringBoot整合Druid实现数据库连接池和监控
- SpringBoot3整合Druid监控功能的项目实践
- SpringBoot集成Druid实现监控功能的示例代码
- springboot关闭druid监控 druid2改配置文件无效的解决
- Springboot整合Druid实现对访问的监控方式
- SpringBoot+Druid开启监控页面的实现示例