当我们在javaWEB项目中使用到druid来作为我们的连接池的时候,一定不会忘了添加监控功能。下面我们就来看一下,在一个简单的web项目中(尚未使用任何框架)我们是如果来配置我们的web.xml来完成我们的监控配置

首先是过滤器filter的配置,在web.xml中添加如下配置

<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-pattern>
</servlet-mapping>

1.1 配置监控页面访问密码

需要配置Servlet的 loginUsernameloginPassword这两个初始参数。

具体可以参考: 为Druid监控配置访问权限(配置访问监控信息的用户与密码)

示例如下:

<!-- 配置 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>

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-value>
</init-param>
<init-param>
<param-name>deny</param-name>
<param-value>128.242.127.4</param-value>
</init-param>
</servlet>

判断规则

  • 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>
</servlet>

参考url:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE

最新文章

  1. JQuery EasyUI datagrid 复杂表头处理
  2. CSS基本知识1-CSS基本概念
  3. 开源日志记录工具log4j
  4. POJ2226 Muddy Fields(二分图最小点覆盖集)
  5. IOS开发-UITextField代理常用的方法总结
  6. Android SQLite数据储存方式
  7. 嵌入式 hi3518c平台网卡模式MII与RMII模式在Uboot和kernel中切换小结
  8. PHP PDO 简单登陆操作
  9. C#中hashtable的赋值、取值、遍历、排序操作
  10. vim 设置默认显示行号
  11. 新的一年新的变化!IT的大变天
  12. react16 渲染流程
  13. Excel藏的很深(1)
  14. [转帖]整理:Windows系统下的奇技淫巧大汇总
  15. java判断一个字符串是否包含某个字符
  16. HDU 1823 Luck and Love (二维线段树&amp;区间最值)题解
  17. 在已配置成功的opencv3.2.0下配置opencv_contrib模块
  18. 远端访问MySQL
  19. Python 导入与注册
  20. PRINCE2认证与其他项目管理认证标准有何不同?

热门文章

  1. NPOI导出模板样式
  2. 【Codeforces 707C】Pythagorean Triples(找规律)
  3. bzoj2938: [Poi2000]病毒
  4. 【BZOJ-1179】Atm Tarjan + SPFA
  5. 数论专项测试——约数个数和(lucas的数论)
  6. SQLServer日期格式化
  7. android录音相关
  8. Linux.BackDoor.Chikdos/Elknot Attack And Defense Analysis
  9. 如何解决Response.Redirect方法传递汉字丢失或乱码问题?
  10. java字符串拼接与性能