如何收集資料
您可以採取三種方法來收集 Transformation Advsior 的資料
使用資料收集器
資料收集器是一種工具,可收集環境中中介軟體部署的相關資訊,以協助 IBM Cloud Transformation Advisor 為您提供在 IBM WebSphere Application Server、 Apache Tomcat、 Red Hat JBoss 或 Oracle WebLogic 應用程式伺服器上執行之 Java™ EE 應用程式的移轉分析。 此工具會為每個設定檔/網域產生一個 .zip 資料夾,並將分析結果放置在該目錄內。
對於 Java 應用程式,該工具會利用 Migration Toolkit for Application Binaries。 您可以直接使用 Migration Toolkit for Application Binaries (又稱為「二進位掃描器」)。 這在某些疑難排解實務範例中可能特別有用。 如需如何下載及使用 Migration Toolkit for Application Binaries 的相關資訊,請按一下 這裡。 如果這些工具已在使用中,則也會需要執行這些工具所需的相同安全需求,才能執行資料收集器。
資料收集器會收集 WebSphere Application Server 6.1 版或更新版本安裝架構的配置資訊。
可以在 這裡 找到所收集的確切配置資訊。
若要分析應用程式,資料收集器需要下列存取權:
- 對應用程式伺服器安裝目錄和所有子目錄的讀取權
- 對設定檔目錄的讀取權
- 建立檔案和目錄,以及對現行目錄的寫入權
資料收集器不會收集與下列項目相關的任何資料:
- 工作量所處理的訊息內容或資料
- 日誌或日誌資料
- 密碼資訊
下載資料收集器
若要開始使用,請從 Transformation Advisor 使用者介面完成下列步驟:
- 建立工作區。
- 在新的工作區頁面上,按一下 資料收集器 按鈕並遵循指示進行下載。
安裝資料收集器
若要安裝資料收集器,請使用應用程式擁有者的使用者認證來登入應用程式伺服器,然後完成下列步驟:
- 將下載的檔案複製到應用程式系統中具有讀/寫/執行存取權的目錄內。
- 發出適用於您作業系統的指令,來解壓縮下載的檔案:
Linux: tar xvfz transformationadvisor-Linux_<WORKSPACE_NAME>.tgz
AIX: gunzip -c transformationadvisor-AIX_<WORKSPACE_NAME>.tgz | tar xf -
Solaris: tar xvfz transformationadvisor-Solaris_<WORKSPACE_NAME>.tgz
z/OS: gunzip -c transformationadvisor-zOS_<WORKSPACE_NAME>.tgz | tar xf -
Windows: unzip transformationadvisor-Windows_<WORKSPACE_NAME>.zip
- 移至資料收集器目錄:
cd transformationadvisor*
需要的資源
System | Memory (GB) | CPU (cores) | Disk space (GB)
---------------| ----------- | ----------- | ---------------
Data Collector | 2 | 2 | 0.5
執行資料收集器
當您第一次執行資料收集器時,會顯示授權。 接受條款以繼續執行。
警告:不應在正式作業伺服器上執行資料收集器。
若要同時分析應用程式及其配置,請執行適用於您網域的指令:
IBM WebSphere: ./bin/transformationadvisor -w <WEBSPHERE_HOME_DIR> -p <PROFILE_NAME> [ --ignore-missing-binary --ignore-missing-shared-library --applications --applications-file --skip-applications --skip-applications-file --no-upload] ([] denotes optional arguments)
Oracle WebLogic: ./bin/transformationadvisor --web-logic-config-file <Path to the WebLogic domain config.xml file> [--applications --applications-file --skip-applications --skip-applications-file --no-upload] ([] denotes optional arguments)
JBoss: ./bin/transformationadvisor --jboss-config-dir <Path to the JBoss server configuration directory> [--applications --applications-file --skip-applications --skip-applications-file --no-upload] ([] denotes optional arguments)
Apache Tomcat: ./bin/transformationadvisor --tomcat-home-dir <TOMCAT_HOME_DIR> --tomcat-config-dir <TOMCAT_CONFIG_DIR> [--applications --applications-file --skip-applications --skip-applications-file --no-upload] ([] denotes optional arguments)
若要檢視可用於資料收集器的指令行選項,請使用 --help 選項。
檢視資料
視應用程式的數目、大小和複雜性而定,資料收集器可能需要一些時間來執行及上傳結果。 在此程序期間,您可以檢查您的指令行,以追蹤其進度。
如果您的系統與新集合之間有連線,資料收集器會自動將結果上傳至 Transformation Advisor。 提供了包含數個報告的詳細分析,以協助您瞭解問題,以及可能需要變更程式碼的位置。
如果沒有連線,資料收集器會傳回包含應用程式資料的 .zip 檔案。 您需要使用「工作區」頁面上的 上傳資料 按鈕來手動上傳 zip 檔。
Transformation Advisor 資料收集器及 Java
資料收集器需要 1.7+ 版才能執行。 在第一個實例中,資料收集器將尋找 WebSphere 使用的 Java 相容版本 (如果這是 WebSphere 集合)。 If it cannot find the WebSphere Java version, or if the WebSphere version is not compatible (i.e. < 1.7), or this is not a WebSphere collection, then the data collector will attempt to use the Java specified in the -–java-home data collector argument. 如果未提供 –java-home argument ,則會使用以 JAVA_HOME 環境變數指定的 Java。 如果這些選項都無法找到相容的 Java 版本,則資料收集器將使用與資料收集器一起包裝的 Java。
取代資料收集器中的 Java 版本
在某些情況下,您想要在其中執行資料收集器的系統上可能未預先存在相容的 Java 版本,且與資料收集器一起包裝的 Java 也與正在執行它的系統不相容。 例如,包含 Java for AMD64 架構的 Solaris 資料收集器可能會發生這種情況。 如果您的 Solaris 是在 SPARC 上執行,則包裝的 Java 將無法運作。 在這些情況下,您可以使用適當的 Java 版本來建置您自己的資料收集器版本。
請採取下列步驟:
- 透過 Transformation Advisor 使用者介面下載該資料收集器的版本
- 解壓縮壓縮資料收集器
- 在解壓縮的資料收集器中找到 "jre" 資料夾,並將它取代為所需 Java 版本中的 jre
- 選用: 解壓縮的資料收集器中有一個稱為 uploadEndpoint.json 的檔案。 這包含 Transformation Advisor 伺服器的位置,以及上傳至特定工作區的唯一索引鍵。 您可以移除 uploadEndpoint.json 檔案。 這表示資料收集器將無法自動將集合上傳至 Transformation Advisor,而是會產生 zip ,您可以使用 Transformation Advisor 使用者介面手動上傳。 移除 uploadEndpoint.json 的優點是可讓您建立可在環境之間隨時複製的自訂資料收集器。 實際上,它會中斷資料收集器與 Transformation Advisor中特定工作區之間的鏈結。
- 壓縮資料收集器
現在可以將壓縮資料收集器複製到您想要執行收集的任何環境。
從 SunOS 和 Solaris 架構移轉
Transformation Advisor 提供 SunOS/Solaris 環境的資料收集器。 它已在 SunOS 5.10 5.11 (Solaris 10、11) 上測試過,但可能適用於舊版本。 為 SunOS/Solaris 提供的資料收集器會包裝 JRE ,以在 SunOS/Solaris on AMD64 架構上使用。 如果您想要在 SunOS/Solaris SPARC 架構上執行資料收集器,則您需要在執行資料收集器的系統上提供相容版本的 Java。
已知問題:
- 在 SunOS/Solaris 上執行資料收集器之前,請檢查環境上的 Bash 版本。 If the version is < 4.x, please upgrade to 4.x to ensure correct functioning of the data collector.
從舊版 WebSphere 移轉
Transformation Advisor 資料收集器支援從 WebSphere v6.1+進行收集。 對於從 6.1之前的版本進行 WebSphere 移轉,您需要手動尋找系統上部署的所有應用程式二進位檔,並將它們放入某個單一位置。 然後,您可以使用 "-o" 選項來執行資料收集器,以指向該位置並對應用程式執行分析。 當您使用 -o 選項執行資料收集器時,它會要求您選擇來源 WebSphere 及 Java 版本。 如果未顯示確切版本,請選取最接近實際版本的值,以取得最精確的結果。 在此狀況下,分析可能無法捕捉所有問題,將不會標示 WebSphere 及 Java 版本舊於受支援規則的問題。
從支援的應用程式伺服器移轉
Transformation Advisor 支援從下列應用程式伺服器收集:
- WebSphere
- Red Hat JBoss
- Weblogic
- Tomcat。
從不支援的應用程式伺服器移轉
如果您想要對不受支援的應用程式伺服器 (例如 Glassfish) 中的應用程式執行分析,您可以執行下列動作:
- 從系統手動收集應用程式二進位檔,並放在目錄中。
- 執行資料收集器,並使用 "-c" 選項將它指向應用程式位置。 這會執行一組基本 Java 規則,外加一些 Tomcat 特定規則。 Tomcat 特定規則不一定適用於您正在分析的應用程式伺服器,需要進一步調查。 在未來版本的資料收集器中,將有僅執行一般適用 Java 規則的選項。 需要進一步調查的 Tomcat 規則如下:
Set the sharing scope on resource references
Spring applications might fail to run from a non-expanded WAR file
Stub classes must be included when using remote Enterprise JavaBeans (EJB) 2.x
The getRealPath method previously returned null for files that do not exist
The OSGI remote bundle repository service API is unavailable
The OSGI Remote Service Admin API is unavailable
Transaction propagation is not supported for Enterprise JavaBeans (EJB) remote interfaces
Use correct case for tag attribute names
Use Java EE deployment descriptors and WebSphere bindings to define resource link references
Use Java EE deployment descriptors and WebSphere bindings to define resource references
Use Java EE deployment descriptors to define context lifecycle listeners
Use Java EE deployment descriptors to define context parameters
Use Java EE deployment descriptors to define environment references
Use Java EE deployment descriptors to define missing security roles
Validate the result of concatenation with getRealPath("")
Validate the result of concatenation with getRealPath("/")
Web Services Notification (WS-Notification) is unavailable
自訂用來產生報告檔的掃描選項
/conf 目錄下的 customCmd.properties 檔案用來配置掃描選項,這些掃描選項用來在掃描應用程式期間產生報告檔案。 使用者可以編輯此檔案來自訂掃描選項。
定義您自己的規則
自 Transformation Advisor v2.5 發行以來,您可以定義自己的自訂分析規則,以偵測應用程式移轉特有的實務範例。 可以輕鬆建立使用者定義的規則,如 這裡的詳細說明。 結果將以與現成可用的預先撰寫規則相同的方式顯示在 Transformation Advisor 使用者介面中。
資料收集器指令行工具選項
一般選項:
-- version
顯示資料收集器的版本。
--help
顯示資料收集器的所有選項。
--java-home
指定用於資料收集器的 Java 版本。
-J-X
傳遞至資料收集器的 JVM 選項。 將會除去 -J ,並將 -X 及其餘選項傳遞至 Java 執行時期。 例如,-J-Xmx4G 會將資料收集器執行時期的資料堆大小上限設定為 4GB。
-- no-upload
此旗標指示在收集完成之後將不會上傳至 Transformation Advisor 伺服器
IBM WebSphere 的選項:
-w, --was-home
WebSphere 安裝目錄的位置。
-p, --profile-config
如果提供此項,資料收集器將會連接至與該設定檔相關聯的 WebSphere JVM,並收集配置資訊。 如果您在 WebSphere 安裝目錄中有多個設定檔,則可以多次提供此選項。 此選項的語法為: --profile-config <Profile Name>
範例: --profile-config AppSrv01 --profile-config Dmgr01
-a, --applications
依預設,資料收集器會收集部署在設定檔上的所有應用程式的配置資訊。 如果指定此選項,則工具只會收集列出之應用程式的配置資訊。 指定多個應用程式的語法如下: --applications <application_1 Name>...<application_n name>
範例: --applications app1 app2 app3
-f, --applications-file
類似於 --applications 選項,此選項可讓資料收集器從提供的檔案中取得應用程式名稱,且只收集該檔案中所定義之應用程式的配置資料。
範例: --applications-file /tmp/applicationsToScan.txt
檔案可以是要併入之應用程式的逗點區隔及/或行區隔清單,例如:
app1.ear,app2.ear
app3.ear
-s、-- skip-applications
依預設,資料收集器會收集部署在設定檔上的所有應用程式的配置資訊。 如果指定此選項,則工具將跳過列出的應用程式。 指定多個應用程式的語法如下: --skip-applications <application_1 Name>...<application_n name>
範例: --skip-applications app1 app2 app3
--skip-applications-file
與 -- skip-applications 選項類似,此選項可讓資料收集器從提供的檔案取得應用程式名稱,並跳過在該檔案中定義的那些應用程式。
範例: --skip-applications-file /tmp/applicationsToScan.txt
檔案可以是要跳過之應用程式的逗點區隔及/或行區隔清單,例如:
app1.ear,app2.ear
app3.ear
--ignore-missing-binary
指示掃描跳過沒有二進位檔的應用程式。
--scan-binary-location
指示針對已部署應用程式的擴充目錄執行掃描。 依預設,資料收集器會掃描在部署期間上傳至 WAS 伺服器的二進位檔。 如果指定此選項,則資料收集器會掃描 WAS 伺服器上已部署應用程式的擴充目錄。
-s, --scan-node
指示對節點上的受管理設定檔執行掃描。
-o, --outside-location
WAS 起始目錄位置外部的目錄位置,其中包含要掃描的應用程式二進位檔。 語法如下: ./transformationadvisor -o <location of applications Outside WAS>
附註:如果指定此選項,則會忽略所有先前的引數。 資料收集器將要求您選取 WebSphere 版本號碼和 Java 版本。
Oracle WebLogic 的選項:
-l, --web-logic-config-file
WebLogic 網域 config.xml 檔的路徑。 如果您有多個網域,則可以多次指定此選項。 語法如下: --web-logic-config-file <Path of the config.xml file>
範例: --web-logic-config-file /home/oracle/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/config/config.xml
-g, --web-logic-apps-location
包含 WebLogic 應用程式二進位檔的目錄位置。 語法如下: --web-logic-apps-location <WebLogicapps location>
附註:如果指定此選項,則會忽略所有先前的引數。 資料收集器將要求您選取用於 WebLogic 伺服器的 Java 版本。
JBoss 的選項:
-j, --jboss-config-dir
JBoss 伺服器配置目錄的路徑。 如果您有多個伺服器,則可以多次指定此選項。 語法如下: --jboss-config-dir <Path of server configuration directory>
範例: --jboss-config-dir /root/EAP-7.1.0/standalone/configuration
-b, --jboss-apps-location
包含 JBoss 應用程式二進位檔的目錄位置。 語法如下: --jboss-apps-location <JBoss applications location>
附註:如果指定此選項,則會忽略所有先前的引數。 資料收集器將要求您選取用於 JBoss 伺服器的 Java 版本。
Apache Tomcat 的選項:
-t, --tomcat-home-dir
Tomcat CATALINA_HOME 目錄的路徑。 如果指定此引數,但未指定 --tomcat-config-dir 引數,則會假設 --tomcat-config-dir 與 --tomcat-home-dir相同。 如果除了 --tomcat-home-dir之外,還指定一或多個 --tomcat-config-dir 選項,則不會將 --tomcat-home-dir 視為配置目錄,除非它明確列在其中一個 --tomcat-config-dir 選項中。 語法如下: --tomcat-home-dir <Directory of Tomcat home>
-d, --tomcat-config-dir
Tomcat CATALINA_BASE 目錄的路徑。 除了此選項之外,還必須指定 --tomcat-home-dir (CATALINA_HOME)。 如果多實例 Tomcat 安裝有多個 CATALINA_BASE 目錄,則可以多次提供此選項。 語法如下: --tomcat-config-dir <Directory of Tomcat Configuration>
-c, --tomcat-apps-location
包含 Tomcat 應用程式二進位檔的目錄位置。 語法如下: --tomcat-apps-location <Tomcat appslocation>
附註:如果指定此選項,則會忽略所有先前的引數。 資料收集器將要求您選取用於 Tomcat 伺服器的 Java 版本。
使用 WebSphere Application Server 的內建 WSADMIN 指令
WebSphere 隨附的 wsadmin 指令有一個內建選項,可用來掃描已安裝的應用程式,並產生一組可直接上傳至 Transformation Advisor的 zip 檔案。
此指令的可用性視您執行的 WebSphere 版本及修正套件而定:
- WebSphere 8: 8.5.5.23 版或更新版本
- WebSphere 9: 9.0.5.14 版或更新版本
您可以在 這裡 找到此指令及所有指示的完整資料。
使用 Migration Toolkit for Application Binaries
使用 Transformation Advisor 資料收集器的替代方案是使用 Migration Toolkit for Application Binaries 來產生可上傳至 IBM Cloud Transformation Advisor的資料集合。 這裡概述如何執行此動作的詳細資料。
.