druid是阿里巴巴開源平台上乙個資料庫連線池實現,它不但結合了c3p0、dbcp、proxool等資料庫連線池的優點,同時還加入了日誌監控,可以分別監控db池連線和sql的執**況,是一款針對監控而生的資料庫連線池
新增druid啟動場景
>
>
com.alibabagroupid
>
>
druid-spring-boot-starterartifactid
>
>
1.1.23version
>
dependency
>
spring
:datasource
:username
: yourname
password
: yourpwd
url: jdbc:mysql://yourdburl:3306/yourdb?useunicode=true&characterencoding=utf-
8driver-class-name
: com.mysql.cj.jdbc.driver
# druid資料來源其他配置
type
: com.alibaba.druid.pool.druiddatasource#指定啟動資料來源為druid
platform
: mysql
#初始化時建立物理連線的個數
initial-size:5
#最小連線池數量
min-idle:5
#最大連線池數量 maxidle已經不再使用
max-active:20
#獲取連線時最大等待時間,單位毫秒
max-wait
:60000
#申請連線的時候檢測,如果空閒時間大於timebetweenevictionrunsmillis,執行validationquery檢測連線是否有效。
test-while-idle
:true
#既作為檢測的間隔時間又作為testwhileidel執行的依據
time-between-eviction-runs-millis
:60000
#銷毀執行緒時檢測當前連線的最後活動時間和當前時間差大於該值時,關閉當前連線
min-evictable-idle-time-millis
:30000
#用來檢測連線是否有效的sql 必須是乙個查詢語句
#mysql中為 select 'x'
#oracle中為 select 1 from dual
validation-query
: select 'x'
#申請連線時會執行validationquery檢測連線是否有效,開啟會降低效能,預設為true
test-on-borrow
:false
#歸還連線時會執行validationquery檢測連線是否有效,開啟會降低效能,預設為true
test-on-return
:false
# 是否快取preparedstatement
pool-prepared-statements
:true
# 配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆
#配置監拉統計擋成的filters. stat: 監控統計、sjf4j:日誌記錄、wall: 防禦sql注入
filters
: stat,wall,sjf4j
max-pool-prepared-statement-per-connection-size:20
use-global-data-source-stat
:true
connect-properties
: druid.stat.mergesql=true;druid.stat.slowsqlmillis=5000
加入druid配置類,定義配置方法
@configuration
public
class
druidconfig
/** * 配置監控伺服器
* @return 返回監控註冊的servlet物件
* @author ******wu
*/@bean
public
servletregistrationbean
statviewservlet()
/** * 配置服務過濾器
** @return 返回過濾器配置物件
*/@bean
public
filterregistrationbean
statfilter()
/** * 方法名: removedruidadfilterregistrationbean
* 方法描述: 除去頁面底部的廣告
* @param properties
* @return org.springframework.boot.web.servlet.filterregistrationbean
* @throws
*/@bean
public
filterregistrationbean
removedruidadfilterregistrationbean
(druidstatproperties properties)
@override
public
void
dofilter
(servletrequest request,
servletresponse response,
filterchain chain)
throws
ioexception
,servletexception
@override
public
void
destroy()
};filterregistrationbean registrationbean =
newfilterregistrationbean()
; registrationbean.
setfilter
(filter)
; registrationbean.
addurlpatterns
(commonjspattern)
;return registrationbean;
}}
啟動專案之後訪問 (/druid)即可到druid登入介面,輸入配置中定義的使用者密碼(druid / druid)進行登入
然後就可以對專案進行監控啦~~~~
spring boot 效能監控
廢話不多說,直接上乾貨 spring boot自帶效能監控,需要引入依賴包如下 org.springframework.boot spring boot starter actuator 繼承abstractendpoint類,實現invoke方法,返回需要展示的效能資訊。建構函式必須傳入乙個指定的...
springboot 十 監控應用
微服務的特點決定了功能模組的部署是分布式的,大部分功能模組都是執行在不同的機器上,彼此通過服務呼叫進行互動,前後臺的業務流會經過很多個微服務的處理和傳遞,出現了異常如何快速定位是哪個環節出現了問題?在這種框架下,微服務的監控顯得尤為重要。本文主要結合 spring boot actuator,跟大家...
SpringBoot啟用Druid監控功能
druid作為乙個優秀的資料庫連線池,國內幾乎大小專案都會用,最近專案中涉及新舊系統並用,老的oracle效能不穩,這時候的監控就非常必要且急需了。下面說一下druid開啟監控的步驟 spring datasource url jdbc mysql localhost 3306 test?chara...