當我們在javaWEB項目中使用到druid來作為我們的連接池的時候,一定不會忘了添加監控功能。下面我們就來看一下,在一個簡單的web項目中(尚未使用任何框架)我們是如果來配置我們的web.xml來完成我們的監控配置
首先是過濾器filter的配置,在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>
1.1 配置監控頁面訪問密碼
需要配置Servlet的 loginUsername
和 loginPassword
這兩個初始參數。
具體可以參考: 為Druid監控配置訪問權限(配置訪問監控信息的用戶與密碼)
示例如下:
<!-- 配置 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>true</param-value> </init-param> <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>
2. 配置allow和deny
StatViewSerlvet展示出來的監控信息比較敏感,是系統運行的內部情況,如果你需要做訪問控制,可以配置allow和deny這兩個參數。比如:
<servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> <init-param> <param-name>allow</param-name> <param-value>128.242.127.1/24,128.242.128.1</param-value> </init-param> <init-param> <param-name>deny</param-name> <param-value>128.242.127.4</param-value> </init-param> </servlet>
判斷規則
- deny優先於allow,如果在deny列表中,就算在allow列表中,也會被拒絕。
- 如果allow沒有配置或者為空,則允許所有訪問
ip配置規則
配置的格式
<IP>
或者
<IP>/<SUB_NET_MASK_size>
其中
128.242.127.1/24
24表示,前面24位是子網掩碼,比對的時候,前面24位相同就匹配。
不支持IPV6
由於匹配規則不支持IPV6,配置了allow或者deny之后,會導致IPV6無法訪問。
3. 配置resetEnable
在StatViewSerlvet輸出的html頁面中,有一個功能是Reset All,執行這個操作之后,會導致所有計數器清零,重新計數。你可以通過配置參數關閉它。
<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> </servlet>
參考url:https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatViewServlet%E9%85%8D%E7%BD%AE