作者:高元_G·Marshal于 2017年06月22日 发布在分类 / 开发技术 / Java 下,并于 2017年06月22日 编辑
    2017-06-22 10:39:28版本: Druid的简单使用-数据库连接池
    历史版本

    修改日期 修改人 备注
    2017-06-22 10:56:37[当前版本] 高元_G·Marshal 补充druid基础介绍
    2017-06-22 10:47:48 高元_G·Marshal 补充spring与配置文件
    2017-06-22 10:39:28 高元_G·Marshal CREAT

    前言:Druid可以当做连接池,可以用于监控sql

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


    配置监控页面访问密码

    需要配置Servlet的 loginUsername 和 loginPassword这两个初始参数。

    具体可以参考: 为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>


    配置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无法访问。

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


    来源:http://www.cnblogs.com/xuerong/p/5522806.html


    睿恒知识库-V3.2.0