使用 IBM Support Assistant Lite 為 WPS 收集故障診斷資訊

CloudSpace發表於2009-12-25
轉自:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0912_wuwei_isa_lite/index.html
IBM Support Assistant Lite (ISA Lite) 是 IBM 釋出的一個 IBM Support Assistant 的輕量級版本,它結合了 IBM 技術支援網站釋出的必須收集資料 (MustGather) 指南,旨在幫助使用者快速準確地收集故障診斷資料。本文介紹了 ISA Lite 的下載和配置,並結合實際工作中的經驗,以 WebSphere Process Server 為例詳細完整地介紹瞭如何使用 ISA Lite 收集故障診斷資訊並將其提交給 IBM 技術支援團隊。

引言

IBM WebSphere® Process Server (WPS) 是下一代業務流程整合伺服器,它基於 WebSphere 應用伺服器 (WebSphere Application Server, WAS),通過業務流程引擎以及人工工作管理員等核心元件,實現了工作流、人工任務、應用程式以及系統的業務流程自動化。在 WPS 的使用過程中,使用者可能會遇到一些問題,這些問題通常由業務流程設計不當,使用者誤操作或產品缺陷等導致。這時,就需要除錯應用程式或分析系統的日誌資訊來 確定問題發生的根本原因。

為了協助使用者以自助的方式或在 IBM 技術支援工程師的協助下進行故障診斷工作,IBM 釋出了一款免費的桌面應用程式 IBM Support Assistant (ISA)。它整合了很多有用的功能和工具,提供了包括查詢資訊、分析問題以及管理服務請求等在內的一站式技術支援服務。對於那些使用者無法自行解決的問 題,通常需要提交問題管理記錄 (Problem Management Record, PMR) 以獲得 IBM 技術工程師的幫助。大多數情況下,IBM 技術支援工程師會要求使用者就問題診斷收集一些必要資訊。用 ISA 提供的工具之一:資料收集器,就可以幫助我們完成這項工作。但這種方式僅適用於將 ISA 與所支援的產品安裝在同一臺物理機器的情況。如果所支援的產品執行在遠端系統上,則需要額外建立一個便攜收集器 (Portable Collector),然後將其傳送到目標系統上去執行相應的收集過程。

作為 ISA 的一個輕量級版本,ISA Lite 是一個專用的診斷資料收集工具,支援多種平臺且無需安裝,僅需解壓縮並稍做配置即可使用;同時,它結合了必須收集診斷資料 (MustGather) 指南,針對產品以及特定問題型別自動收集診斷資料,提高了準確性;在使用者允許的前提下,ISA Lite 還可以將收集的診斷資料提交給 IBM 技術支援團隊,有效地縮短了解決問題的時間。

本文首先介紹 ISA Lite 提供的資料收集功能,然後詳細描述其配置和使用方法,並以一個示例場景演示怎樣用 ISA Lite 為 WPS 的特定問題收集故障診斷資料,以及將這些資料傳送給 IBM 技術支援團隊的方法。

專用的診斷資料收集工具--ISA Lite

同 ISA 一樣,ISA Lite 也是一款免費工具,它旨在將繁瑣和重複的診斷資訊收集工作自動化和流程化,從而提高了資料收集的效率。正如本文之前所提到的,ISA Lite 是一個專用的資料收集工具,因此,我們無需安裝整個 ISA 應用程式,就能夠快速地收集資訊並保證其準確性。此外,相對 ISA 提供的資料收集器來說,ISA Lite 使資料收集工作更具針對性。ISA Lite 釋出了針對某些 IBM 軟體產品的專有版本,它結合了產品的 MustGather 指南,針對不同的問題症狀收集特定的診斷資料。當前,受支援的軟體產品主要包括 WebSphere 應用伺服器,WebSphere Process Server 和 WebSphere Portal。未來 ISA Lite 還會對更多的軟體產品提供支援。

