zoukankan      html  css  js  c++  java
  • Druid使用起步—在javaWeb项目中配置监控 连接池

    当我们在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

  • 相关阅读:
    《数据库原理》课程笔记 (Ch04-数据库管理系统)
    《数据库原理》课程笔记 (Ch03-数据库语言)
    《操作系统》课程笔记(Ch07-死锁)
    《数据库原理》课程笔记 (Ch02-数据模型)
    《数据库原理》课程笔记 (Ch01-引论)
    《计算机网络》课程笔记 (Ch02-应用层)
    《ES6标准入门》读书笔记 第5章
    《ES6标准入门》读书笔记 第4章
    《ES6标准入门》读书笔记 第3章
    《计算机网络》课程笔记 (Ch01-计算机网络和因特网)
  • 原文地址:https://www.cnblogs.com/xuerong/p/5522806.html
Copyright © 2011-2022 走看看