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>
<paramvalue>
*.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>2000</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>
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>
上面两项测试完毕之后,浏览器输入网址:http://ip:port/projectName/druid/index.html 将ip、port和projectName换成实际的配置,访问成功!