1. 程式人生 > 程式設計 >使用SpringBoot簡單瞭解Druid的監控系統的配置方法

使用SpringBoot簡單瞭解Druid的監控系統的配置方法

Druid 介紹

  1. 說起 Druid,大家首先想到的是阿里的 Druid 資料庫連線池
  2. Apache Druid 具有以下特點:
  3. 亞秒級 OLAP 查詢,包括多維過濾、Ad-hoc 的屬性分組、快速聚合資料等等。

實時的資料消費,真正做到資料攝入實時、查詢結果實時。
高效的多租戶能力,最高可以做到幾千使用者同時線上查詢。
擴充套件性強,支援 PB 級資料、千億級事件快速處理,支援每秒數千查詢併發。
極高的高可用保障,支援滾動升級。

Druid監控系統作用

  1. 檢視慢SQL [ 可進行對 SQL 優化 ]
  2. 是否有惡意攻擊
  3. 併發時的數量
  4. 事務的提交
  5. JDBC執行的次數
  6. 訪問時URL的監控
  7. 請求的次數等等…

下面是Druid 的監控系統首頁截圖,只需要簡單配置就可以使用

在這裡插入圖片描述

開始配置

首先建立一個SpringBoot的專案

需用引入以下幾個工具

如圖

在這裡插入圖片描述

在 pom.xml 檔案中引入druid連線池的依賴

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

resources下新建立一個在 application.yml 檔案,指定使用druid的連線池

spring:
 datasource: # Springboot預設會使用自帶的 HikariDataSource
 password: root
 username: root
 url: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
 driver-class-name: com.mysql.cj.jdbc.Driver
 type: com.alibaba.druid.pool.DruidDataSource # 指定使用 druid 的連線池

建立一個DruidConfig.java配置類

package com.springboot.druid.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * 對 Druid 的監控配置物件注入到容器中
 * Created by YongXin Xue on 2020/06/04 15:18
 */
@Configuration
public class DruidConfig {
 /**
  *
  * @return
  */
 @Bean // 當前類如果是元件類,物件建立時容器也會呼叫此方法將方法的返回值注入到容器中
 @ConfigurationProperties(prefix = "spring.datasource") // 載入配置檔案中的配置設定給返回的物件
 public DruidDataSource getDataSoures(){
  return new DruidDataSource();
 }

 /**
  * 配置一個管理後臺的Servlet [ 配置Druid的監控系統 ]
  * 訪問時預設會生成一個頁面
  * @return
  */
 @Bean
 public ServletRegistrationBean statViewServlet() {
  // 當前 Druid 的後臺監控系統的訪問地址 /druid/*
  ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");

  Map<String,String> initParams = new HashMap<>();
  initParams.put("loginUsername","admin");
  initParams.put("loginPassword","admin");
  // 預設就是允許所有訪問
  initParams.put("allow","");
  initParams.put("deny","192.168.15.21");//ip黑名單

  bean.setInitParameters(initParams);
  return bean;
 }

 /**
  * 配置一個web監控的filter:訪問靜態資源一定沒有sql操作
  * @return
  */
 @Bean
 public FilterRegistrationBean webStatFilter() {
  FilterRegistrationBean bean = new FilterRegistrationBean();
  bean.setFilter(new WebStatFilter());

  Map<String,String> initParams = new HashMap<>();
  //排除過濾
  initParams.put("exclusions","*.jpg,*.avi,*.js,*.css,/druid/*");

  bean.setInitParameters(initParams);
  bean.setUrlPatterns(Arrays.asList("/*"));
  return bean;
 }
}

配置完成後,執行主程式在瀏覽器輸入本機的地址加自己配置的tomcat埠加/druid/既可以開啟druid的後臺監控系統了

如圖

在這裡插入圖片描述

趕緊來寫兩行程式碼測測效能吧 !!

總結

到此這篇關於使用SpringBoot簡單瞭解Druid的監控系統的配置方法的文章就介紹到這了,更多相關springboot druid 監控系統內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!