druid配置WebStatFilter完成網絡url統計

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換成實際的配置,訪問成功!

發佈了40 篇原創文章 · 獲贊 39 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章