Druid监控

web.xmlcss

配置web应用的监控git

<servlet>
	<servlet-name>druidStatView</servlet-name>
	<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
	<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>
	 <init-param>
	   	  <!-- 密码 -->
	    	 <param-name>loginPassword</param-name>
	    	 <param-value>druid</param-value>
	  </init-param>
	  <init-param>
	      	<!-- 白名单ip -->
		<param-name>allow</param-name>
		<param-value>127.0.0.1</param-value>
	 </init-param>
<init-param>
  <!-- 清空计数 -->
         <param-name>resetEnable</param-name>
         <param-value>false</param-value>
        </init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>druidStatView</servlet-name>
		<url-pattern>/druid/*</url-pattern>
	</servlet-mapping>
<filter>
 <filter-name>DruidWebStatFilter</filter-name>
 <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
 <init-param>
 <!--过滤不监控的url类型-->
        <param-name>exclusions</param-name>
        <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
 </init-param>
 <init-param>
    <!-- url能够查看sql -->
    	<param-name>profileEnable</param-name>
    	<param-value>true</param-value>
 </init-param>
 <init-param>
        <param-name>principalCookieName</param-name>
        <!-- 对应cookie name -->
        <param-value>USER_COOKIE</param-value>
 </init-param>
 <init-param>
    <!-- 对应于Session name -->
        <param-name>principalSessionName</param-name>
        <param-value>USER_SESSION</param-value>
 </init-param>
 <init-param>
<!--监控Session数-->
<param-name>sessionStatMaxCount</param-name> 
<param-value>1000</param-value>
</init-param>
<init-param>
<!--Session状态-->
<param-name>sessionStatEnable</param-name> 
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
 <filter-name>DruidWebStatFilter</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

spring配置文件github

配置Spring-jdbc监控web

<!-- Spring-jdbc的信息 -->
	<bean id="druid-stat-interceptor"
		class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor">
	</bean>

	<bean id="druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut"
		scope="prototype">
		<property name="patterns">
			<list>
<!--拦截哪些类的方法-->
				<value>com.hollycrm..*Service*.*</value>
				<value>com.hollycrm..*dao*.*</value>
			</list>
		</property>
	</bean>
<!--proxy-target-class="true"加上这个,采用基于类代理方式-->
	<aop:config proxy-target-class="true">
		<aop:advisor advice-ref="druid-stat-interceptor"
			pointcut-ref="druid-stat-pointcut" />
	</aop:config>

注意:spring

<property name="connectionProperties" value="druid.stat.slowSqlMillis=5000;druid.stat.mergeSql=true"/>
druid.stat.slowSqlMillis=5000:设置慢sql的时间
druid.stat.mergeSql=true:合并sql
eg:
当你程序中存在没有参数化的sql执行时,sql统计的效果会很差。好比:
  1. select * from t where id = 1  
  2. select * from t where id = 2  
  3. select * from t where id = 3  

在统计中,显示为3条sql,这不是咱们但愿要的效果。StatFilter提供合并的功能,可以将这3个SQL合并为以下的SQL
select * from t where id = ?
<property name="filters" value="stat,log4j,mergeStat,wall" />
stat:sql
log4j:日志
mergeStat:合并sql
wall:sql白名单
白名单:
可能 会致使某些sql不能执行,由于默认是不启动的。在workflow中添加备注的sql,没法执行。报sql注入。

参考文档:sql

http://blog.csdn.net/dengtaowei/article/details/45698367cookie

参考文档:session

https://github.com/alibaba/druid/wikiapp

http://blog.csdn.net/xiaoyu411502/article/details/51392237ui

效果:

Sql监控(sql执行的状况)

URI监控(每个请求的状况)

Spring与jdbc交互监控(service/dao的方法中jdbc状况)

数据源监控

相关文章
相关标签/搜索