SpringBoot集成Druid的SQL监控统计

Druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能。

一. 集成的配置方式

详见:https://juejin.im/post/5aceec94f265da2395315d68

1. 添加对druid的依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>


2. 在application.properties中添加对druid的配置

    spring:
    datasource:
         type: com.alibaba.druid.pool.DruidDataSource
    还可以添加druid的其它信息

3. 创建DruidServlet和DruidFilter,其中Servlet和Filter的配置有两种方式:
    3.1. 通过Spring容器的注册工厂注入(ServletRegistrationBean和FilterRegistrationBean)

@Configuration
public class DruidConfig {
    //注册Servlet
    @Bean
    @ConditionalOnMissingBean
    public ServletRegistrationBean addS(){
        ServletRegistrationBean registrationBean=new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
        return registrationBean;
    }

    //注册Filter
    @Bean
    @ConditionalOnMissingBean
    public FilterRegistrationBean addF(){
        FilterRegistrationBean registrationBean=new FilterRegistrationBean(new WebStatFilter());
        registrationBean.addUrlPatterns("/*");
        return registrationBean;
    }
}

    3.2. 通过自定义类  添加注解@WebServlet和@WebFilter

@WebFilter(urlPatterns = "/*")
public class MyFilter extends WebStatFilter {
}

@WebServlet("/druid/*")
public class MyServlet extends StatViewServlet {
}

二. 下面讲讲Druid在SQL监控统计功能中,内置的一些类和注解:

1.StatViewServlet

StatViewServlet用于展示Druid的统计信息

  • 提供监控信息展示的html页面
  • 提供监控信息的JSON API

StatViewServlet是一个标准的javax.servlet.http.HttpServlet,com.alibaba.druid.support.http.StatViewServlet 

如果需要通过用户名和密码才能查看JDBC的执行的状态信息,需要配置Servlet的 loginUsername 和 loginPassword这两个初始参数。

2. WebStatFilter

webStatFilterDruid用于统计Druid的监控信息

如果没有配置WebStatFilter,那么,我们无法获取相关的统计信息。

比如:SQL监控TAB上的数据,无法获取JDBC相关的SQL执行信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值