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
這會產出詳盡的內容,描述偵測的執行結果。您可以輕易地找出錯誤。