在這篇文章中,我們將介紹 ISA Lite 釋出的針對 WebSphere Process Server 的專用版本,( 以下簡稱 ISA Lite,如未作特別說明,均指 ISA Lite 用於 WebSphere Process Server 的版本 )。它基於 IBM WPS 技術支援網站釋出的 MustGather 技術文件,針對在 WPS 的使用過程中常見的問題型別自動收集診斷資訊並生成壓縮格式的檔案,稍後使用者可以自行分析或將這些資訊提交給 IBM 技術支援團隊。

說明:本文以 ISA Lite (WPS) 為例,但介紹的方法在使用 ISA Lite (WAS) 和 ISA Lite (Portal) 收集診斷資料時亦可作為參考。

為什麼需要 ISA Lite 來收集診斷資訊?

以下將為您提供使用 ISA Lite 收集診斷資訊的幾個好處。

簡單:執行 ISA Lite 收集 WPS 的診斷資訊並不需要使用者對產品有豐富的知識或深入的瞭解,甚至可以不熟悉 WPS 管理控制檯的操作,ISA Lite 會引導使用者一步步地完成所有步驟。

安全:除非使用者指定,ISA Lite 不會將收集的資訊自動傳送給 IBM 技術支援團隊或上傳至任何地方,保護了客戶的敏感資訊。

準確手動收集診斷資訊通常要執行數十個步驟,繁瑣且容易出錯。ISA Lite 將資料收集過程自動化,儘量避免由人為誤操作可能導致的出錯,並大大縮短收集診斷資料所需的時間。

高效:ISA Lite 可針對特定的問題症狀收集故障資訊,這將為後續的分析診斷奠定基礎並提高了問題解決的效率。

便捷:ISA Lite 是專門為收集診斷資料而定製的輕量級工具,它不需要安裝,只要解壓縮 ZIP 檔案並稍作配置即可使用,簡便且節省磁碟佔用空間。

ISA Lite 的下載和配置

下載

ISA Lite 可以在多種平臺上使用,包括 Microsoft® Windows®、Linux® (Red Hat Enterprise、SuSE) 、AIX®、Sun Solaris™ 和 HP-UX。使用者可以通過 IBM 的官方網站下載 ISA Lite 的安裝檔案包,通常,這個壓縮檔案大小不足 10M。

將下載檔案 ISALiteForWPS_Win.zip 存放到本地的作業系統中,然後利用一些資料壓縮實用程式工具或執行相應的命令將其解壓縮。

配置

ISA Lite 是用 Java 語言開發的工具,所需的 JRE 版本為 1.4.2 或更高,因此需要設定 JAVA_HOME 環境變數以保證其正常啟動和執行。

可以通過下面兩種方式之一設定 JAVA_HOME 環境變數:

1.執行 setupCmdLine 指令碼

執行 WebSphere 應用伺服器提供的 setupCmdLine 指令碼,這將自動設定 JAVA_HOME 環境變數。

在 Windows 平臺上,這個指令碼位於 %WAS_HOME%\bin\

可以通過以下命令來執行這個指令碼

app_server_root\bin\setupCmdLine.bat

在 UNIX 平臺上,這個指令碼位於:

$WAS_HOME/bin/setupCmdLine.sh,

相應的命令為:

./setupCmdLine.sh

2.直接設定 JAVA_HOME 環境變數

使用者也可以通過執行作業系統特定的命令來設定 JAVA_HOME 環境變數。例如,在 Windows 平臺上,JDK 1.4.2 安裝在 c:\jre1.4.2,可以執行以下命令來設定 JAVA_HOME 環境變數:

SET JAVA_HOME=c:\jre1.4.2

在 UNIX 平臺上,設定 JAVA_HOME 環境變數的命令語法取決於所用的 Shell。例如,如果使用者使用 Bash Shell 並且 JDK 安裝在 /opt/jre142,那麼可以用以下命令來設定 JAVA_HOME 環境變數:

export JAVA_HOME=/opt/jre142

正如前面提到的,ISA Lite 並不需要進行特定的安裝,在完成上述步驟之後,我們就可以啟動它來收集診斷資訊了。

