druid是什么注不再赘述了。想了解直接参见
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
本文主要记录监控相关部分
1、怎么配置监控
2、注意点
3、应用场景
配置监控
1.打开监控统计
核心配置是这个,一般通过ioc来配置。需要注意的参数是这个
filters : 'stat,wall'
'stat'用于统计,'wall'用于防火墙
2.展示监控统计
在web.xml里配置
<!-- 展示Druid的统计信息,统计数据源和sql --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <!-- 白名单 --> <param-name>allow</param-name> <param-value>192.168.1.120/24,111.206.116.68,127.0.0.1</param-value> </init-param> <init-param> <!-- 用户名 --> <param-name>loginUsername</param-name> <param-value>account</param-value> </init-param> <init-param> <!-- 密码 --> <param-name>loginPassword</param-name> <param-value>tyts</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping> <!-- 如果需要监控uri,设置Web关联监控配置 --> <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,/druid/*</param-value> </init-param> </filter> <filter-mapping> <filter-name>DruidWebStatFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
注意点
1.访问权限(这里有两层限制)
- 限定指定的ip可以访问。
- 需要通过用户名和密码才可以进入展示页面
限定指定的ip
规则:
如果是限定指定ip,可以直接写完整的ip。例如111.206.116.68。
如果是限定指定的子网里的所有ip都可以访问,那就是ip/子网掩码数。例如 192.168.1.120/24 就相当于192.168.1.*
通过用户名和密码
看web.xml里的例子即可。功能本身就带有。
2.统计的filters
druid提供了一些内置filter实例。这里用的是stat和wall。一个是用于监控,一个是用于防火墙
如果想使用sql防火墙,必须加上wall
3.weburi-detail.html详情页里不能显示带.json后缀的uri详情,因为在druid的代码进行了处理
if (url.startsWith("/weburi-") && url.indexOf(".json") > 0) { String uri = StringUtils.subString(url, "weburi-", ".json"); return returnJSONResult(RESULT_CODE_SUCCESS, getWebURIStatData(uri)); }
应用场景(或者说监控页面关注的选项)
数据源
连接数设置,事务及连接数使用情况以及使用详细情况
SQL监控
执行时间,最慢,读取行数,最大并发数,以及时间分布。不一一说明
SQL防火墙
可以看出表的使用情况
Web应用
并发,请求数,来源于哪个类型操作系统,来源于哪些浏览器
URI监控
请求次数,请求时间,最大并发,区间分布
参考资料:
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98