druid监控一些配置,以及自定义过滤URI监控

druid监控一些配置,以及自定义过滤URI监控

一,使用druid监控

1.1 依赖

druid连接池相信大家并不陌生了。但是有一个功能我也是最近才知道,就是druid的sql监控以及一些请求uri监控,这些能方便我们去对系统和sql进行调优。
废话不多说,只要加入druid依赖:(下面都是以springboot为基础)

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
     <version>${druid-version}</version>
</dependency>

不是springboot的话就引入这个:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>${druid-version}</version>
</dependency>

1.2 配置

重点在于这个.直接上一个模板配置:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
      username: root
      password: 123
      initial-size: 1
      max-active: 10
      min-idle: 1
      max-wait: 60000
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      validation-query: SELECT 1
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
#--------下面是druid监控配置-----------
      stat-view-servlet:
      	# 打开监控
        enabled: true
        # 这个监控servlet匹配的路径,也就是localhost:8080/druid打开这个页面
        url-pattern: /druid/*
        # 监控页面的账户密码
#        login-username: admin
#        login-password: admin
      filter:
        stat:
          log-slow-sql: true
          #超过1秒视为慢sql
          slow-sql-millis: 1000
          merge-sql: false
        wall:
          config:
            multi-statement-allow: true
       # 需要加上过滤器
      filters: stat,wall,slf4j

顺便配置打印sql的日志配置:

logging:
  level:
   	root: info
    #druid sql打印 ,过滤器在com.alibaba.druid.filter.logging.LogFilter
    druid.sql.DataSource: debug
    druid.sql.Connection: debug
    druid.sql.Statement: debug
    druid.sql.ResultSet: debug

打开

http://localhost:端口/contextPath/druid

具体效果如下
在这里插入图片描述
可以看到sql信息,数据源连接池信息,请求uri信息等

二、自定义过滤URI监控

打开uri监控,我们发现很多都是静态资源请求和druid监控页面的请求,这些我们并不需要看到,需要进行过滤
在这里插入图片描述
通过源码我们可以看到
在这里插入图片描述
在这里插入图片描述
所以我们需要配置FilterConfig类的initParameter来过滤

代码如下:

 @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean beanFilter = new FilterRegistrationBean();
        beanFilter.setFilter(new WebStatFilter());
        Map<String,String> initParams = new HashMap<>();
        initParams.put("exclusions","*.js,*.json,*.html,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/static/*,/druid/*");
        beanFilter.setInitParameters(initParams);
        beanFilter.setUrlPatterns(Arrays.asList("/*"));
        return  beanFilter;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值