某 些情況下,首次啟動 ISA Lite 可能會失敗並遇到 “ERROR: This tool requires JRE 1.4.2 or greater to run.” 錯誤。這是由於 ISA Lite 使用了 WPS 預設自帶的 JRE,而這個 JRE 的版本低於 1.4.2。為了解決這個問題,我們需要在另外一個路徑重新解壓縮 ISA Lite 的安裝檔案包,並參考上面的步驟來設定 JAVA_HOME 環境變數。

收集診斷資訊示例場景

什麼是長業務流程?

WPS 提供了兩種型別的業務流程 , 其中一種業務流程需要執行很長時間(數天,數月或者更長),或者業務流程在執行過程中需要被暫停,這一類被稱作長業務流程。

接下來,我們將通過一個示例來介紹如何使用 ISA Lite 收集故障診斷資訊並將其提交給 IBM 的技術支援團隊。

假 定使用者開發了一個包含長業務流程 (Long-Running Business Process) 的應用,並將其部署在 WPS 上進行系統上線前的最後測試。這期間使用者遇到了一個問題:某些看上去執行良好的流程例項會異常終止。通過檢查 WPS 的日誌,發現有大量的 LTPA token 過期的錯誤資訊,類似的異常堆疊跟蹤如下:


清單 1. 異常堆疊跟蹤
				 
at com.ibm.ws.security.ltpa.LTPAToken.isValid(LTPAToken.java:248)
at com.ibm.ws.security.ltpa.LTPAServerObject.validateToken(LTPAServerObject.java:1004)
at com.ibm.ws.security.ltpa.LTPAServerObject.validateToken(LTPAServerObject.java:901)
at com.ibm.ws.security.ltpa.LTPAServerObject.validateToken(LTPAServerObject.java:870)
at com.ibm.ws.security.ltpa.LTPAServerObject.validate(LTPAServerObject.java:1234)
...
at com.ibm.ws.sca.internal.managed.security.SecurityContextManager.
restoreAuthenticationToken(SecurityContextManager.java:668)
at com.ibm.ws.sca.internal.managed.security.SecurityManagerImpl.
restoreAuthenticationToken(SecurityManagerImpl.java:258)
at com.ibm.ws.sca.internal.securitycontext.handler.AbstractSecurityContextHandler$1.
run(AbstractSecurityContextHandler.java:139)
at java.security.AccessController.doPrivileged(AccessController.java:246)
at com.ibm.ws.sca.internal.securitycontext.handler.AbstractSecurityContextHandler.
retrieveSecurityInfoFromMessage(AbstractSecurityContextHandler.java:119)
at com.ibm.ws.sca.internal.securitycontext.handler.TargetSecurityContextHandler.
processMessage(TargetSecurityContextHandler.java:80)
at com.ibm.ws.sca.internal.message.impl.MessageDispatcherImpl.
processMessage(MessageDispatcherImpl.java:1298)
at com.ibm.ws.sca.internal.message.impl.ManagedMessageImpl.
process(ManagedMessageImpl.java:834)
...
at com.ibm.bpe.engine.BpelActivityKindInvoke.doActivate(
BpelActivityKindInvoke.java:493)
at com.ibm.bpe.engine.BpelActivityStateInactive.activateOrSkip(
BpelActivityStateInactive.java:308)
at com.ibm.bpe.engine.BpelEngineCore.continueControlLink(
BpelEngineCore.java:344)
at com.ibm.bpe.engine.BpelContinueLinkMessage3.execute(
BpelContinueLinkMessage3.java:86)
at com.ibm.bpe.engine.BpelEngine.onMessage(BpelEngine.java:1473)

以其他方式執行 ISA Lite

使用者還可以根據需要或使用習慣選擇以命令列方式或靜默方式執行 ISA Lite。

以命令列方式執行 ISA Lite

在某些情況下,使用者可能希望以命令列的互動方式來執行 ISA Lite,在 Windows 平臺上,這可以通過在命令視窗執行以下命令完成:

runISALiteConsole.bat

UNIX 平臺上對應的命令為:./runISALiteConsole.sh

這種情況下,ISA Lite 以文字模式執行,可用選項將以編號列表的方式顯示,使用者按照提示輸入相應的選擇列表或編號,並按“回車”鍵進行確認。如果需要,使用者可以在任何時刻輸入 quit 退出收集過程。其介面如圖 7 所示。


