druid 添加监控

本贴最后更新于 2302 天前,其中的信息可能已经时过境迁

步骤

修改 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

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...