首页 > 编程语言 > 解决druid监控页面SQL不显示的问题
2021
09-10

解决druid监控页面SQL不显示的问题

druid监控页面SQL不显示

如果可以正常访问界面,系统与数据库有交互,但是druid页面SQL监控却没数据

第一步查看【数据源】

检查filter是否没数据

第二步若没有数据,则查看自己的配置类

可以程序编写filterRegistrationBean,并通过@Bean自动加载

@Configuration
public class DruidConfig {
    @Value("${druid.login.user_name}")
    private String userName;
    @Value("${druid.login.password}")
    private String password;
    @Bean(name = "default_datadatasource")
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
    @Bean
    public ServletRegistrationBean druidServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
        servletRegistrationBean.setServlet(new StatViewServlet());
        servletRegistrationBean.addUrlMappings("/druid/*");
        Map<String, String> initParameters = new HashMap<>();
        initParameters.put("loginUsername", userName);// 用户名
        initParameters.put("loginPassword", password);// 密码
        initParameters.put("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能
        servletRegistrationBean.setInitParameters(initParameters);
        return servletRegistrationBean;
    }
    @Bean
    public FilterRegistrationBean filterRegistrationBean() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }
 }

或是编写配置类

  #状态监控
  filter:
    stat:
      # 慢SQL记录
      log-slow-sql: true
      slow-sql-millis: 1000
      merge-sql: true
      enabled: true
    wall:
      config:
        multi-statement-allow: true
  # 监控过滤器
  web-stat-filter:
    enabled: true
    exclusions:
      - "*.js"
      - "*.gif"
      - "*.jpg"
      - "*.png"
      - "*.css"
      - "*.ico"
      - "/monitor/druid/*"

这里需要注意的是filter->stat-> enabled: true,这个一定不能遗漏,否则后面的所有配置都不起作用

springboot druid SQL监控无数据

碰到这个问题的在网上查了下,大部分的解决办法都是在配置Servlet时再声明一个 dataSource 和在配置中加上监控统计拦截的filters;如下:

那么问题就简单了,因为我的项目使用了多数据源,所以只需要找到创建数据源的地方,加上监控统计拦截的filters就可以了

关于Servlet的配置可以直接放到配置中处理,其他缺少的配置可以自行添加:

重启之后配置生效:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。

编程技巧