ADAM可以對Java JDK1.6及以上版本的應用提供採集功能,協助客戶評估分析需要改造的功能點,對於非Java應用暫不支援採集評估。
應用採集概述
-
應用採集用戶端包含兩個模組:
-
應用動態採集Agent。收集運行期應用請求資料庫的基本資料,比如請求的sql-schema-調用棧、應用系統資訊、效能資訊、SQL熱度等。
-
資料集中收集Collector。集中收集各應用Agent傳輸過來的資料,並進行脫敏、加工。
-
-
應用採集可以完成:
-
採集應用訪問的SQL與調用棧資訊。
-
收集應用運行效能資訊。
-
-
應用採集不能完成:
-
非Oracle資料庫或非Java應用暫不能採集。
-
無資料庫請求的監控不到,比如採集周期內未請求介面則這個介面的請求SQL語句及調用棧採集不到。
-
觸發器等未通過程式直接調用的監控不到。
-
說明
-
採集的SQL會做脫敏處理,不採集請求參數及SQL中的具體值。
-
唯讀保護:不侵入應用。
-
負載控制:業務高峰期自動暫停採集、記憶體使用量量控制在定義範圍內。
-
支援 JDK1.6+ Tomcat、Jboss、Weblogic容器Oracle的Java應用動態採集。
應用採集工具下載
在ADAM控制台左側導覽列選擇應用評估改造,進入應用評估改造頁面。頁面頂部顯示應用評估流程四個步驟:應用採集 → 應用畫像 → 應用評估 → 應用靜態改造。當前處於第一步應用採集階段,支援對Oracle/DB2/Teradata資料庫的Java應用進行資訊採集與相容性評估(非Java應用暫不支援)。單擊下載採集器按鈕下載應用採集工具,採集資訊後壓縮為zip包上傳,再單擊下一步建立應用畫像進入下一步。
部署前必讀
-
部署時涉及基本技術知識,請確保由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監控周期內的操作覆蓋全。如有週期性任務,需在有這些任務運行時監控,否則資料擷取不全。