温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-06-21 10:47:29 来源:亿速云 阅读:823 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“怎么解决druid监控页面SQL不显示的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么解决druid监控页面SQL不显示的问题”这篇文章吧。

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;如下:

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

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

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

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

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

重启之后配置生效:

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

以上是“怎么解决druid监控页面SQL不显示的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI