溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么解決druid監(jiān)控頁面SQL不顯示的問題

發(fā)布時(shí)間:2021-06-21 10:47:29 來源:億速云 閱讀:820 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“怎么解決druid監(jiān)控頁面SQL不顯示的問題”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“怎么解決druid監(jiān)控頁面SQL不顯示的問題”這篇文章吧。

druid監(jiān)控頁面SQL不顯示

如果可以正常訪問界面,系統(tǒng)與數(shù)據(jù)庫有交互,但是druid頁面SQL監(jiān)控卻沒數(shù)據(jù)

第一步查看【數(shù)據(jù)源】

怎么解決druid監(jiān)控頁面SQL不顯示的問題

檢查filter是否沒數(shù)據(jù)

第二步若沒有數(shù)據(jù),則查看自己的配置類

可以程序編寫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;
    }
 }

或是編寫配置類

  #狀態(tài)監(jiān)控
  filter:
    stat:
      # 慢SQL記錄
      log-slow-sql: true
      slow-sql-millis: 1000
      merge-sql: true
      enabled: true
    wall:
      config:
        multi-statement-allow: true
  # 監(jiān)控過濾器
  web-stat-filter:
    enabled: true
    exclusions:
      - "*.js"
      - "*.gif"
      - "*.jpg"
      - "*.png"
      - "*.css"
      - "*.ico"
      - "/monitor/druid/*"

這里需要注意的是filter->stat-> enabled: true,這個(gè)一定不能遺漏,否則后面的所有配置都不起作用

springboot druid SQL監(jiān)控?zé)o數(shù)據(jù)

碰到這個(gè)問題的在網(wǎng)上查了下,大部分的解決辦法都是在配置Servlet時(shí)再聲明一個(gè) dataSource 和在配置中加上監(jiān)控統(tǒng)計(jì)攔截的filters;如下:

怎么解決druid監(jiān)控頁面SQL不顯示的問題

那么問題就簡單了,因?yàn)槲业捻?xiàng)目使用了多數(shù)據(jù)源,所以只需要找到創(chuàng)建數(shù)據(jù)源的地方,加上監(jiān)控統(tǒng)計(jì)攔截的filters就可以了

怎么解決druid監(jiān)控頁面SQL不顯示的問題

關(guān)于Servlet的配置可以直接放到配置中處理,其他缺少的配置可以自行添加:

怎么解決druid監(jiān)控頁面SQL不顯示的問題

重啟之后配置生效:

怎么解決druid監(jiān)控頁面SQL不顯示的問題

以上是“怎么解決druid監(jiān)控頁面SQL不顯示的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI