使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法
Druid 介紹
- 說起 Druid,大家首先想到的是阿里的 Druid 數(shù)據(jù)庫連接池
- Apache Druid 具有以下特點(diǎn):
- 亞秒級 OLAP 查詢,包括多維過濾、Ad-hoc 的屬性分組、快速聚合數(shù)據(jù)等等。
實時的數(shù)據(jù)消費(fèi),真正做到數(shù)據(jù)攝入實時、查詢結(jié)果實時。
高效的多租戶能力,最高可以做到幾千用戶同時在線查詢。
擴(kuò)展性強(qiáng),支持 PB 級數(shù)據(jù)、千億級事件快速處理,支持每秒數(shù)千查詢并發(fā)。
極高的高可用保障,支持滾動升級。
Druid監(jiān)控系統(tǒng)作用
- 查看慢SQL [ 可進(jìn)行對 SQL 優(yōu)化 ]
- 是否有惡意攻擊
- 并發(fā)時的數(shù)量
- 事務(wù)的提交
- JDBC執(zhí)行的次數(shù)
- 訪問時URL的監(jiān)控
- 請求的次數(shù)等等…
下面是Druid 的監(jiān)控系統(tǒng)首頁截圖, 只需要簡單配置就可以使用
開始配置
首先創(chuàng)建一個SpringBoot的項目
需用引入以下幾個工具
如圖
在 pom.xml 文件中引入druid連接池的依賴
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>
resources下新創(chuàng)建一個在 application.yml 文件, 指定使用druid的連接池
spring: datasource: # Springboot默認(rèn)會使用自帶的 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 的連接池
創(chuàng)建一個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 的監(jiān)控配置對象注入到容器中 * Created by YongXin Xue on 2020/06/04 15:18 */ @Configuration public class DruidConfig { /** * * @return */ @Bean // 當(dāng)前類如果是組件類,對象創(chuàng)建時容器也會調(diào)用此方法將方法的返回值注入到容器中 @ConfigurationProperties(prefix = "spring.datasource") // 加載配置文件中的配置設(shè)置給返回的對象 public DruidDataSource getDataSoures(){ return new DruidDataSource(); } /** * 配置一個管理后臺的Servlet [ 配置Druid的監(jiān)控系統(tǒng) ] * 訪問時默認(rèn)會生成一個頁面 * @return */ @Bean public ServletRegistrationBean statViewServlet() { // 當(dāng)前 Druid 的后臺監(jiān)控系統(tǒng)的訪問地址 /druid/* ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParams = new HashMap<>(); initParams.put("loginUsername", "admin"); initParams.put("loginPassword", "admin"); // 默認(rèn)就是允許所有訪問 initParams.put("allow", ""); initParams.put("deny", "192.168.15.21");//ip黑名單 bean.setInitParameters(initParams); return bean; } /** * 配置一個web監(jiān)控的filter:訪問靜態(tài)資源一定沒有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; } }
配置完成后, 運(yùn)行主程序在瀏覽器輸入本機(jī)的地址加自己配置的tomcat端口加/druid/既可以打開druid的后臺監(jiān)控系統(tǒng)了
如圖
趕緊來寫兩行代碼測測性能吧 !!
總結(jié)
到此這篇關(guān)于使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法的文章就介紹到這了,更多相關(guān)springboot druid 監(jiān)控系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot集成阿里巴巴Druid監(jiān)控的示例代碼
- SpringBoot配置Druid數(shù)據(jù)監(jiān)控代碼實例
- SpringBoot集成Druid監(jiān)控頁面最小化配置操作
- SpringBoot對Druid配置SQL監(jiān)控功能失效問題及解決方法
- springboot項目中實現(xiàn)訪問druid內(nèi)置監(jiān)控頁面
- SpringBoot集成Druid連接池進(jìn)行SQL監(jiān)控的問題解析
- SpringBoot整合Druid實現(xiàn)數(shù)據(jù)庫連接池和監(jiān)控
- SpringBoot3整合Druid監(jiān)控功能的項目實踐
- SpringBoot集成Druid實現(xiàn)監(jiān)控功能的示例代碼
- springboot關(guān)閉druid監(jiān)控 druid2改配置文件無效的解決
- Springboot整合Druid實現(xiàn)對訪問的監(jiān)控方式
- SpringBoot+Druid開啟監(jiān)控頁面的實現(xiàn)示例
相關(guān)文章
Java 17 更新后的 strictfp 關(guān)鍵字
strictfp 可能是最沒有存在感的關(guān)鍵字了,很多人寫了多年 Java 甚至都不知道它的存在,strictfp,字面意思就是嚴(yán)格的浮點(diǎn)型。這玩意兒居然還有個關(guān)鍵字,可見其地位還是很高的。下面文章小編就帶大家詳細(xì)介紹其關(guān)鍵字,需要的朋友可以參考一下2021-09-09Java數(shù)據(jù)結(jié)構(gòu)之循環(huán)隊列簡單定義與用法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之循環(huán)隊列簡單定義與用法,簡要描述了循環(huán)隊列的概念、原理,并結(jié)合實例形式分析了java循環(huán)隊列的定義與使用方法,需要的朋友可以參考下2017-10-10Java數(shù)據(jù)結(jié)構(gòu)BFS廣搜法解決迷宮問題
廣搜BFS的基本思想是: 首先訪問初始點(diǎn)v并將其標(biāo)志為已經(jīng)訪問。接著通過鄰接關(guān)系將鄰接點(diǎn)入隊。然后每訪問過一個頂點(diǎn)則出隊。按照順序,訪問每一個頂點(diǎn)的所有未被訪問過的頂點(diǎn)直到所有的頂點(diǎn)均被訪問過。廣度優(yōu)先遍歷類似與層次遍歷2022-04-04eclipse創(chuàng)建一個基于maven的web項目詳細(xì)步驟
開始學(xué)習(xí)maven,并用maven創(chuàng)建了第一個屬于自己的web項目,下面這篇文章主要給大家介紹了關(guān)于eclipse創(chuàng)建一個基于maven的web項目的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12五種SpringBoot實現(xiàn)數(shù)據(jù)加密存儲的方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了五種常見數(shù)據(jù)加密存儲的方法(結(jié)合SpringBoot和MyBatisPlus框架進(jìn)行實現(xiàn)),文中的示例代碼講解詳細(xì),需要的可以參考下2023-11-11