druid我們都很熟悉,是一款非常好用的數據連接池,但是很多開發者不知, druid除了數據連接池,還集成了對站點的URL進行統計的功能,下面就詳細的爲大家講解一下如何配置druid的url統計。
WebStatFilter用於採集web-jdbc關聯監控的數據
監控攔截器
web.xml配置
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*,/download/*</param-value>
</init-param>
<init-param>
<param-name>sessionStatMaxCount</param-name>
<param-value>2000</param-value>
</init-param>
<init-param>
<param-name>sessionStatEnable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>principalSessionName</param-name>
<param-value>session_user_key</param-value>
</init-param>
<init-param>
<param-name>profileEnable</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
配置詳解
exlusions配置。用於排除一些不必要的url,比如.js,/jslib/等等。配置在init-param中
<init-param>
<param-name>exclusions</param-name>
<paramvalue>
*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*,/download/*
</param-value>
</init-param>
- 1
- 2
- 3
- 4
- 5
- 6
sessionStatMaxCount配置。缺省sessionStatMaxCount是1000個。你可以按需要進行配置
<init-param>
<param-name>sessionStatMaxCount</param-name>
<param-value>2000</param-value>
</init-param>
- 1
- 2
- 3
- 4
sessionStatEnable配置。你可以關閉session統計功能
<init-param>
<param-name>sessionStatEnable</param-name>
<param-value>true</param-value>
</init-param>
- 1
- 2
- 3
- 4
principalSessionName配置。你可以配置principalSessionName,使得druid能夠知道當前的session的用戶是誰
<init-param>
<param-name>principalSessionName</param-name>
<param-value>session_user_key</param-value>
</init-param>
- 1
- 2
- 3
- 4
principalCookieName配置。如果你的user信息保存在cookie中,你可以配置principalCookieName,使得druid知道當前的user是誰
<init-param>
<param-name>principalCookieName</param-name>
<param-value>cookie_user_key</param-value>
</init-param>
- 1
- 2
- 3
- 4
根據需要,把其中的cookie_user_key修改爲你user信息保存在cookie中的cookieName
profileEnable配置。druid 0.2.7版本開始支持profile,配置profileEnable能夠監控單個url調用的sql列表
<init-param>
<param-name>profileEnable</param-name>
<param-value>true</param-value>
</init-param>
- 1
- 2
- 3
- 4
配置界面顯示
web.xml配置
<!-- 配置 Druid 監控信息顯示頁面 -->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
<init-param>
<!-- 允許清空統計數據 -->
<param-name>resetEnable</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<!-- 用戶名 -->
<param-name>loginUsername</param-name>
<param-value>druid</param-value>
</init-param>
<init-param>
<!-- 密碼 -->
<param-name>loginPassword</param-name>
<param-value>druid</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
上面兩項測試完畢之後,瀏覽器輸入網址:http://ip:port/projectName/druid/index.html 將ip、port和projectName換成實際的配置,訪問成功!