圖 7. 以命令列方式執行 ISA Lite
圖 7. 以命令列方式執行 ISA Lite

以靜默方式執行 ISA Lite

對 於那些需要重複執行多次的資料收集過程,或者在使用者不希望參與互動的情況下,可以採用“靜默”方式執行 ISA Lite。這種情況下,使用者只需提供一個“響應檔案”,並且將所有問題的答案都記錄在這個響應檔案裡。如果以帶有響應檔案的方式執行靜默資料收集,ISA Lite 會自動讀取響應檔案的內容並完成收集過程。響應檔案是一個文字檔案,使用者也可以手動更改其中的問題答案並將其用於其他的資料收集過程。

要建立響應檔案,只需在啟動 ISA Lite 時使用 -record 引數,並指定響應檔案的名稱。在 Windows 平臺上,我們可以執行以下命令啟動 ISA Lite:

runISALiteConsole.bat -record wps62config-1.txt

對應地,UNIX 平臺上的命令:

./runISALiteConsole.sh -record wps62config-1.txt

在這次收集過程中,我們對所有問題的選擇和答案都將記錄在 wps62config-1.txt 這個響應檔案中。之後我們可以用所記錄的響應檔案以靜默方式執行 ISA Lite 進行診斷資料收集,而不再需要人工互動,Windows 平臺上命令如下:

runISALiteConsole.bat wps62config-1.txt

在 UNIX 平臺上對應命令如下:

./runISALiteConsole.sh wps62config-1.txt

通過帶有響應檔案的方式進行靜默資料收集,ISA Lite 可以完全自動化整個收集過程,但它無法提醒使用者重現問題,因此這種方式通常用於收集系統當前的診斷資訊,而不適合需要人工參與重現問題的場景。

結束語

ISA Lite 是一個非常有效的診斷資訊收集工具。在這篇文章中,詳細地介紹了 ISA Lite 提供的資料收集功能,以及如何使用它來協助使用者收集診斷資料。在實際工作中,使用者可以根據不同的情況以最有效的方式執行 ISA Lite 完成資料收集過程。接下來可以自行分析這些資料或將其傳送給 IBM 的技術支援團隊。ISA Lite 降低了資料收集工作的複雜性並極大地減少收集資料所需的時間,同時改善了與 IBM 技術支援團隊協作時的使用者體驗。

 ... 

使用者可能對這些堆疊跟蹤內容完全不熟悉,無法進一步分析。 並且,由於系統上線時間緊迫,使用者希望聯絡 IBM 的技術支援獲得即時幫助。通常情況下,對於某些複雜的問題,初始資訊不足以判定其根本原因,往往需要使用者重現問題並收集更加詳細的診斷資料,比如跟蹤或 FFDC(第一次失敗資料捕獲(First Failure Data Capture, FFDC))日誌檔案。這時,我們就可以利用 ISA Lite 來輕鬆完成收集資料的工作了。

啟動 ISA Lite

在我們解壓縮後生成的 \ISALite 路徑下,在命令列視窗執行 runISALite.bat,這將以圖形介面的方式啟動 ISA Lite。ISA Lite 啟動之後的初始介面如圖 1 所示:

說明:使用者還可以命令列方式或靜默方式執行 ISA Lite,在文章的下一部分將對這兩種方式作進一步的介紹。


圖 1. ISA Lite 啟動介面
圖 1. ISA Lite 啟動介面

問題型別判定及資料收集

在 圖 1. ISA Lite 啟動介面中,使用者可以指定問題的類別,對應地,這將依據產品的 MustGather 為特定的問題症狀啟用特定的跟蹤內容。這裡我們注意到問題收集選項部分除了 WPS 以外,還包括了 WebSphere 應用伺服器。正如文章開始時所提到的,WPS 執行時環境建立在 WebSphere 應用伺服器之上,對於某些複雜的問題,在發生時刻並不能準確判定它由哪個產品(缺陷)導致,因此,往往需要同時為 WebSphere 應用伺服器和 WPS 啟用多個跟蹤內容以確保收集到足夠多的資訊用於後續的問題診斷。

