SpringBoot集成Druid連接池進(jìn)行SQL監(jiān)控的問題解析
Druid連接池是阿里巴巴開源的數(shù)據(jù)庫連接池項(xiàng)目。Druid連接池為監(jiān)控而生,內(nèi)置強(qiáng)大的監(jiān)控功能,監(jiān)控特性不影響性能。
Druid的監(jiān)控統(tǒng)計(jì)功能是通過filter-chain擴(kuò)展實(shí)現(xiàn),采集的信息非常全面,包括SQL執(zhí)行、并發(fā)、慢查、執(zhí)行時(shí)間區(qū)間分布等。并且Druid內(nèi)置提供了一個(gè)StatViewServlet用于展示Druid的統(tǒng)計(jì)信息,提高h(yuǎn)tml頁面展示非常完備的監(jiān)控信息,可以快速診斷系統(tǒng)的瓶頸。
而Druid增加StatFilter之后,能采集大量統(tǒng)計(jì)信息,同時(shí)對性能基本沒有影響。StatFilter對CPU和內(nèi)存的消耗都極小,對系統(tǒng)的影響可以忽略不計(jì)。監(jiān)控不影響性能是Druid連接池的重要特性。
在SpringBoot工程中引入Druid連接池非常簡單。
首先需要引入pom
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency>
在yml中增加一些配置
spring: http: encoding: charset: UTF-8 force: true enabled: true datasource: url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false username: root password : 123456 driverClassName : com.mysql.cj.jdbc.Driver type : com.alibaba.druid.pool.DruidDataSource druid: initialSize: 5 minIdle: 5 maxActive: 20 # 配置獲取連接等待超時(shí)的時(shí)間 maxWait: 60000 # 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false # 打開PSCache,并且指定每個(gè)連接上PSCache的大小 poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 # 配置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計(jì),'wall'用于防火墻 filters: stat,wall,log4j2 # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄 connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 合并多個(gè)DruidDataSource的監(jiān)控?cái)?shù)據(jù) useGlobalDataSourceStat: true # StatViewServlet配置 sql監(jiān)控 stat-view-servlet: enabled: true url-pattern: "/druid/*" reset-enable: false login-username: druid login-password: druid123 #允許那些ip allow: 127.0.0.1,192.168.120.93 #禁止那些ip deny: 192.168.120.93 # WebStatFilter配置 web-jdbc關(guān)聯(lián)監(jiān)控 web-stat-filter: enabled: true url-pattern: "/*" exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
配置監(jiān)控頁面訪問密碼,通過設(shè)置login-username 和 login-password這兩個(gè)初始參數(shù)。
allow和deny這兩個(gè)參數(shù),可以做訪問控制。deny優(yōu)先于allow,如果在deny列表中,就算在allow列表中,也會(huì)被拒絕。如果allow沒有配置或者為空,則只允許127.0.0.1訪問。
ip配置格式:<IP>或者 <IP>/<SUB_NET_MASK_size>
啟動(dòng)服務(wù)后,訪問http://localhost:8080/druid 就可以訪問監(jiān)控頁面。輸入訪問密碼后,可對系統(tǒng)運(yùn)行情況進(jìn)行監(jiān)控。
監(jiān)控web-jdbc關(guān)聯(lián)
到此這篇關(guān)于SpringBoot集成Druid連接池進(jìn)行SQL監(jiān)控的文章就介紹到這了,更多相關(guān)SpringBoot集成Druid連接池SQL監(jiān)控內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot集成阿里巴巴Druid監(jiān)控的示例代碼
- 使用SpringBoot簡單了解Druid的監(jiān)控系統(tǒng)的配置方法
- SpringBoot配置Druid數(shù)據(jù)監(jiān)控代碼實(shí)例
- SpringBoot集成Druid監(jiān)控頁面最小化配置操作
- SpringBoot對Druid配置SQL監(jiān)控功能失效問題及解決方法
- springboot項(xiàng)目中實(shí)現(xiàn)訪問druid內(nèi)置監(jiān)控頁面
- SpringBoot整合Druid實(shí)現(xiàn)數(shù)據(jù)庫連接池和監(jiān)控
- SpringBoot3整合Druid監(jiān)控功能的項(xiàng)目實(shí)踐
- SpringBoot集成Druid實(shí)現(xiàn)監(jiān)控功能的示例代碼
- springboot關(guān)閉druid監(jiān)控 druid2改配置文件無效的解決
- Springboot整合Druid實(shí)現(xiàn)對訪問的監(jiān)控方式
- SpringBoot+Druid開啟監(jiān)控頁面的實(shí)現(xiàn)示例
相關(guān)文章
解析Neatbeans(常見錯(cuò)誤) build-impl.xml:305: Compile failed
本篇文章是對Neatbeans(常見錯(cuò)誤) build-impl.xml:305: Compile failed的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07帶有@Transactional和@Async的循環(huán)依賴問題的解決
這篇文章主要介紹了帶有@Transactional和@Async的循環(huán)依賴問題的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04java中動(dòng)態(tài)代理如何實(shí)現(xiàn)詳解
動(dòng)態(tài)代理是基于接口實(shí)現(xiàn)的代理,mybatis就是用這個(gè)技術(shù)實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于java中動(dòng)態(tài)代理如何實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2024-01-01java(swing)+ mysql實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
這篇文章主要分享了java mysql實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11mybatis-plus實(shí)現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句實(shí)例
mybatisplus是個(gè)很好用的插件,相信小伙伴們都知道,下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實(shí)現(xiàn)自定義SQL、多表查詢與多表分頁查詢語句的相關(guān)資料,需要的朋友可以參考下2022-09-09