druid添加监控

格陵兰鲨鱼王 1年前 ⋅ 581 阅读

步骤

修改web.xml

<!--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>false</param-value>
	</init-param>
	<init-param>
		<!-- 用户名 -->
		<param-name>loginUsername</param-name>
		<param-value>123456</param-value>
	</init-param>
	<init-param>
		<!-- 密码 -->
		<param-name>loginPassword</param-name>
		<param-value>yourpassword</param-value>
	</init-param>
</servlet>
<servlet-mapping>
	<servlet-name>DruidStatView</servlet-name>
	<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!--druid监控页面 -->

打开登录页面

http://127.0.0.1:9999/test/druid/index.html 用户名和密码在上面web.xml文件中有配置。

显示sql监控

在spring的数据源配置中添加这个属性。 <property name="filters" value="wall,stat"/>

添加了这句配置之后就能在druid的sql监控下看到sql。

配置图1.png

存储慢sql

把慢sql存储到日志,并在sql监控页面显示每个sql的最长处理时间。

在spring的数据源配置中添加这个属性。

<property name="proxyFilters">
	<list>
		<ref bean="stat-filter"/>
		<ref bean="log-filter"/>
	</list>
</property>

配置stat-filter和log-filter

<!-- 慢SQL记录 -->
<bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
	<!-- 慢sql时间设置,即执行时间大于200毫秒的都是慢sql -->
	<property name="slowSqlMillis" value="200"/>
	<property name="logSlowSql" value="true"/>
</bean>

<bean id="log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter">
	<property name="dataSourceLogEnabled" value="true" />
	<property name="statementExecutableSqlLogEnable" value="true" />
</bean>

配置log4j,把慢sql插入到日志中

修改log4j.properties

log4j.logger.com.alibaba.druid=WARN,druid
log4j.additivity.com.alibaba.druid=false
log4j.logger.druid.sql.DataSource=WARN,druid
log4j.logger.druid.sql.Connection=WARN,druid
log4j.logger.druid.sql.Statement=WARN,druid

log4j.appender.druid=org.apache.log4j.DailyRollingFileAppender
log4j.appender.druid.layout=org.apache.log4j.PatternLayout
log4j.appender.druid.layout.ConversionPattern= [%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%t][%c][%L]%m%n
log4j.appender.druid.datePattern='.'yyyy-MM-dd
log4j.appender.druid.Threshold = WARN
log4j.appender.druid.append=true
log4j.appender.druid.File=../logs/test/druid-slow-sql.log

全部评论: 0

    我有话说: