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>
配置詳解
exlusions配置。用于排除一些不必要的url,比如.js,/jslib/等等。配置在init-param中
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.jsp,/druid/*,/download/*</param-value>
</init-param>
sessionStatMaxCount配置。預設sessionStatMaxCount是1000個。你可以按需要進行配置
<init-param>
<param-name>sessionStatMaxCount</param-name>
<param-value></param-value>
</init-param>
sessionStatEnable配置。你可以關閉session統計功能
<init-param>
<param-name>sessionStatEnable</param-name>
<param-value>true</param-value>
</init-param>
principalSessionName配置。你可以配置principalSessionName,使得druid能夠知道目前的session的使用者是誰
<init-param>
<param-name>principalSessionName</param-name>
<param-value>session_user_key</param-value>
</init-param>
根據需要,把其中的session_user_key修改為你user資訊儲存在session中的sessionName。
注意:如果你session中儲存的是非string類型的對象,需要重載toString方法
principalCookieName配置。如果你的user資訊儲存在cookie中,你可以配置principalCookieName,使得druid知道目前的user是誰
<init-param>
<param-name>principalCookieName</param-name>
<param-value>cookie_user_key</param-value>
</init-param>
根據需要,把其中的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>
配置界面顯示
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>
配置詳解
這一塊主要是配置監控界面的servlet,詳細的解釋,配置中已注釋就不做過多的闡述了
測試
上面兩項測試完畢之後,浏覽器輸入網址:
http://ip:port/projectName/druid/index.html
将ip、port和projectName換成實際的配置,通路成功!
另外也許你會問,我沒有添加監控的界面,界面是從哪裡來的,打開druid的jar你就會恍然大悟
注意:配置前一定要保證下載下傳好druid的jar包,下載下傳位址: http://code.alibabatech.com/mvn/releases/com/alibaba/druid/
并配置好資料連接配接池。