Red Hat Training

A Red Hat training course is available for Red Hat Satellite

5.6. 疑難排解

雖然所有 Monitoring 相關的活動皆會透過 RHN 網站完成,Red Hat 亦提供了一些指令列的診斷工具,幫助您找出錯誤的原因。若要使用這些工具,您必須成為進行監控的 RHN 伺服器上的 nocpulse 使用者。
首先以 root 身份登入 RHN 伺服器。然後用以下指令轉換到 nocpulse 身份:
su - nocpulse
您現在可以用本節接下來所要描述的診斷工具。

5.6.1. 用rhn-catalog檢視偵測

要徹底針對一項偵測活動進行疑難排解,您必須先知道偵測 ID。您可以在 RHN 伺服器上,用 nocpulse 使用者身份執行 rhn-catalog 指令。底下是執行這指令的畫面:
2 ServiceProbe on example1.redhat.com (199.168.36.245): test 2
3 ServiceProbe on example2.redhat.com (199.168.36.173): rhel2.1 test
4 ServiceProbe on example3.redhat.com (199.168.36.174): SSH
5 ServiceProbe on example4.redhat.com (199.168.36.175): HTTP
每一行的第一個數字就是偵測 ID,最後一項就是偵測的名稱(跟 RHN 網站所輸入的一樣)。舉例來說,偵測 ID 為 5 的那一項,對應到名為 HTTP 的偵測項目。
再者,您可以在 rhn-catalog 指令中使用 --commandline-c)與 --dump-d)選項,加上偵測 ID 來取得該次偵測的額外訊息,例如:
rhn-catalog --commandline --dump 5 
--commandline 選項會產出該偵測的指令參數,--dump 會取得其他的所有東西,包括警示的閾值,以及通知的間隔與方法。
以上指令的結果會類似:
5 ServiceProbe on example4.redhat.com (199.168.36.175  ):
linux:cpu usage
      Run as: Unix::CPU.pm --critical=90 --sshhost=199.168.36.175  
--warn=70 --timeout=15 --sshuser=nocpulse
--shell=SSHRemoteCommandShell --sshport=4545
現在您有了一組 ID,您可與 rhn-rhnprobe 搭配這組 ID 使用,以檢查偵測的輸出。請參閱 節 5.6.2, “檢視 rhn-runprobe 的輸出” 以取得相關指示。

5.6.2. 檢視 rhn-runprobe 的輸出

您用 rhn-catalog 獲得了偵測 ID,接下來就可以結合 rhn-runprobe 來檢視完整的偵測結果。請注意,預設上 rhn-runprobe 能在測試模式下運作,這表示任何結果都不會傳到資料庫上。以下是其選項:

表格 5.1. rhn-runprobe 的選項

選項 描述
--help 列出所有選項後離開。
--probe=PROBE_ID 使用此 ID 執行偵測。
--prob_arg=PARAMETER 從資料庫蓋過任何偵測參數。
--module=PERL_MODULE 欲執行套件名稱的代碼。
--log=all=LEVEL 為套件或套件前置字元設定紀錄等級。
--debug=LEVEL 設定數字的除錯等級。
--live 執行偵測與排程資料,並視需要送出通知。
您至少應包括 --probe--log 選項,以及兩者的數值。--probe 選項會使用 probeID 來做為它的值;--log 選項則會使用「all」值(代表所有 run level)與數字等級做為它的值。範例如下:
rhn-runprobe --probe=5 --log=all=4 
在所有等級中,以上指令會從最詳盡的偵測結果中尋找 probeID 5。
更特定來說,您可以提供從 rhn-catalog 而來的指令參數,像:
rhn-runprobe 5 --log=all=4 --sshuser=nocpulse --sshport=4545 
這會產出詳盡的內容,描述偵測的執行結果。您可以輕易地找出錯誤。