druid监控使用详解

Druid Nicholas 2018-11-30 967浏览
相关标签: druid

   image.png

0.用前须知

Druid是Java语言中最好的数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,提供强大的监控和扩展功能。公司建议统一使用druid作为数据库连接池组件。


1. Pom依赖配置

java版本要求:jdk 1.6+

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>${druid-version}</version> <!-- 建议使用 1.0.31版本及以上 -->
</dependency>


2. 监控配置

1)applicationContext.xml 数据源配置

a) 添加AOP 相关schema头,spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/aop
	                    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
b) 监控bean配置,spring.xml
<!-- Druid AOP配置 -->
<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.dao.base.*</value>
        </list>
    </property>
</bean>
<!-- 打开监控 -->
<aop:config>
    <aop:advisor advice-ref="druid-stat-interceptor"
        pointcut-ref="druid-stat-pointcut" />
</aop:config>
<!-- 打开面向切面工具 -->
<aop:aspectj-autoproxy />

2) web.xml 配置

<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>
</servlet>
<servlet-mapping>
   <servlet-name>DruidStatView</servlet-name>
   <url-pattern>/druid/*</url-pattern>
</servlet-mapping>


3、转存Druid监控记录到日志文件

1) DataSource中增加配置:

<!-- 每隔10分钟把监控数据输出到日志中 -->
< property name ="timeBetweenLogStatsMillis" value ="600000" />
<!-- 自定义实现输入监控数据到日志 -->
< property name ="statLogger" ref ="localStatLogger" />

2)定义beans:

<bean id ="localStatLogger" class ="com.asia.druid.LocalStatLogger" ></ bean>
<bean id ="localStatLogger" class="com.alibaba.druid.pool.DruidDataSourceStatLoggerImpl">  
     <property name="logger" ref="log4jb" />  
</bean>  
<bean id="log4jb" class="com.alibaba.druid.support.logging.Log4jImpl">  
     <constructor-arg>  
         <value>druid.statlog</value>  
     </constructor-arg>  
</bean>

3)添加log4j配置:

<!-- druid将空文件输出 -->
<appender name="DRUID" class="org.apache.log4j.DailyRollingFileAppender">
	<param name="Append" value="true" />
	<param name="File" value="/mhdata/logs/druid.log" />
	<param name="encoding" value="UTF-8" />
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c.%M(%L)] %m%n" />
	</layout>
</appender>
<!-- 定义DRUID日志 -->
<logger name="druid.statlog" additivity="false">
	<level value="INFO" />
	<appender-ref ref="DRUID"/>
</logger>


4、访问地址

访问地址: 
http://ip:port/{项目/}druid/index.html

相关标签: druid
相关文章
    0.用前须知 Druid是Java语言中最好的数据库连接池。数据库连接池有很多选择,c3p、dhcp、proxool等,druid作为一名后起之秀,凭借其出色的性能,提供强大的监控和扩展功能。公司建议统一使用druid作为数据库连接池组件。 1. Pom依赖配置 java版本要求:jdk 1.6+ <dependency>     <groupId>com.alibaba</groupId>继续阅读>>
2018-11-30 966浏览 3个赞
    1、用前须知 目前公司业务系统的数据源配置使用DBCP和DRUID两种,部分开发对连接的参数理解不是很清晰,对参数的配置没有依据业务系统的实际情况,导致连接等资源浪费。 2、DBCP和DRUID参数对比 DBCP和DRUID常见的配置参数 参数名 DBCP默认参数 DRUID默认参数 说明 name(DRUID独有) 无 无 配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。如果没有配置,将会生成一个名字,格式是:"DataSou继续阅读>>
2018-11-30 880浏览 3个赞
    依赖druid版本 <dependency>     <groupId>com.alibaba</groupId>     <artifactId>druid</artifactId>     <version>1.0.9</version> </dep继续阅读>>
2018-11-30 328浏览 0个赞
版权声明
本站的文章和资源来自互联网或者站长的原创。如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。