druid之监控设置及问题小记

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

http://blog.csdn.net/blogdevteam/article/details/7750513

http://blog.csdn.net/renfufei/article/details/39553639

 

posted @ 2015-06-12 14:26  庄君祥  阅读(8556)  评论(2编辑  收藏  举报