Druid是什么和⽤StatViewServlet⽤于展⽰Druid的统计信息
Druid是⼀个JDBC组件,它包括三部分:
DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
DruidDataSource ⾼效可管理的数据库连接池。
SQLParser
Druid可以做什么?
1) 可以监控数据库访问性能,Druid内置提供了⼀个功能强⼤的StatFilter插件,能够详细统计SQL的执⾏性能,这对于线上分析数据库访问性能有帮助。
2) 替换和。Druid提供了⼀个⾼效、功能强⼤、可扩展性好的数据库连接池。
3) 数据库密码加密。直接把数据库密码写在配置⽂件中,这是不好的⾏为,容易导致安全问题。DruidDruiver和DruidDataSource都⽀持PasswordCallback。
4) SQL执⾏⽇志,Druid提供了不同的LogFilter,能够⽀持、和JdkLog,你可以按需要选择相应的LogFil
ter,监控你应⽤的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很⽅便编写JDBC层的扩展插件。
如下是⼀个基于Druid内置扩展StatFilter的监控实现:
Druid 的 JavaDoc ⽂档请看
Druid内置提供了⼀个StatViewServlet⽤于展⽰Druid的统计信息。
这个StatViewServlet的⽤途包括:
提供监控信息展⽰的html页⾯
提供监控信息的JSON APIdruid连接池配置详解
注意:使⽤StatViewServlet,建议使⽤druid 0.2.6以上版本。
1. 配置l
StatViewServlet是⼀个标准的javax.servlet.http.HttpServlet,需要配置在你web应⽤中的l中。
<servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-patte 根据配置中的url-pattern来访问内置监控页⾯,如果是上⾯的配置,内置监控页⾯的⾸页是/druid/index.html
2. 配置allow和deny
StatViewSerlvet展⽰出来的监控信息⽐较敏感,是系统运⾏的内部情况,如果你需要做访问控制,可以配置allow和deny这两个参数。⽐如:
<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>128.242.127.1/24,128.242.128.1</param-v 判断规则
deny优先于allow,如果在deny列表中,就算在allow列表中,也会被拒绝。
如果allow没有配置或者为空,则允许所有访问
ip配置规则
配置的格式
<IP> 或者 <IP>/<SUB_NET_MASK_size>
其中
128.242.127.1/24
24表⽰,前⾯24位是⼦⽹掩码,⽐对的时候,前⾯24位相同就匹配。
不⽀持IPV6
由于匹配规则不⽀持IPV6,配置了allow或者deny之后,会导致IPV6⽆法访问。
3. 配置resetEnable
在StatViewSerlvet输出的html页⾯中,有⼀个功能是Reset All,执⾏这个操作之后,会导致所有计数器清零,重新计数。你可以通过配置参数关闭它。
<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>false</param-value> </init-param> 4. 按需要配置Spring和Web的关联监控
Web关联监控配置
Spring关联监控配置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。