例如,在這個示例場景中,根據堆疊跟蹤 IBM 技術支援工程師可能會指導使用者啟用以下的跟蹤內容:

*=info: com.ibm.ws.security.*=all:SCA.*=all:com.ibm.bpe.*=all

其 中,com.ibm.ws.security.*=all 是為 WebSphere 應用伺服器的安全問題而啟用的跟蹤內容;而 SCA.*=all 和 com.ibm.bpe.*=all 則分別針對 WPS 和業務流程編排器 (Business Process Choreographer, BPC) 的相關問題而啟用的跟蹤內容。這裡我們選擇 WebSphere 應用伺服器選項下面的 Global Security Problem 這一問題型別,對應地,就會啟用跟蹤 com.ibm.ws.security.*=all。接下來要為收集的診斷資料檔案指定輸出路徑和檔名,通常檔案命名要和 PMR 的編號一致以方便使用者管理和上傳。完成上面的步驟後,點選 “Collect Data” 按鈕開始收集資料,此時,進度提示欄內會顯示當前的進度資訊。

注:如果使用者對問題型別對應的跟蹤內容並不熟悉也無需擔心,IBM 技術支援會指導使用者選擇哪些問題型別或者需要啟用的跟蹤。

在 執行 ISA Lite 收集資料期間,可能會根據問題型別要求使用者提供一些具體資訊,如產品的安裝目錄,指定問題發生的概要檔案以及日誌檔案數目和大小。其他問題可能會涉及到問 題的詳細描述,或者提醒使用者重現問題。不過通常來說,ISA Lite 會盡量減少問題及所需的人工互動。在這個示例場景中,我們將介紹 ISA Lite 在執行過程中的一些重要互動內容,主要包括:提醒使用者輸入問題的詳細描述、重現步驟以及其他相關資訊。


圖 2. ISA Lite 執行過程中問題描述提示框
圖 2. ISA Lite 執行過程中問題描述提示框

接下來的對話方塊會顯示當前的跟蹤內容並提示使用者是否需要啟用更多的跟蹤:


圖 3. ISA Lite 執行過程中啟用跟蹤提示
圖 3. ISA Lite 執行過程中啟用跟蹤提示

這裡,我們選擇 “Yes” 並點選 “OK” 按鈕,然後使用 ctrl-v 將跟蹤內容 SCA.*=all:com.ibm.bpe.*=all 複製到彈出的文字框中,如圖 4 所示。


圖 4. ISA Lite 執行過程中輸入跟蹤內容提示
圖 4. ISA Lite 執行過程中輸入跟蹤內容提示

完成這一步,我們就可以根據提示重現問題,之後 ISA Lite 將自動完成診斷資料的收集。

將資料提交給 IBM 技術支援團隊

當資料收集過程結束之後,ISA Lite 會彈出對話方塊提醒使用者是否需要將收集的診斷資料傳送給 IBM 技術支援團隊或者到遠端系統,也可以不執行任何操作,這將在指定路徑下生成一個壓縮格式的診斷資料檔案。


圖 5. 為生成的診斷資料選擇處理方式
圖 5. 為生成的診斷資料選擇處理方式

這裡我們選擇將資料傳送給 IBM 技術支援。在實際情況中,使用者可以根據自己的需求選擇以 HTTPS 或 FTP 的方式將生成的檔案傳送給 IBM 技術支援,這裡我們選擇匿名 FTP 的方式,需要輸入電子郵件地址和作業系統進行確認,如圖 6 所示。


圖 6. 輸入確認資訊將資料傳送至 IBM
圖 6. 輸入確認資訊將資料傳送至 IBM

最 後,ISA Lite 會提示使用者資料傳送是否成功,同時在啟動頁面的進度提示欄內,會出現一條提示資訊 “The Collection has completed successfully”,這表明資料收集過程已經成功完成。這時候,我們可以點選頁面上的 “Quit” 按鈕退出 ISA Lite 應用程式。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-623554/,如需轉載,請註明出處,否則將追究法律責任。

相關文章