『壹』 怎樣將druid監控的數據存到資料庫中+方便繼續監控
Druid 0.1.18之後版本都發布到maven中央倉庫中,所以你只需要在項目的pom.xml中加上dependency就可以了。
例如:
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid-version}</version> </dependency>5. 怎麼打開Druid的監控統計功能
Druid的監控統計功能是通過filter-chain擴展實現,如果你要打開監控統計功能,配置StatFilter。
『貳』 如何使用Druid監控sql
Druild包獲取
Maven工程中添加druid依賴包:
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.26</version>
</dependency>
Druid使用
替換C3P0連接池
Web工程原先採用C3P0連接池的配置:
<!-- 配置數據源-C3PO -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="autoCommitOnClose" value="false" />
<property name="maxIdleTime" value="${cpool.maxIdleTime}" />
<property name="checkoutTimeout" value="${cpool.checkoutTimeout}" />
<property name="initialPoolSize" value="${cpool.minPoolSize}" />
<property name="minPoolSize" value="${cpool.minPoolSize}" />
<property name="maxPoolSize" value="${cpool.maxPoolSize}" />
<property name="acquireIncrement" value="${cpool.acquireIncrement}" />
<property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}" />
</bean>
改成Druid連接池DruidDataSource
<!-- 配置數據源-druid -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="20" />
<property name="initialSize" value="1" />
<property name="maxWait" value="60000" />
<property name="minIdle" value="1" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="poolPreparedStatements" value="true" />
<property name="maxOpenPreparedStatements" value="20" />
</bean>
StatViewServlet配置
Druid內置提供了一個StatViewServlet用於展示Druid的統計信息。
這個StatViewServlet的用途包括:
提供監控信息展示的html頁面
提供監控信息的JSON API
StatViewServlet是一個標準的javax.servlet.http.HttpServlet,需要配置在你web應用中的WEB-INF/web.xml中。
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
配置完之後,可以通過如下格式的地址在瀏覽器訪問查看。
http:/<host>:<port>/<context>/druid
『叄』 為什麼說Druid是「最好的資料庫連接池」
1、可以監控資料庫訪問性能,Druid內置提供了一個功能強大的StatFilter插件,能夠詳細統計SQL的執行性能,這對於線上分析資料庫訪問性能有幫助。
2、資料庫密碼加密。直接把資料庫密碼寫在配置文件中,這是不好的行為,容易導致安全問題。DruidDruiver和DruidDataSource都支持PasswordCallback。
3、SQL執行日誌,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應的LogFilter,監控你應用的資料庫訪問情況。
4、擴展JDBC,如果你要對JDBC層有編程的需求,可以通過Druid提供的Filter機制,很方便編寫JDBC層的擴展插件。
『肆』 druid sql監控 怎麼看
首先是過濾器filter的配置,在web.xml中添加如下配置,如圖:
選項配置結束之後,就是我們監控界面的路徑配置了,配置如下圖
Druid已經配置好,接著在瀏覽器中訪問,如圖所以:
輸入訪問地址後,進入Druid監控頁面,如圖所示:
此時,在瀏覽器中輸入需要監控系統頁面網址,然後點擊上個畫面中的「SQL監控」即可,此時就可以看到每個SQL語句所用的時間,如下圖所示: