网站首页 > 精选文章 / 正文
配置属性
编辑项目的 applicaiton.properties 或 applicaiton.yml 文件,除了配置 JDBC 连接信息外,还需要配置 druid 过滤器、WebStatFilter 以及 StatViewServlet 相关参数信息:
##### JDBC 配置 #######
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/hangge2?serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=hangge1234
##### 连接池配置 #######
# 过滤器设置(第一个stat很重要,没有的话会监控不到SQL)
spring.datasource.druid.filters=stat,wall,log4j2
##### WebStatFilter配置 #######
#启用StatFilter
spring.datasource.druid.web-stat-filter.enabled=true
#添加过滤规则
spring.datasource.druid.web-stat-filter.url-pattern=/*
#排除一些不必要的url
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
#开启session统计功能
spring.datasource.druid.web-stat-filter.session-stat-enable=true
#缺省sessionStatMaxCount是1000个
spring.datasource.druid.web-stat-filter.session-stat-max-count=1000
#spring.datasource.druid.web-stat-filter.principal-session-name=
#spring.datasource.druid.web-stat-filter.principal-cookie-name=
#spring.datasource.druid.web-stat-filter.profile-enable=
##### StatViewServlet配置 #######
#启用内置的监控页面
spring.datasource.druid.stat-view-servlet.enabled=true
#内置监控页面的地址
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
#关闭 Reset All 功能
spring.datasource.druid.stat-view-servlet.reset-enable=false
#设置登录用户名
spring.datasource.druid.stat-view-servlet.login-username=admin
#设置登录密码
spring.datasource.druid.stat-view-servlet.login-password=123
#白名单(如果allow没有配置或者为空,则允许所有访问)
spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
#黑名单(deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝)
spring.datasource.druid.stat-view-servlet.deny=
慢 SQL 记录
有时系统会存在一些 SQL 执行很慢,如果希望日志记录下来,可以添加如下配置开启 Druid 的慢 SQL 记录功能。
注意:slow-sql-millis 用来配置 SQL 慢的标准,执行时间超过 slow-sql-millis 的就是慢。slow-sql-millis 的缺省值为 3000,也就是 3 秒。
# 开启慢SQL统计(这里超过10毫秒则判定为慢SQL)
spring.datasource.druid.filter.stat.enabled=true
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=10
Spring 监控
默认情况下监控控制台中“Spring监控”子页面内容是空的,我们可以通过类似如下的配置,利用 aop 对各个内容接口的执行时间、jdbc 数进行记录。
# Spring 监控配置(配置多个AOP切入点使用英文逗号分隔)
spring.datasource.druid.aop-patterns=com.example.hanggetest2.dao.*
获取 Druid 的监控数据
Druid 的监控数据可以在开启 StatFilter 后通过 DruidStatManagerFacade 进行获取,获取到监控数据之后我们便可以将其暴露给我们自己的监控系统进行使用。Druid 默认的监控系统数据也来源于此。
@RestController
public class DruidStatController {
@GetMapping("/druid-stat")
public Object druidStat(){
// DruidStatManagerFacade#getDataSourceStatDataList 该方法可以获取所有数据源的监控数据
// 除此之外 DruidStatManagerFacade 还提供了一些其他方法,我们可以按需选择使用。
return DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
}
}
通过http://localhost:8080/druid-stat 接口获取到如下统计数据
Tags:druid参数配置
猜你喜欢
- 2025-01-02 Java 与 MySQL 数据库连接池优化:提升数据访问效率的关键策略
- 2025-01-02 Spring Boot 入门系列(二十四)多环境配置,3分钟搞定
- 2025-01-02 rust druid 实现自己的自定义小部件
- 2025-01-02 搞懂Druid之连接获取和归还
- 2025-01-02 Apache Druid连接开通Kerberos认证的Kafka处理过程
- 2025-01-02 非Spring Boot 或 Spring Cloud 项目如何集成Druid数据源
- 2025-01-02 Spring Boot 2.x基础教程:默认数据源Hikari的配置详解
- 2025-01-02 连接池:别让连接池帮了倒忙
- 2025-01-02 SpringBoot事务事件监听:事务事件监听注解详细使用示例(二)
- 2025-01-02 SpringBoot实现动态数据源配置