對問題進行故障診斷
故障診斷是解決問題的一種系統方法。故障診斷的目標是確定無法按照預期進行工作的原因,并闡述如何解決問題。
故障診斷過程的第一步是完整地描述問題。問題描述可幫助您和“HCL? 技術支持”人員了解要從哪里開始查找導致問題的原因。此步驟包含問一些需要“問自己”的基本問題:
- 問題的癥狀是什么?
- 問題發生在哪兒?
- 問題何時發生?
- 問題發生的條件是什么?
- 問題能否再現?
對這些疑問的回答常常就可以很好地描述問題,這也是走向問題解決之路的最佳方式。
問題的癥狀是什么?
開始描述問題時,最顯然的疑問是“問題是什么?” 這看起來是很淺顯的疑問;不過,您可以將它分解成多個針對性更強的疑問,以便更好地描述問題。這些疑問可能包括:
- 誰或什么報告了問題?
- 錯誤代碼和消息是什么?
- 系統出現了怎樣的故障?例如,它是陷入循環、掛起、崩潰、性能下降還是結果不正確?
- 問題會對業務產生什么影響?
問題發生在哪兒?
確定問題來源并非總是很容易,但是這是解決問題最重要的一步。報告組件和故障組件之間可能存在許多技術層。調查問題時,網絡、磁盤和驅動程序只是要注意的一小部分組件。
以下提問可幫助您關注問題發生在何處,以便隔離問題層:
- 該問題是特定于某個平臺或操作系統,還是普遍存在于多個平臺或操作系統?
- 是否支持當前環境和配置?
請記住,雖然一個層報告問題,但問題并不一定發源于該層。識別問題發源地的一部分工作是了解問題所在的環境。花一些時間完整描述問題環境,包括操作系統和版本、所有相應軟件和版本以及硬件信息。確認運行所在的環境具有受支持的配置;許多問題的原因可追溯到不兼容的軟件級別,即這些軟件級別并不用于一起運行或尚未一起經過全面測試。
問題何時發生?
詳細繪制引起失敗的各個事件的時間線,尤其對于那些只發生一次的情況。可通過反向工作來最方便地做到這一點:在報告錯誤時(盡可能精確,甚至直到毫秒)啟動并通過可用的日志和信息反向工作。通常,您只需要看到在診斷日志中找到的第一個可疑事件;不過,這并非總是能夠輕松做到的,需要在實踐中提高。當涉及多個技術層,并且每一個都有自己的診斷信息時,特別難以知道應該在什么時候停止尋找。
要制定詳細的事件時間線,請回答以下問題:
- 問題是否僅在白天或晚上的特定時間發生?
- 問題發生的頻率如何?
- 什么順序的一系列事件導致報告問題?
- 問題是否在環境更改(如升級或安裝軟件/硬件)后發生?
回應此類疑問可幫助向您提供調查問題時的參考框架。
問題發生的條件是什么?
了解問題發生時哪些系統和應用程序正在運行是故障診斷的一個重要部分。以下有關您環境的提問可幫助您確定問題的根本原因:
- 此問題總是在執行同一任務時發生嗎?
- 是否需要發生特定順序的一系列事件,問題才會出現?
- 是否有其他應用程序同時也發生故障?
回答這些類型的問題可以幫助您說明問題發生時所處的環境并找出所有依賴關系。請記住,雖然多個問題可能同時發生,但這些問題不一定都有關聯。
問題是否能重現?
從故障診斷角度來講,理想的問題是可再現的問題。通常,對于可以再現的問題,有大量的工具或過程可供您選擇用來幫助進行調查。因而,可以再現的問題常常更容易調試并解決。但是,會重復出現的問題可能具有以下缺點:如果此問題會嚴重影響業務,那么您會不希望它重現。如有可能,請在測試或開發環境中重現問題,此類環境通常會在調查期間提供更多靈活性和控制。
- 可在測試系統上重現問題嗎?
- 是否有多個用戶或應用程序遇到相同類型的問題?
- 問題是否可以通過運行單個命令、一組命令或特定的應用程序或單機應用程序來再現?
HCL AppScan Enterprise 中文文檔 10.0.1