ADAM可以對Java JDK1.6及以上版本的應用提供採集功能,協助客戶評估分析需要改造的功能點,對於非Java應用暫不支援採集評估。
應用採集概述
應用採集用戶端包含兩個模組:
應用動態採集Agent。收集運行期應用請求資料庫的基本資料,比如請求的sql-schema-調用棧、應用系統資訊、效能資訊、SQL熱度等。
資料集中收集Collector。集中收集各應用Agent傳輸過來的資料,並進行脫敏、加工。
應用採集可以完成:
採集應用訪問的SQL與調用棧資訊。
收集應用運行效能資訊。
應用採集不能完成:
非Oracle資料庫或非Java應用暫不能採集。
無資料庫請求的監控不到,比如採集周期內未請求介面則這個介面的請求SQL語句及調用棧採集不到。
觸發器等未通過程式直接調用的監控不到。
說明
採集的SQL會做脫敏處理,不採集請求參數及SQL中的具體值。
唯讀保護:不侵入應用。
負載控制:業務高峰期自動暫停採集、記憶體使用量量控制在定義範圍內。
支援 JDK1.6+ Tomcat、Jboss、Weblogic容器Oracle的Java應用動態採集。
應用採集工具下載
部署前必讀
部署時涉及基本技術知識,請確保由Java研發人員操作。
支援Sun JDK 、Oracle JDK、Open JDK1.6及以上版本,不支援IBM JDK。
解壓後有兩個目錄:
collector:collector是統一收集器,單獨部署在沒有線上應用的伺服器上(資料處理時避免對線上應用造成影響)。
javaagent:javaagent目錄拷貝到需要監控的應用伺服器上,和應用部署在一起,用於採集資料。
確保Collector和Agent具有操作許可權。
說明UNIX/Linux需要對目錄增加級聯操作許可權
chmod -R 775 collector/
。Collector相當於Server端,可對應1-20個Agent,一個應用伺服器部署一個Agent。
說明如果應用是分布式多機器,根據負載平衡的情況,只抽樣幾台部署Agent即可。
先部署Collector,後部署應用Agent,應用要與Collector網路可達(用於推送資料做集中脫敏等處理),部署Collector的機器需要JDK 1.6+版本,JVM記憶體4G以上。磁碟與監控的應用數量、監控時間長度、業務活躍度、SQL數量及SQL大小有關,不會出現爆髮式增長,可觀察半天來估算,一般一個應用監控7天資料量在1G以下。
Agent要求:應用部署在JDK1.6及以上版本,待監控的應用有300M的可用JVM heap空間。服務容器支援Tomcat、Jboss、Weblogic、Websphere及k8s叢集Docker容器鏡像部署。
Agent監控訪問Oracle資料庫的SQL和代碼調用棧,請確保Agent監控周期內的操作覆蓋全。如有週期性任務,需在有這些任務運行時監控,否則資料擷取不全。