Red Hat Training

A Red Hat training course is available for Red Hat Satellite

參考指南

Red Hat 衛星伺服器 5.6

Red Hat Satellite 進階功能指南

版 1

John Ha

Red Hat 工程部出版中心

Lana Brindley

Red Hat 工程部出版中心

Daniel Macpherson

Red Hat 工程部出版中心

Athene Chan (陳愛珍)

Red Hat 工程部出版中心

David O'Brien

Red Hat 工程部出版中心

摘要

歡迎您使用《Red Hat Satellite 5.6 參考指南》。《Red Hat Satellite 參考指南》將引導您如何使用 Satellite 伺服器的進階功能。

前言

1. 適用讀者

本指南適合希望在內部網路中,管理系統更新事宜的「系統管理員」使用。

章 1. Red Hat Satellite 資訊

此部分涵蓋了 Red Hat Satellite 進階配置上的各種主題。

1.1. 指令列配置管理工具

除了 Red Hat Satellite 網站所提供的選項之外,還有兩項用來管理系統配置檔案的指令列工具:Red Hat Network Configuration ClientRed Hat Network Configuration Manager。同時輔助工具 Red Hat Network Actions Control 亦可用來在客戶端系統上,啟用或停用配置管理。如果您尚未安裝這些工具,您可以在您作業系統的「Red Hat Network 工具」子頻道中找到它們。

注意

任何時候當您透過網站建置配置檔案時,先前的檔案(包括其完整路徑)皆會被備份至受影響系統的 /var/lib/rhncfg/backups/ 目錄中。備份項目的檔名將不變,但會附加 .rhn-cfg-backup 附屬檔名。

1.1.1. Red Hat Network Actions Control

Red Hat Network Actions Controlrhn-actions-control)是一項用來啟用,或停用系統配置管理的工具。就預設值,系統不能透過此方式來管理。有了此工具,衛星伺服器管理員就能啟用或停用一些動作的特定模式,例如將一個配置檔案「建置」到系統上、從系統「上傳」一個檔案、使用「diff」來找出目前在系統上受到管理,以及能使用的項目,或執行任意的「遠端指令」。這多種模式的啟用/停用都藉由在 /etc/sysconfig/rhn/allowed-actions/ 目錄中放置/移除檔案與目錄來決定。由於 /etc/sysconfig/rhn/ 目錄的預設權限,【Red Hat Network 行動控制】可能需要有 root 的存取權限,才可以執行。

1.1.1.1. 一般指令列選項

如同大部份的指令列工具,它也有個 man page 以供參閱。此工具使用上非常簡單,系統管理者只要決定要啟用何種 Red Hat Network 排程動作即可。以下選項能啟用各種排程動作模式:

表格 1.1. rhn-actions-control 選項

選項 描述
--enable-deploy 允許 rhncfg-client 建置檔案。
--enable-diff 允許 rhncfg-client 比對檔案。
--enable-upload 允許 rhncfg-client 上傳檔案。
--enable-mtime-upload 允許 rhncfg-client 上傳 mtime。
--enable-all 允許 rhncfg-client 做任何事。
--enable-run 允許進行 script.run
--disable-deploy 停用建置。
--disable-diff 停用比對
--disable-upload 停用上傳
--disable-mtime-upload 停用上傳 mtime
--disable-all 停用所有選項
--disable-run 停用 script.run
--report 回報模式已經啟用或停用
-f, --force 強迫操作,不事先詢問
-h, --help 顯示求助訊息後離開
當一項模式設定好了之後,您的系統便已準備好透過 Red Hat Satellite 進行配置管理。rhn-actions-control --enable-all 是項常用的選項。

1.1.2. Red Hat Network Configuration Client

顧名思義,Red Hat Network Configuration Clientrhncfg-client)是一項安裝在各別客戶端,並在客戶端上執行的程式。藉由使用此程式,您可以得知 Red Hat Network 如何將配置檔案建置至客戶端。
Red Hat Network Configuration Client 提供了幾種主要模式:list、get、channels、diff、以及 verify。

1.1.2.1. 列出配置檔案

要列出本機的配置檔案,並包含這些配置檔案的配置頻道標籤,請使用以下指令:
rhncfg-client list
輸出畫面包括以下清單:
Config Channel      File
config-channel-17   /etc/example-config.txt
config-channel-17   /var/spool/aalib.rpm
config-channel-14   /etc/rhn/rhn.conf
這些是套用到您系統的配置檔案。然而,在其他頻道中,可能有重複的檔案存在。舉例來說,請使用以下指令:
rhncfg-manager list config-channel-14
並檢視以下結果:
Files in config channel 'config-channel-14' /etc/example-config.txt /etc/rhn/rhn.conf
您可能會覺得奇怪,第二個 /etc/example-config.txt 到哪兒去了。config-channel-17/etc/example-config.txt 檔案的階層比 config-channel-14 中的同樣檔案高。因此,config-channel-14 中的配置檔案不會被建置到系統上;不過該檔案還是會繼續存在於頻道中。rhncfg-client 不會列出此檔案,因為它不會建置到系統上。

1.1.2.2. 取得配置檔案

要為機器下載最主要的配置檔案,請使用以下指令:
rhncfg-client get /etc/example-config.txt
您會看到以下資訊:
Deploying /etc/example-config.txt
您可使用 less 或其它指令來檢視此檔案的內容。請注意此檔案的選取方式,是以其位於配置頻道中的顯著性而定。這可以在「系統詳細資料」網頁中的「配置」分頁中完成。

1.1.2.3. 檢視配置頻道

要檢視用於系統的配置頻道之標籤與名稱,請使用以下指令:
rhncfg-client channels
您會看到以下資訊:
Config channels: Label Name ----- ---- config-channel-17 config chan 2 config-channel-14 config chan 1
以下表格列出了 rhncfg-client get 的可用選項:

表格 1.2. rhncfg-client get 選項

選項 描述
--topdir=TOPDIR 讓所有關於檔案的操作都與此字串相聯。
--exclude=EXCLUDE 將檔案排除使其不會被 'get' 建置 / 可多次使用。
-h, --help 顯示求助訊息後離開

1.1.2.4. 比較配置檔案案

要比較系統上所建置的配置檔案,與 Red Hat Network 所儲存的配置檔案有何不同,請使用以下指令:
rhncfg-client diff
輸出畫面會看似下列資訊:
[root@testsatellite root]# rhncfg-client diff
--- /etc/test
+++ /etc/test	2013-08-28 00:14:49.405152824 +1000
@@ -1 +1,2 @@
 This is the first line
+This is the second line added
除此之外,如果您希望比較 Red Hat Network 上與客戶端系統其它任意位置(且未使用)上的配置檔案,您可加入 --topdir 選項。
[root@ root]# rhncfg-client diff --topdir /home/test/blah/ /usr/bin/diff: /home/test/blah/etc/example-config.txt: No such file or directory /usr/bin/diff: /home/test/blah/var/spool/aalib.rpm: No such file or directory

1.1.2.5. 驗證配置檔案

要立即檢視客戶端的配置檔案,與透過 Red Hat Network 相聯的配置檔案是否有所不同,請使用以下指令:
rhncfg-client verify
輸出畫面會看似下列資訊:
modified /etc/example-config.txt /var/spool/aalib.rpm
本機的 example-config.txt 檔案已經被修改過;aalib.rpm 則否。
以下表格列出了 rhncfg-client verify 的可用選項:

表格 1.3. rhncfg-client verify

選項 描述
-v, --verbose 增加輸出細節的量。顯示特定配置檔案的模式差異、擁有者、以及群組存取權限。
-o, --only 僅顯示不同的檔案。
-h, --help 顯示求助訊息後離開

1.1.3. Red Hat Network Configuration Manager

Red Hat Network Configuration Client 不同,Red Hat Network Configuration Managerrhncfg-manager)主要設計來維護 Red Hat Network 所儲存的配置檔案與頻道,而非儲存在客戶端系統上的檔案。此工具亦提供了 Red Hat Network 網站之配置管理功能以外的指令列選擇,同時它也具有使用 script,來進行部份或所有相關維護工作的能力。
它主要是要讓配置管理員使用,它需要一組 Red Hat Network 的使用者名稱與密碼,並設定好適當的權限。使用者名稱可能會指定於 /etc/sysconfig/rhn/rhncfg-manager.conf,或是 ~/.rhncfgrc 的 [rhncfg-manager] 部分中。
當您以 root 身份執行 Red Hat Network Configuration Manager 時,此程式會嘗試從 Red Hat Update Agent 取得所需的配置值。當您以非 root 身份執行時,您需要修改 ~/.rhncfgrc 檔案。Session 檔案會被暫存在 ~/.rhncfg-manager-session 中,以避免您使用每項指令時,都被要求登入。
Red Hat Network Configuration Manager 的預設 timeout 值為卅分鐘。如果您要修改這個值,請在執行此管理程式的伺服器上,將 server.session_lifetime 選項與新的值加入 /etc/rhn/rhn.conf 檔案中,例如:
server.session_lifetime = 120
Red Hat Network Configuration Manager 提供了以下主要模式: add(新增)、create-channel(建立頻道)、diff(比對)、diff-revisions(比對版本)、download-channel(下載頻道)、get(取得)、list(列出)、list-channels(列出頻道)、remove(移除)、remove-channel(移除頻道)、revisions(版本)、update(升級)、以及upload-channel(上傳頻道)。
每種模式都提供了特有的選項組合,您可以用以下指令看到這些選項:
rhncfg-manager mode --help 
請將 mode 取代為欲查看之模式的名稱:
rhncfg-manager diff-revisions --help
您可在〈表格 1.4, “rhncfg-manager add 選項”〉中,看到新增模式的選項清單。

1.1.3.1. 建立配置頻道

要為您的組織建立一組配置頻道,請使用以下指令:
rhncfg-manager create-channel channel-label
如果系統提示您輸入 Red Hat Network 使用者名稱與密碼,請依循指示。您應該會看到以下的結果:
Red Hat Network username: rhn-user
Password:
Creating config channel channel-label Config channel channel-label created
一旦您建立了配置頻道,您便能使用以上的可用模式來散佈該頻道。

1.1.3.2. 將檔案加入配置頻道

要將檔案加入配置頻道,您需要指定頻道標籤,以及要上傳的本機檔案,例如:
rhncfg-manager add --channel=channel-label /path/to/file
除了所需的頻道標籤與檔案路徑外,您可以用可用選項,在加入檔案時一併修改。例如您可以在使用指令時加入 --dest-file 選項,修改路徑與檔名,例如:
rhncfg-manager add --channel=channel-label --dest-file=/new/path/to/file.txt/path/to/file
輸出畫面會看似下列資訊:
Pushing to channel example-channel
Local file >/path/to/file -> remote file /new/path/to/file.txt
以下表格列出了 rhncfg-manager add 的可用選項:

表格 1.4. rhncfg-manager add 選項

選項 描述
-c CHANNEL --channel=CHANNEL 將檔案上傳到這個配置頻道
-d DEST_FILE --dest-file=DEST_FILE 用此路徑上傳檔案
--delim-start=DELIM_START 插入變數的起始分隔符號
--delim-end=DELIM_END 插入變數的結束分隔符號
-i, --ignore-missing 忽略遺失的本機檔案
--selinux-context=SELINUX_CONTEXT 覆寫 SELinux context
-h, --help 顯示求助訊息後離開

注意

就預設值來講,配置檔案的最大檔案大小為 128KB。若您需要更換這個值的話,請在 /etc/rhn/rhn.conf 這個檔案中,尋找或建立以下一行:
web.maximum_config_file_size=128
此外,請在 /etc/rhn/rhn.conf 檔案中尋找或建立以下一行:
maximum_config_file_size=128
在這兩個位置中,將值由 128 更換成您想要的限制值(以位元組為單位)。

1.1.3.3. 比對最新的配置檔案

要比較磁片上的配置檔案,與頻道上的最新版本有何不同,請使用以下指令:
rhncfg-manager diff --channel=channel-label --dest-file=/path/to/file.txt \ /local/path/to/file
您會看到以下資訊:
--- /tmp/dest_path/example-config.txt config_channel: example-channel revision: 1
+++ /home/test/blah/hello_world.txt 2003-12-14 19:08:59.000000000 -0500
@@ -1 +1 @@
-foo
+hello, world
以下表格列出了 rhncfg-manager diff 的可用選項:

表格 1.5. rhncfg-manager diff 選項

選項 描述
-c CHANNEL, --channel=CHANNEL 從這個配置頻道取得檔案
-r REVISION, --revision=REVISION 使用此版本
-d DEST_FILE, --dest-file=DEST_FILE 用此路徑上傳檔案
-t TOPDIR, --topdir=TOPDIR 讓所有檔案與此字串相聯
-h, --help 顯示求助訊息後離開

1.1.3.4. 比對多種版本

要比對多個頻道與版本的不同之處,請使用 -r 選項,以指明要比對哪個檔案版本;或使用 -n 選項指定要檢查哪兩個頻道。欲取得相關指示,請參閱〈節 1.1.3.11, “決定檔案修訂版本的數目”〉。請注意,您在此僅需要指定一組檔案名稱,因為您比較的是同一個檔案的不同版本,例如:
rhncfg-manager diff-revisions -n=channel-label1 -r=1 -n=channel-label2 -r=1 /path/to/file.txt
輸出畫面會看似下列資訊:
--- /tmp/dest_path/example-config.txt 2004-01-13 14:36:41 \ config channel: example-channel2 revision: 1
--- /tmp/dest_path/example-config.txt 2004-01-13 14:42:42 \ config channel: example-channel3 revision: 1
@@ -1 +1,20 @@
-foo
+blah
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.0.6 (GNU/Linux)
+Comment: For info see http://www.gnupg.org
+
+iD8DBQA9ZY6vse4XmfJPGwgRAsHcAJ9ud9dabUcdscdcqB8AZP7e0Fua0NmKsdhQCeOWHX +VsDTfen2NWdwwPaTM+S+Cow=
+=Ltp2
+-----END PGP SIGNATURE-----
以下表格列出了 rhncfg-manager diff-revisions 的可用選項:

表格 1.6. rhncfg-manager diff-revisions 選項

選項 描述
-c CHANNEL, --channel=CHANNEL 使用這個配置頻道
-r REVISION, --revision=REVISION 使用此版本
-h, --help 顯示求助訊息後離開

1.1.3.5. 下載頻道內的所有檔案

要將頻道內的所有檔案下載到磁碟中,請建立一個目錄,輸入以下指令:
rhncfg-manager download-channel channel-label --topdir . 
輸出畫面會看似下列資訊:
Copying /tmp/dest_path/example-config.txt -> \ blah2/tmp/dest_path/example-config.txt
以下表格列出了 rhncfg-manager download-channel 的可用選項:

表格 1.7. rhncfg-manager download-channel 選項

選項 描述
-t TOPDIR, --topdir=TOPDIR 與檔案路徑相對的目錄。您必須設定此選項。
-h, --help 顯示求助訊息後離開

1.1.3.6. 取得檔案內容

要將某個特定的檔案內容導向到標準輸出上,請使用以下指令:
rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt 
您應該可以看到此檔案的內容。

1.1.3.7. 列出頻道內的所有檔案

要列出頻道內的所有檔案,請使用以下指令:
rhncfg-manager list channel-label
您會看到以下資訊:
Files in config channel `example-channel3': /tmp/dest_path/example-config.txt
以下表格列出了 rhncfg-manager get 的可用選項:

表格 1.8. rhncfg-manager get 選項

選項 描述
-c CHANNEL, --channel=CHANNEL 從這個配置頻道取得檔案
-t TOPDIR, --topdir=TOPDIR 讓所有檔案與此字串相聯
-r REVISION, --revision=REVISION 取得這個版本的檔案
-h, --help 顯示求助訊息後離開

1.1.3.8. 列出所有的配置頻道

要列出您公司所有的配置頻道,請使用以下指令:
rhncfg-manager list-channels 
輸出畫面會看似下列資訊:
Available config channels: example-channel example-channel2 example-channel3 config-channel-14 config-channel-17
請注意,這不會列出 local_overrideserver_import 頻道。

1.1.3.9. 從頻道中移除檔案

要從頻道中移除檔案,請使用以下指令:
rhncfg-manager remove --channel=channel-label /tmp/dest_path/example-config.txt
如果系統提示您,請輸入 Red Hat Network 使用者名稱與密碼。您應該會看見類似以下的輸出:
Red Hat Network username: rhn-user Password: Removing from config channel example-channel3 /tmp/dest_path/example-config.txt removed
以下表格列出了 rhncfg-manager remove 的可用選項:

表格 1.9. rhncfg-manager remove 選項

選項 描述
-c CHANNEL, --channel=CHANNEL 從這個配置頻道中移除檔案
-t TOPDIR, --topdir=TOPDIR 讓所有檔案與此字串相聯
-h, --help 顯示求助訊息後離開

1.1.3.10. 刪除配置頻道

要刪除您公司的配置頻道,請使用以下指令:
rhncfg-manager remove-channel channel-label 
輸出畫面會看似下列資訊:
Removing config channel example-channel Config channel example-channel removed

1.1.3.11. 決定檔案修訂版本的數目

要找出頻道內某個檔案/路徑的修改版本數(從 1 到 N,N 是大於零的整數),請使用以下指令:
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt 
輸出畫面會看似下列資訊:
Analyzing files in config channel example-channel \ /tmp/dest_path/example-config.txt: 1

1.1.3.12. 升級頻道內的檔案

要在頻道內建立某個檔案的新版本(或如果在指定的目錄下並沒有檔案,而您想新增該檔案的第一個版本的話),請使用以下指令:
rhncfg-manager update \ --channel=channel-label --dest-file=/path/to/file.txt /local/path/to/file
輸出畫面會看似下列資訊:
Pushing to channel example-channel: Local file example-channel/tmp/dest_path/example-config.txt -> \ remote file /tmp/dest_path/example-config.txt
以下表格列出了 rhncfg-manager update 的可用選項:

表格 1.10. rhncfg-manager update 選項

選項 描述
-c CHANNEL, --channel=CHANNEL 將檔案上傳到這個配置頻道
-d DEST_FILE, --dest-file=DEST_FILE 用此路徑上傳檔案
-t TOPDIR, --topdir=TOPDIR 讓所有檔案與此字串相聯
--delim-start=DELIM_START 插入變數的起始分隔符號
--delim-end=DELIM_END 插入變數的結束分隔符號
-h, --help 顯示求助訊息後離開

1.1.3.13. 一次上傳多個檔案

要從本機磁碟一次上傳多個檔案到配置頻道中,請使用以下指令:
rhncfg-manager upload-channel --topdir=topdir channel-label
輸出畫面會看似下列資訊:
Using config channel example-channel4 Uploading /tmp/ola_world.txt from blah4/tmp/ola_world.txt
以下表格列出了 rhncfg-manager upload-channel 的可用選項:

表格 1.11. rhncfg-manager upload-channel 選項

選項 描述
-t TOPDIR, --topdir=TOPDIR 所有檔案路徑相對的目錄
-c CHANNEL, --channel=CHANNEL 列出配置資訊要上傳至的頻道。頻道以「,」隔開,例如:--channel=foo,bar,baz
-h, --help 顯示求助訊息後離開

1.2. Monitoring

Red Hat Network Monitoring 權利能讓您進行完整的活動,讓您的系統順暢而有效率的執行。有了這項功能,您就可仔細檢視系統資源、網路服務、資料庫,以及標準與自訂的應用程式。
Monitoring 提供了即時與歷史狀態兩種資訊,以及特定的公制資料。您不但會立即收到任何失效的通知、在效能降低到危險之前收到警告,同時也會獲得相關資訊以進行負載規劃與事件修正。舉例來說,偵測結果會紀錄所有系統的處理器使用量,以協助您平衡這些系統上的負載。
監控系統有兩種元件:監控系統,以及 monitoring scout。監控系統安裝在衛星伺服器中,並且會進行後端的功能,例如儲存監控資料,並針對這些資料進行動作。Monitoring scout 會執行所有偵測,並蒐集監控資料。Monitoring scout 可被啟用來執行於衛星伺服器或 Red Hat Network Proxy 系統上。在 Proxy 上使用 Monitoring scout,能讓您平衡衛星伺服器上的工作負載,提供偵測上的延展性。
Monitoring 擁有建立通知的方式、在系統上安裝偵測、定期檢視所有偵測的狀態,以及產生報表以顯示系統或服務的歷史資料。此部分將尋求辨識一般任務與 Monitoring 權利的方式。請記得,基本上所有影響您 Monitoring 基礎結構的變更,最後皆會透過「Scout 配置推送」網頁,更新至您的配置中。

1.2.1. 先決條件

在您的基礎結構中使用 Red Hat Network Monitoring 之前,請確定您已經擁有所有的必備工具。您至少需要:
  • Monitoring 權利 - 所有需受監控的系統皆需要這些權利。Monitoring 僅在 RHEL 系統上受到支援。
  • Red Hat Satellite 搭配 Monitoring - 監控系統必須連上搭配了基本作業系統 RHEL 5 或更新版本的衛星伺服器。
  • Monitoring 管理員 - 安裝偵測、建立提示方式,或以任何方式修改監控基礎結構的使用者,皆必須被賦予此角色。(請記得,衛星伺服器管理員會自動繼承公司內其他角色的能力,以進行這些任務。)請透過「使用者的詳細資料」網頁,指定角色。
  • Red Hat Network monitoring daemon - 若要監控內部執行的程序,您必須安裝此系統程式與 scout 的 SSH 金鑰。然而您亦可利用系統現有的 SSH 系統程式(sshd),來執行這些偵測動作。欲取得安裝指示,請參閱〈節 1.2.2, “配置 Red Hat Network Monitoring Daemon(rhnmd)”〉,其中也包括需要此安全連線的偵測清單。欲取得完整的可用偵測清單,請參閱〈附錄 A, Probe - 偵測〉。

啟用 Monitoring

就預設值,Monitoring 會被停用,要使用前需先將其啟用。
  1. 以擁有衛星伺服器管理員權限的使用者登入,並瀏覽至「管理Red Hat Satellite 配置」。請點選「啟用 Monitoring」方塊,然後按下「更新」以進行儲存。
  2. 請將服務重新啟用,以使變更生效。請至「重新啟動」分頁,以重新啟動衛星伺服器。這會使衛星伺服器離線幾分鐘。
  3. 請檢查「Red Hat Satellite 配置」下是否可使用「Monitoring」分頁,以確認 monitoring 是否已啟用。
  4. 請至「管理Red Hat Satellite 配置Monitoring」。並選取「啟用 Monitoring Scout」方塊,以啟用 scout。請按下「更新配置」以進行儲存。

注意

建議您將 monitoring 配置值保留為預設值。您需要配置 Sendmail,才可啟用通知。

1.2.2. 配置 Red Hat Network Monitoring Daemon(rhnmd

要善用您的 Monitoring 權利,Red Hat 建議您在客戶端系統上安裝 Red Hat Network monitoring daemon。基於 OpenSSHrhnmd 能讓衛星伺服器與客戶端系統安全地進行通訊,以取得內部程序與偵測狀態。
請注意,Red Hat Network monitoring 需要被偵測的系統允許外來連線,並開放通訊埠 4545 上的連線。您可藉由改用 sshd,以避免開放此連接埠,並同時安裝該系統程式。詳情請參閱〈節 1.2.2.2, “設定 SSH”〉。
某些偵測需要使用 daemon。客戶端系統必須透過 Red Hat Network monitoring daemon 或 sshd 之一的加密連線來執行以下的偵測:
  • Linux::CPU Usage
  • Linux::Disk IO Throughput
  • Linux::Disk Usage
  • Linux::Inodes
  • Linux::Interface Traffic
  • Linux::Load
  • Linux::Memory Usage
  • Linux::Process Counts by State
  • Linux::Process Count Total
  • Linux::Process Health
  • Linux::Process Running
  • Linux::Swap Usage
  • Linux::TCP Connections by State
  • Linux::Users
  • Linux::Virtual Memory
  • LogAgent::Log Pattern Match
  • LogAgent::Log Size
  • Network Services::Remote Ping
  • Oracle::Client Connectivity
  • General::Remote Program
  • General::Remote Program with Data
請注意,Linux 群組的所有偵測都有此需求。

1.2.2.1. 安裝 Red Hat Network Monitoring Daemon

安裝 Red Hat Network monitoring daemon,以讓系統使用 rhnmd 中所述的偵測功能,進行監控。請注意,如果您打算使用 sshd 來讓 Red Hat Network 監控基礎結構與被監控的系統建立安全連線,本節所述的步驟即為選用性的。請參閱〈節 1.2.2.2, “設定 SSH”〉,以取得更進一步的指示。
rhnmd 套件可以在所有 RHEL 發行版的 Red Hat Network 工具頻道中找到。若要安裝:
  1. 讓需要被監控的系統訂閱相聯的 Red Hat Network 工具頻道。這可透過「系統詳細資料頻道軟體」子分頁完成各別系統,或透過「頻道詳細資料目標系統」分頁一次完成多部系統。
  2. 訂閱後,請開啟「頻道詳細資料套件」分頁,並找出「rhnmd」套件(位於 'R' 之下)。
  3. 按下套件名稱,開啟「套件的詳細資料」分頁。使用「目標系統」分頁,選擇系統,按下「安裝套件」。
  4. 請在所有欲監控的客戶端系統上,安裝 SSH 公用金鑰,如〈節 1.2.2.3, “安裝 SSH 金鑰”〉中所述。
  5. 使用以下指令,在所有客戶端系統上啟動 Red Hat Network monitoring daemon:
    service rhnmd start
  6. 為這系統程式加入偵測時,請接受「RHNMD 使用者」與「RHNMD 連接埠」的預設值:分別為 nocpulse4545

1.2.2.2. 設定 SSH

如果您不想在客戶端系統上安裝 Red Hat Network monitoring daemon 或開啟 4545 連接埠,您可以設定 sshd 以提供系統與 Red Hat Network 之間的安全連線。如果您已經執行了 sshd,您也許會偏向使用這種方式。若要配置此系統程式,以供監控使用:
  1. 請確定欲監控的系統上已安裝了 SSH 套件:
    rpm -qi openssh-server
  2. 指定與此系統程式相關的使用者,這可以是系統上的任何使用者,只要所需的 SSH 金鑰已加入使用者的 ~/.ssh/authorized_keys 檔案中即可。
  3. 指定 daemon 所使用的連接埠,如其 /etc/ssh/sshd_config 配置檔案中所述。預設值為 port 22。
  4. 請在所有欲監控的客戶端系統上,安裝 SSH 公用金鑰,如〈節 1.2.2.3, “安裝 SSH 金鑰”〉中所述。
  5. 透過以下指令,在所有客戶端機器上啟動 sshd
    service sshd start
  6. 為此系統程式加入偵測時,請輸入來自步驟二、三,「RHNMD 使用者」與「RHNMD 連接埠」中的值。

1.2.2.3. 安裝 SSH 金鑰

不管您使用的是 rhnmdsshd,您都必須要在欲監控的系統上安裝 Red Hat Network monitoring daemon 的公用金鑰,才能進行安全連線。若要進行安裝:
  1. 請瀏覽至衛星伺服器介面上的「MonitoringScout 配置推送」網頁,並點選即將監控客戶端系統的 scout 名稱。您將在出現的網頁上看見 SSH id_dsa.pub 金鑰。
  2. 將此字串(從 ssh-dss 開始,到衛星伺服器的主機名稱為止)複製起來。
  3. 請由左方選單選擇「系統」,並透過點選系統旁的核取方塊,以選取您希望將 SSH 金鑰傳送給哪些系統。最後請按下上方的「管理」按鈕來結束步驟。
  4. 請由「系統設置管理員」中選取「執行遠端指令」,然後在「Script」文字方塊中輸入下列內容:
    #!/bin/sh
    cat <<EOF >> ~nocpulse/.ssh/authorized_keys
    
    接著,請按下 Enter,並將 SSH 金鑰貼入然後加上 EOF。完成後應會看似:
    #!/bin/sh
    cat <<EOF>> ~nocpulse/.ssh/authorized_keys
    ssh-dss AABBAB3NzaC3kc3MABCCBAJ4cmyf5jt/ihdtFbNE1YHsT0np0SYJz7xk
    hzoKUUWnZmOUqJ7eXoTbGEcZjZLppOZgzAepw1vUHXfa/L9XiXvsV8K5Qmcu70h0
    1gohBIder/1I1QbHMCgfDVFPtfV5eedau4AAACAc99dHbWhk/dMPiWXgHxdI0vT2
    SnuozIox2klmfbTeO4Ajn/Ecfxqgs5diat/NIaeoItuGUYepXFoVv8DVL3wpp45E
    02hjmp4j2MYNpc6Pc3nPOVntu6YBv+whB0VrsVzeqX89u23FFjTLGbfYrmMQflNi
    j8yynGRePIMFhI= root@satellite.example.com
    EOF
    
  5. 設置您希望進行動作的日期與時間,然後按下「排程遠端指令」。
一旦金鑰已安裝到正確的位置,並可存取之後,Monitoring 基礎結構與被監控系統之間,就可透過 ssh 來進行安全連線。接下來您可排程 Monitoring 系統程式,在新配置的系統上執行偵測。

1.2.3. 配置 mysql 套件以進行偵測

如果您的 Red Hat Satellite 會為享有 Monitoring 權利的客戶端系統提供服務,而客戶端系統上還執行了 MySQL 偵測的話,您就必須在 Red Hat Satellite 上配置 mysql 套件。欲取得所有可用偵測的清單,請參閱〈附錄 A, Probe - 偵測〉。
請透過 Red Hat Network Hosted、up2dateyum 來讓衛星伺服器訂閱 RHEL 的基礎頻道,並安裝 mysql 套件。
當完成後,您的衛星伺服器便可被用來排程 MySQL 偵測。

1.2.4. 啟用通知

除了檢視 Red Hat Network 介面中的偵測狀態之外,您還可在偵測改變狀態時收到通知。這在您監控負有重要任務的生產系統時,格外有用。也因此,Red Hat 建議您善用這項功能。
要在 Red Hat Network 中啟用偵測通知,您必須在安裝 Red Hat Satellite 時,設定郵件伺服器與郵件網域,並設定 sendmail,以適切地處理傳進來的郵件。詳情請參閱《Red Hat Satellite 安裝指南 - 安裝》一章。

1.2.4.1. 建立通知方式

通知會透過 通知方式 送出,這是與特定 Red Hat Network 使用者相關的電子郵件或呼叫器位址。雖然這位址與特定使用者相關連,但透過別名或郵寄清單,您還是可以將訊息送給多名管理者。每個使用者帳號皆包含多種通知方式。要建立通知方式:
  1. 請以衛星伺服器管理員或 Monitoring 管理員身份,登入衛星伺服器。
  2. 請至「使用者」並選擇使用者名稱。在「使用者詳細資料」網頁上,請點選「通知方式新建方式」。
  3. 請為此方式名稱填入一組直觀、敘述性的標籤,例如 DBA day email(資料庫管理員的每日郵件),然後提供正確的電子郵件位址。請記得所有通知方式,皆可在建立偵測時所建立的單一清單中找到,因此在整個公司中,它應該是獨一無二的。
  4. 如果您想要一併發送簡單的訊息至電子郵件地址,您必須選擇此勾選方塊。這段格式內容包括偵測狀態、系統的主機名稱、偵測名稱、訊息的時間、以及發送 ID。標準、長格式的訊息會顯示額外的訊息表頭、系統與偵測細節、以及如何處理的指示。
  5. 完成後,請按下「建立方式」。此新方式會在「使用者詳細資料通知方式」分頁,以及上方的「Monitoring」類別的「通知」網頁中出現。請按下其名稱以編輯或刪除。
  6. 在增加偵測時,請選擇「偵測通知」勾選項,再從下拉式視窗中選擇新的通知方式。您不能刪除已經與偵測相聯的通知方式;除非您先移除此關聯。

1.2.4.2. 收到通知

如果您建立了通知方式,並將這些方式與偵測連結,您必須為收到這些通知做準備。這些通知會以簡短的文字訊息,呈現在電子郵件訊息中。以下是電子郵件通知的範例:
Subject: CRITICAL: [hostname]: Satellite: Users at 1
From: "Monitoring Satellite Notification" (rogerthat01@redhat.com)
Date: Mon, 26 Aug 2013 13:42:28 -0800
To: user@organization.com

This is Red Hat Monitoring Satellite notification 01dc8hqw.

Time: Mon Aug 26, 21:42:25 PST
State: CRITICAL
System: [hostname] ([IP address])
Probe: Satellite: Users
Message: Users 6 (above critical threshold of 2)
Notification #116 for Users

Run from: Red Hat Monitoring Satellite
如您所見,這個較長的電子郵件通知包含了您想知道、關於這偵測的所有資訊。除了偵測指令、執行時間、被偵測的系統、以及狀態之外,這訊息包含了 發送 ID,這是一個獨一無二的字串,代表該訊息與偵測。以上面的訊息來說,發送 ID 是 01dc8hqw。

注意

由於當偵測改變狀態時,就會產生通知,因此您網路的輕微改變可能會產生大量的通知。通知可重定向至特定的電子郵件信箱,以避免優先郵件上的問題。下一節將討論如何重定向通知。

1.2.4.3. 重定向通知

在收到通知時,您可先在電子郵件中納入高階通知選項,然後重定向。請透過開啟 /etc/aliases 並附加下列一行,以啟用電子郵件回覆重定向。
rogerthat01:    "| /etc/smrsh/ack_queuer.pl"
當參數設置後,請回覆通知電子郵件並納入欲使用的選項。以下為可使用的重定向選項,或過濾類型
  • ACK METOO - 將通知送到「除了」預設目的地之外的重定向目的地上。
  • ACK SUSPEND - 在特定期間內,暫停通知方式。
  • ACK AUTOACK - 不改變通知的目的地,但即時自動通知相對應的警示。
  • ACK REDIR - 將通知送往重定向的目的地,以「取代」預設的目的地。
此規則的格式為 filter_type probe_type duration email_address,其中 filter_type 代表先前的進階指令之一,probe_type 代表 checkhostduration 代表重定向的時間長度,而 email_address 則代表收件者。例如:
 ACK METOO host 1h boss@domain.com 
您不一定要輸入大寫。時間可以用分鐘(m)、小時(h)或天(d)來計算。只有使用重定向(REDIR)與輔助通知(METOO)時,才需要填入電子郵件位址。
所產生的電子郵件中包含了此動作的敘述,預設上就是使用者輸入的指令。列出的理由是此動作的概述,例如 email ack redirect by user@domain.com,其中的 user 指的就是電子郵件的發送者。

注意

您可以回覆警示郵件,加上「ack suspend host」指令,中止或重定向幾乎所有的偵測警示。然而,您不能用「ack suspend host」或其它重定向的回應,中止衛星伺服器的偵測警示。這些偵測需要您在衛星伺服器的網頁介面中,改變警示方式。

1.2.4.4. 刪除通知方式

方式與偵測之間的既有關係有時會使刪除通知方式的程序複雜化。請依照以下步驟移除通知方式:
  1. 請以衛星伺服器管理員或 Monitoring 管理員身份,登入衛星伺服器。
  2. 請瀏覽至「Monitoring通知」網頁,並點選欲移除之方式的名稱。
  3. 請在「使用者使用者詳細資料通知方式」分頁中,點選「刪除方式」。如果此方式未與任何偵測相關聯,那您將會看見確認頁。請按下「確定刪除」。此通知方式就會被移除。

    注意

    由於通知方式的名稱與位址都可以編輯,您不妨考慮更新這方式,而不是刪除。這會從使用該方式的所有偵測中重定向通知,而不需要編輯每個偵測,並建立新的通知方式。
  4. 如果這方式與一或多個偵測相聯,那麼您就會看到使用此方式的偵測清單,以及與偵測相聯的系統清單;而不是確認頁。請按下偵測名稱,這會直接引導您至「系統詳細資料偵測」分頁。
  5. 請選擇另一項通知方式,並按下「更新偵測」。
  6. 請返回至「Monitoring通知」網頁,並刪除通知方式。

1.2.5. 有關於偵測

現在您安裝了 Red Hat Network monitoring daemon,也建立了通知方式。接下來您可開始在享有 Monitoring 權利的系統上安裝偵測。如果系統享有 Monitoring 權利,「系統詳細資料」網頁中就會出現「偵測」分頁。這是您進行大部份與偵測相關動作的地方。

1.2.5.1. 管理偵測

偵測乃透過 Red Hat Satellite 伺服器所建立。一旦偵測建立之後,偵測便會被散佈至指定的、擁有 monitoring 權利並已向 Satellite 註冊的系統上。請依照下列步驟在 Satellite 伺服器中新增偵測:
  1. 以衛星伺服器管理員,或系統的系統群組管理員身份登入衛星伺服器。
  2. 請至「系統詳細資料偵測」分頁,並點選「建立新的偵測」。
  3. 在「建立系統偵測」網頁上,填入所有的欄位。首先選擇偵測指令群組(Probe Command Group)。這會改變可用偵測的清單,與其它欄位及需求。欲取得完整、以指令分類的偵測清單,請參閱〈附錄 A, Probe - 偵測〉。請記得,有些偵測需要您在客戶端系統上安裝 Red Hat Network monitoring daemon。
  4. 請選擇您想使用的偵測指令與 monitoring scout,通常是 Red Hat Monitoring Satellite;但也有可能是 Red Hat Satellite 代理伺服器。請為此偵測輸入一段簡短且獨特的描述。
  5. 請選擇「偵測通知」勾選方塊,當偵測改變狀態時,您就會收到通知。請使用「偵測檢查間隔」的下拉式選單,以決定發送通知的頻率。選擇「1 分鐘」(以及「偵測通知」方塊)表示如果偵測超過它的 CRITICAL 與 WARNING 閾值,您每分鐘都會收到通知。請參閱〈節 1.2.4, “啟用通知”〉,以理解如何建立通知方式,並了解其訊息。
  6. 如果「RHNMD 使用者」與「RHNMD 連接埠」出現的話,請使用這兩個欄位,以強迫偵測透過 sshd 來連線,而非 Red Hat Network monitoring daemon。詳情請參閱〈節 1.2.2.2, “設定 SSH”〉。否則,請分別使用預設值 nocpulse4545
  7. 如果出現「Timeout」欄位,請檢視預設值,並視您的需求進行調整。大部份(但非全部)的 timeout 值都處於未知(UNKNOWN)狀態。如果偵測是以時間為基準,請確定 timeout 值不會低於閾值的設定值;否則,此評量便失去了意義,因為偵測會在跨越任何閾值前過時。
  8. 若可能的話,請使用其它欄位以建立偵測的警示閾值。CRITICAL 與 WARNING 值決定偵測何時會改變狀態。請參閱〈節 1.2.5.2, “建立閾值”〉以了解有關這些閾值的相關事項。
  9. 完成後,請按下「建立偵測」。請記得,您必須送出您「Scout 配置推送」網頁上的 monitoring 配置變更,以使其生效。
要刪除偵測,請使用該偵測的「目前狀態」網頁(從「系統詳細資料偵測」分頁點選偵測的名稱),並按下「刪除偵測」。最後確認這項刪除。

1.2.5.2. 建立閾值

Red Hat Satellite 所提供的許多偵測皆包含了警示閾值,當跨越此閾值時,該偵測的狀態會隨之改變。舉例來說,Linux::CPU Usage 偵測能讓您設定極限值(CRITICAL)與警告值(WARNING)閾值,與處理器的使用率有關。如果系統發現處理器的使用率為 75%,而警告值閾值為 70%,那麼這項偵測就會變為警告(WARNING)狀態。有些偵測會提供諸多閾值。
為了要善用您的 monitoring 權利,避免錯誤的通知,Red Hat 建議您在每台電腦上執行一段時間,建立效能基準,然後才執行偵測動作。儘管提供給您的預設值可能適合您,但每個公司皆有不同的使用環境,需要修改閾值。

1.2.5.3. 監控衛星伺服器

除了監控您所有的客戶端系統外,您還可以使用 Red Hat Network 來監控您自己的衛星伺服器或代理伺服器。若要監控您的衛星伺服器或代理伺服器,請找一台由該伺服器所監控的系統,然後連上那台系統的「系統詳細資料偵測」分頁。
點選「建立新偵測」並選擇「衛星伺服器」偵測指令群組。然後填入剩下的欄位,以供任何其它偵測用。詳情請參閱〈節 1.2.5.1, “管理偵測”〉。
雖然衛星伺服器似乎會由客戶端系統來偵測,但偵測事實上是由伺服器自行完成。閾值與通知都會如往常般的運作。

注意

任何需要 Red Hat Network monitoring daemon 連線的偵測,皆不能用在執行【monitoring】軟體的 Red Hat Satellite 或 Red Hat Satellite 代理伺服器上。這包括 Linux 指令群的大部份偵測,以及【Log Agent】與【Remote Program】偵測。請使用衛星伺服器的指令群偵測,以監控 Red Hat Satellite 與 Red Hat Satellite 代理伺服器。在使用代理伺服器 scout 的偵察情況下,偵測會列在偵測所回報的系統之下。

1.2.6. Monitoring

如果您按下上方導覽列的「Monitoring」分頁,您將會看見「Monitoring」類別與連結。這些網頁需要 Monitoring 權利,以讓您能夠檢視您所配置、且在享有 Monitoring 權利的系統上執行的偵測結果,並管理您 Monitoring 的基礎結構之配置。
透過「系統詳細資料」網頁的「偵測」分頁,來啟動系統監控。請參閱〈附錄 A, Probe - 偵測〉,以取得可用偵測的完整清單。

1.2.6.1. 偵測狀態

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
當您按下了上方導覽列中的「Monitoring」時,就預設值「偵測狀態」網頁將會出現。
偵測狀態」網頁會以各種狀態顯示偵測的摘要數目,並提供簡潔的介面,好讓使用者快速地找到問題。請注意本分頁中,偵測的總數可能與下方表格的數字不同。上方的數字包括您公司中的所有偵測;而表格中只顯示您透過 System Group Administrator 角色存取的系統。同時,因為同步問題,此處顯示的偵測數目可能未包含過去一分鐘的資料。
以下清單描述了每個狀態,並解釋每個狀態的相關圖示:
  • - Critical - 偵測已與 CRITICAL 閾值交錯。
  • - Warning - 偵測已與 WARNING 閾值交錯。
  • - Unknown - 偵測無法正確地回報公制或狀態資料。
  • - Pending - 偵測已排程,不過還尚未執行或無法執行。
  • - OK - 偵測已成功執行中。
偵測狀態」網頁包含了每個可能狀態的分頁,以及一個列出所有偵測的分頁。每個表都包含欄位,顯示偵測狀態、監控的系統、使用的偵測器、以及最後更新的日期與時間。
在這些表格中,按下系統名稱會引導您至「系統詳細資料」的「Monitoring」分頁。請按下偵測器的名稱,您將會看見「目前的狀態」網頁。您可從此編輯該偵測器、刪除,以及根據其結果產生報表。
先前透過衛星伺服器網頁介面得到的 Monitoring 資料與偵測狀態的資訊,現在已可匯出至 CSV 檔案。請透過 Monitoring 網頁按下「下載 CSV」連結,以下載相關資訊的 CSV 檔案。匯出的資料可能包括(但不限於):
  • 偵測狀態
  • 所有偵測的特定狀態(OK, WARN, UNKNOWN, CRITICAL, PENDING)
  • 偵測事件的歷史紀錄
1.2.6.1.1. 偵測狀態 ⇒ Critical

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
超過 CRITICAL 的極限門檻值,或因其它方式達到重大狀態的偵測。比方說,有些偵測會因為超過 timeout 值(而非因為狀態不明)而進入此狀態。
1.2.6.1.2. 偵測狀態 ⇒ Warning

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
已與其「WARNING」閾值交錯的偵測。
1.2.6.1.3. 偵測狀態 ⇒ Unknown

重要

您需要擁有 Monitoring 權利,才可使用此功能。
偵測無法蒐集到所需的資料,以決定偵測的狀態。許多(但並非全部)偵測器在超過了 timeout 值時,會成為不明狀態。這可能表示您應該提高 timeout 值,或無法連線至受偵測的系統。
這也可能是偵測器的配置參數不正確,同時找不到資料。最後,此狀態可能表示軟體發生錯誤。
1.2.6.1.4. 偵測狀態 ⇒ Pending

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
尚未由 Red Hat Network 接收到資料的偵測。此狀態顯示偵測已經納入排程,但尚未執行。如果所有的偵測都變成處理中,代表您的monitoring 基礎結構可能已失效。
1.2.6.1.5. 偵測狀態 ⇒ OK

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
已成功執行,並且沒有出現任何錯誤的偵測。這是所有偵測的理想狀態。
1.2.6.1.6. 偵測狀態 ⇒ All

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
所有您系統上排程的偵測,以系統名稱的字母順序排序。
1.2.6.1.7. 目前狀態

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
列出選擇的偵測狀態,以及其最後的執行時間,並提供為該次偵測產生報表的能力。雖然本網頁主要以「監控」為主,但還是可以在「系統詳細資料」網頁中的「偵測」分頁中找到,因為其配置特屬於受偵測的系統。
若要檢視偵測結果的報表,請從「日期」欄位選擇相關的日期區間,以檢視您想要看的資料、狀態改變紀錄等。若要獲得相關資料,請選擇您希望讀取的項目,並用勾選選項決定要以圖表、紀錄檔等檢視報告。然後按下網頁最下方的「產生報表」。如果該次偵測沒有任何資料,您會看到 NO DATA FOR SELECTED TIME PERIOD AND METRIC 這則訊息。

1.2.6.2. 通知

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
指定您公司所建立的通訊方式。這些方式包括欲收到偵測器警示的電子郵件,或傳呼機號碼。
您公司可用的多種通知方式,皆列在預設的「通知」畫面上。列出的方式會根據套用的使用者列出。
若要建立新的通知方式,請按下即將收到通知的使用者名稱。接下來會出現【使用者的詳細資料 ⇒ 通知方式】網頁。請按下通知方式的標題,以編輯該方式的屬性。
1.2.6.2.1. 通知 ⇒ 篩選器
通知篩選能讓您建立長期的規則,以暫停、重新導向、自動確認標準通知、或發出輔助訊息。這對管理詳細或常見的偵測項目來說非常有幫助。
1.2.6.2.1.1. 通知 ⇒ 通知過濾 ⇒ 啟用的過濾
這是【通知篩選】分頁的預設畫面,列出所有公司可用的篩選程式。請按下篩選的名稱,以編輯該篩選的屬性。
若要建立通知篩選,請按下螢幕右上方的「建立新通知篩選」連結。配置底下列出的每個選項後,請按下「儲存篩選」按鈕,以建立該篩選。
  1. 描述性字句:輸入一個能讓您清楚分辨此篩選的值。
  2. 類型:決定該篩選所要採取的動作:重新導向、確認、暫停、或發出輔助通知。
  3. 送往:請在第二步中的「重新導向通知」與「輔助通知」選項中輸入電子郵件地址,以發送通知。其它的選項不需要電子郵件地址。
  4. 範圍:決定要篩選何種受監控的元件。
  5. 組織/偵察/偵測:這選項能讓您選擇這篩選能用的組織、偵察、偵測。要從清單中選擇多個項目,請在點選項目名稱時,一併按下 Ctrl。要選擇一段範圍的項目,請先點選第一個項目,然後按下 Shift 鍵,同時點選最後一個項目。
  6. 偵測器狀態:選擇與篩選相關的偵測器狀態。舉例來說,您可以只為重大偵測器建立輔助通知。如果您想要篩選忽略任何狀態,請取消勾選狀態左方的方塊。
  7. 將通知送往:如果沒有設定篩選的話,該如何處理通知的方式。舉例來說,如果通知平常會送給某個使用者,他卻剛好休假去了,您就可以將這通知重新導向到另一個使用者去,而不用改變其他的通知。
  8. 比對輸出:請在此輸入正規表示式,選擇精確的通知結果。如果通知的「Message」部份與正規表示式不相符,篩選便不會被套用。
  9. 週期性:請選擇過濾器將不間斷地執行,還是以週期性方式執行。週期性過濾會每隔一陣子執行一段時間,這時間會小於過濾執行的時間。舉例來說,週期性過濾可以從開始到結束的這段期間,每一小時執行十分鐘。非週期性過濾則會從開始到結束這段期間,持續不斷的執行。
  10. 開始時間:輸入篩選運作的開始日期與時間。
  11. 結束時間:輸入篩選運作的結束日期與時間。
  12. 週期發生的持續時間:篩選啟用的時間長度。此欄位只對週期發生的篩選有用,它會在上述「開始」所指定的時間,開始執行。任何在這段時間以外所產生的通知,皆不會被過濾。
  13. 週期頻率:此篩選多久會啟動一次。
通知篩選無法被刪除。然而,您可以將篩選的結束時間設為過去,以取消此篩選。(請注意,結束時間必須等於或晚於開始時間,否則您做的改變會失敗。)另一個方式是從「啟用」網頁選擇一組篩選,然後按下右下方的「過期通知的篩選」按鈕。此篩選會被取消,並在「過期的篩選」分頁中出現。
1.2.6.2.1.2. 通知 ⇒ 通知篩選 ⇒ 過期的篩選
此分頁會列出所有結束時間為過去的通知篩選。過期的篩選一定會被儲存;這可以讓公司在需要時,重複使用有用的篩選,並提供疑難排解的歷史紀錄。

1.2.6.3. 偵測工具組

偵測工具組能讓您針對一或多台系統,配置、套用一或多個偵測器。偵測工具組只要配置一次,就可以批次套用到任何數目的系統上。這對享有 Monitoring 功能的使用者來說,可以省下大筆的時間,並提供一致的環境。
要建立並套用偵測工具組,請先建立一個空白的偵測組,然後配置它所包括的偵測器,最後將工具組套用到所選擇的系統上。
  1. 請從【Monitoring ⇒ 偵測工具組】網頁,選擇「建立偵測工具組」連結,為此工具組輸入簡單、易於分辨的名稱。您也可以選擇為此工具組加入簡單的描述字句。若要繼續,請按下「建立偵測工具組」。
  2. 您現在必須加入、配置用於此工具組的偵測程式。請按下右上方的「建立新偵測器」連結。
  3. 請配置偵測器並按下右下方的「建立偵測器」按鈕。請重複此動作,直到所有偵測程式皆被加入為止。

    注意

    您必須正確配置您 Red Hat Satellite 上的 sendmail,同時偵測工具組套用的每台客戶端系統,皆必須安裝、執行 rhnmd 系統程式。詳情請參閱《Red Hat Satellite 安裝指南》。
  4. 請在「系統」分頁上,新增適用於【偵測工具組】的系統。請按下畫面右上方的「將系統加入偵測工具組」連結,以進行下一個動作。
  5. 下一個網頁顯示了所有擁有 Monitoring 權利的系統清單。請勾選您想要套用偵測工具組的系統左方之方塊,然後按下「將系統加入偵測工具組」按鈕,以完成建立【偵測工具組】的程序。
您可以刪除偵測器、或讓偵測器與偵測組脫勾。後者會讓偵測器與偵測組失去關聯,並將其轉化為針對某系統的特定系統偵測。這表示任何脫勾偵測器的改變只會影響系統。刪除偵測器會將它從所有系統的偵測組中移除。
若要將偵測器自偵測工具組中移除:
  1. 請從【Monitoring ⇒ 偵測工具組】網頁,按下您想要修改的【偵測工具組】標題。
  2. 選擇「偵測器」子分頁。
  3. 勾選您希望移除之偵測器旁的方塊。
  4. 按下「從偵測工具組中移除偵測」按鈕。
您亦可從【偵測工具組】中移除系統。移除有兩種方法。第一種是將系統與偵測組脫勾。完成之後,該系統還是有同樣指定給它的偵測器。然而,您現在擁有獨立配置這些偵測器的能力,而不會影響其它系統。
若要讓系統與偵測工具組脫勾:
  1. 請從【Monitoring偵測工具組】網頁,按下您想要修改的【偵測工具組】標題。
  2. 請選擇「系統」子分頁。
  3. 勾選您想要自【偵測工具組】移除之系統旁邊的方塊。
  4. 按下「將系統與偵測工具組脫鉤」按鈕
第二種方法則是從偵測組中移除系統。這會從偵測組中移除系統,並刪除系統上所有執行中的偵測器。

注意

這動作會從系統上刪除所有偵測組的偵測項目,以及時間序列的歷史資料與事件紀錄資料。這動作是不可回復的。
要從偵測組移除系統,並刪除系統所有的相關偵測器:
  1. 請從【Monitoring ⇒ 偵測工具組】網頁,按下您想要修改的【偵測工具組】標題。
  2. 請選擇「系統」子分頁。
  3. 勾選您想要自【偵測工具組】移除之系統旁邊的方塊。
  4. 按下「從偵測工具組中移除系統」按鈕。
最後,如單獨偵測,您可下載一個包含偵測組資訊的 CSV 檔案。請按下「Monitoring偵測組」下方的「下載 CSV」連結,以下載檔案。

1.2.6.4. Scout Config Push

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
顯示您偵測基礎結構的狀態。任何時候您改變偵測配置,例如為系統加入偵測器,或編輯偵測器的閩值,您都必須重新配置 Monitoring 基礎結構。請選擇 Red Hat Network 伺服器的核取方塊,按下「推送偵測的配置」。網頁中的表格將會顯示提交與完成推送的日期與時間。
按下伺服器名稱將會開啟 Red Hat Network Monitoring Daemon SSH 的公用金鑰。這能讓您複製、貼上 SSH 金鑰至 scout 所偵測的系統上。若要 Red Hat Network Monitoring Daemon 連結到衛星伺服器上,這是必要的。

1.2.6.5. 一般監控設定

重要

您需要擁有 Monitoring 權利,才可檢視此分頁。
一般的 Monitoring 配置網頁位於「管理Red Hat Satellite 配置Monitoring」中。它會蒐集可以用在您 Monitoring 基礎結構上的資訊。修改此網頁的任何部分,皆會讓 Red Hat Satellite 上的 Monitoring 服務重新啟動。它也會為所有啟用了 Monitoring 並連至此衛星伺服器的 Red Hat Satellite 代理程式排程重新啟用事件。如此一來,這些伺服器上的 Monitoring 服務才會立即重新載入其配置。
一般來說,其他欄位的預設值就可以運作得很好,因為這些值都是從衛星伺服器的安裝而來。不過,您可能會想利用本頁的欄位,修改這網頁上的 Monitoring 配置。舉例來說,您可以在此改變郵件伺服器。此網頁能讓您改變從衛星伺服器而來的所有管理性電子郵件。完成後,請按下「更新配置」。

1.3. 多重衛星伺服器

Inter-Satellite Synchronization(ISS)能讓衛星伺服器和另一個擁有點對點(peer-to-peer)關係的衛星伺服器同步內容權限。然而,在下列部分中,接收內容的衛星伺服器將會被稱為「Slave Satellite」,而作為來源提供內容的衛星伺服器將會被稱為「Master Satellite」。當使用 ISS 來同步內容時,Slave Satellite 的非內容實體設定(如使用者與組織)可能會和「Master」不同。Slave 上的衛星伺服器管理員能夠獨立新增、移除和更改發生於 Master 上的實體。

注意

Master 和 Slave 這些傳統名詞包含了 ISS 協定中不存在的其它隱喻。閱讀本文件時,請將其意義限制在以上所敘述的範圍內。
ISS 功能能根據組織需求,以各種不同的方式使用。有種 ISS 配置能讓衛星伺服器同時作為互相的 master 和 slave。此部分中有一部分包含了使用案例,以及如何根據您的組織設定最佳的 ISS。

ISS 需求

下列為使用 ISS 的必要條件:
  • 二或更多部 Red Hat Satellite 伺服器
  • 至少一個 Red Hat Satellite 填入了至少一個頻道
  • 預期進行 ISS 的衛星伺服器系統上的衛星伺服器管理員權限

1.3.1. 衛星伺服器交互同步(Inter-Satellite Synchronization)

ISS 可透過手動配置,或藉由一項 spacewalk-sync-setup 的新工具來進行配置。這兩項方式皆適用,選擇的決定權在於使用者。

1.3.1.1. 手動式配置

過程 1.1. 配置 Master 衛星伺服器

在 Satellite 5.6 上,ISS 允許 Slave 衛星伺服器由 Master 上配置的設定,複製組織的信任階級與自訂的頻道權限。這是藉由從 Master 衛星伺服器匯出特定組織資訊至接收方的 Slave 衛星伺服器來完成的。Slave 衛星伺服器上的衛星伺服器管理員接著便能選擇要將 Master 組織對映至哪個 Slave 組織。未來的 satellite-sync 作業將使用此資訊來分配自訂頻道擁有權給已對映至特定 Master 組織的 Slave 組織。他亦可將 Master 組織之間的信任關係對映至相符的 Slave 組織,以在 Slave 上建立相等的信任關係。
  1. 在網站介面上:
    1. 以衛星伺服器管理員的身份登入:
    2. 點選「管理ISS 配置Master 設定」。
    3. 請點選位於右上方角落的「新增 Slave」。
    4. 填入下列資訊:
      • Slave 的 FQDN(完整網域名稱,Fully Qualified Domain Name)
      • 是否要允許 Slave 進行同步?- 選擇此欄位將允許 Slave 衛星伺服器存取此 Master 衛星伺服器。否則,與此 Slave 之間的通聯將會被拒絕。
      • 是否要將所有組織同步至 Slave?- 選取此欄位會將所有組織同步至 Slave 衛星伺服器。

      注意

      在 Master 設定網頁上選擇「將所有組織同步至 Slave?」選項會覆蓋所有在以下「本機組織表格」中,特別選取的組織。
    5. 按下「建立」。
    6. (選用性)點選任何本機組織,以將它匯出至 Slave 衛星伺服器。
    7. 按下「允許組織」。

      注意

      在 Satellite 5.5 中,Master 衛星伺服器在 /etc/rhn/rhn.conf 檔案中使用了 iss_slaves 參數來辨識哪些 slave 能與 Master 衛星伺服器進行通訊。Satellite 5.6 使用了 Master 設定網頁中的資訊,來判定這項資訊。
  2. 在指令列上:
    1. /etc/rhn/rhn.conf 檔案中啟用 inter-satellite synchronization(ISS)功能:
      disable_iss=0
      
    2. 儲存配置檔案,並重新啟用 httpd 服務:
      service httpd restart
      

過程 1.2. 配置 Slave 伺服器

Slave 衛星伺服器是會接收由 master 伺服器同步的內容的機器。
  1. 若要安全地將內容傳輸至 slave 伺服器,您需要來自於 master 伺服器的 ORG-SSL。您可透過 HTTP 由任何衛星伺服器的 /pub/ 目錄下載憑證。該檔案名為 RHN-ORG-TRUSTED-SSL-CERT,不過可重新命名並放置在 slave 衛星伺服器的任何本機檔案系統上,例如 /usr/share/rhn/ 目錄中。
  2. 以衛星伺服器管理員的身份登入 Slave 衛星伺服器。
  3. 點選「管理ISS 配置Slave 設定」。
  4. 請點選位於右上方角落的「新增 Master」。
  5. 填入下列資訊:
    • Master 的完整區域名稱
    • 預設的 Master?
    • 此 Master 之 CA 憑證的檔案名稱 - 請使用在此程序初始步驟中下載的 CA 憑證的完整路徑。
  6. 按下「新增 Master」。

過程 1.3. 執行一項 Inter-Satellite Synchronization

當配置了 master 和 slave 伺服器後,您便可進行同步。
  • 藉由執行 satellite-sync 指令來進行同步:
    satellite-sync -c your-channel

    注意

    satellite-sync 指令一起提供的指令列選項會置換 /etc/rhn/rhn.conf 檔案中的所有自訂設定。

過程 1.4. 將 Master 衛星伺服器匯出的組織對映至 Slave 衛星伺服器的組織

先決條件

在完成了先前的程序後,Master Satellite 應該會出現在 Slave Satellite 的 Slave Setup 中(位於「管理ISS 配置Slave 設定」下)。若沒有的話,請重新檢查以上步驟。

在 master 衛星伺服器上的組織名稱之間進行對映,能讓您在 Master 衛星伺服器上設置頻道存取權限,並在內容同步至 Slave 衛星伺服器時,進行散佈。並非 Slave 衛星伺服器的所有組織和頻道詳細資料皆必須對映,衛星伺服器管理員能夠藉由允許或拒絕對映,來選擇要同步哪些權限和組織。
要完成對映,請在 Slave 衛星伺服器上依照下列程序進行:
  1. 以衛星伺服器管理員的身份登入:
  2. 點選「管理ISS 配置Slave 設定」。
  3. 點選 Master 衛星伺服器的名稱以選取它。
  4. 使用下拉式選單來將匯出的 master 組織名稱對映至 Slave Satellite 中,相符的本機組織。
  5. 按下「更新對映」。
  6. 在各個自定頻道的指令列上輸入 satellite-sync,以取得正確的信任結構和頻道權限:
    satellite-sync -c your-channel
    

1.3.1.2. 自動化配置

spacewalk-sync-setup 能讓使用者指定一項 Master 和 Slave Satellite,並使用配置檔案來設定描述於 Master 和 Slave 設定中的資訊。若您希望的話,它亦可建立一組預設的配置檔案。基本上,它會自動化先前的設定,和 Master-Slave 關係的對映配置。
先決條件

若要自動化配置成功:

  • spacewalk-util 套件必須安裝在會發出 spacewalk-sync-setup 指令的系統上。
  • Master 衛星伺服器上必須存在擁有自訂權限的既有組織。
  • Slave 衛星伺服器中必須包含既有的組織。

過程 1.5. 配置 Master 衛星伺服器

  1. /etc/rhn/rhn.conf 檔案中啟用 inter-satellite synchronization(ISS)功能:
    disable_iss=0
    
  2. 儲存配置檔案,並重新啟用 httpd 服務:
    service httpd restart
    

過程 1.6. 配置 Slave 伺服器

Slave 衛星伺服器是一部會將其內容同步至 master 伺服器的機器。
  1. 若要安全地將內容傳輸至 slave 伺服器,您需要來自於 master 伺服器的 ORG-SSL。您可透過 HTTP 由任何衛星伺服器的 /pub/ 目錄下載憑證。該檔案名為 RHN-ORG-TRUSTED-SSL-CERT,不過可重新命名並放置在 slave 衛星伺服器的任何本機檔案系統上,例如 /usr/share/rhn/ 目錄中。
  2. 以衛星伺服器管理員的身份登入 Slave 衛星伺服器。
  3. 點選「管理ISS 配置Slave 設定」。
  4. 請點選位於右上方角落的「新增 Master」。
  5. 填入下列資訊:
    • Master 的完整區域名稱
    • 預設的 Master?
    • 此 Master 之 CA 憑證的檔案名稱 - 請使用在此程序初始步驟中下載的 CA 憑證的完整路徑。
  6. 按下「新增 Master」。

過程 1.7. 透過 spacewalk-sync-setup 來將 Master Satellite 組織對映至 Slave Satellite

  1. 登入系統。無論是 Master Satellite、Slave Satellite 或是完全不同的系統,只要系統能夠存取 Master 和 Slave Satellite 的公共 XMLRPC API 即可。
  2. 在一個指令列介面上輸入 spacewalk-sync-setup
    spacewalk-sync-setup --ms=[Master_FQDN] \
    --ml=[Master_Sat_Admin_login] \
    --mp=[Master_Sat_Admin_password] \
    --ss=[Slave FQDN]  --sl=[Slave_Sat_Admin_login] \
    --sp=[Slave_Sat_Admin_password> \
    --create-templates --apply
    
    • --ms=MASTER, --master-server=MASTER 為欲連至的 Master 的 FQDN
    • --ml=MASTER_LOGIN, --master-login=MASTER_LOGIN 為 Master Satellite 的衛星伺服器管理員登錄名稱
    • --mp=MASTER_PASSWORD, --master-password=MASTER_PASSWORD 為 Master Satellite 的衛星伺服器管理員登錄密碼
    • --ss=SLAVE, --slave-server=SLAVE 為欲連至的 Slave Satellite 的 FQDN。
    • --sl=SLAVE_LOGIN, --slave-login=SLAVE_LOGIN 為 Slave Satellite 的衛星伺服器管理員登錄名稱
    • --sp=SLAVE_PASSWORD, --slave-password=SLAVE_PASSWORD 為 Slave Satellite 上的衛星伺服器管理員登錄密碼
    • --ct, --create-templates 是一項用來為我們所指向的 master/slave 配對建立 master 與 slave 設定檔的選項。
    • --apply 會要求衛星伺服器根據設定檔,將變更套用至指定的衛星伺服器上。

    注意

    欲取得更多設定選項:
    spacewalk-sync-setup --help
    
    這項指令的輸出會看似:
    INFO: Connecting to [admin@master-fqdn]
    INFO: Connecting to [admin@slave-fqdn]
    INFO: Generating master-setup file $HOME/.spacewalk-sync-setup/master.txt
    INFO: Generating slave-setup file $HOME/.spacewalk-sync-setup/slave.txt
    INFO: Applying master-setup $HOME/.spacewalk-sync-setup/master.txt
    INFO: Applying slave-setup $HOME/.spacewalk-sync-setup/slave.txt
    
  3. 在各個自定頻道的指令列上輸入 satellite-sync 指令,以取得正確的信任結構和頻道權限:
    satellite-sync -c your-channel
    

1.3.2. 組織同步化

ISS 亦可使用來將內容匯入任何特定組織中。這可透過本機或遠端同步來完成。這項功能對於擁有多重組織的離線衛星伺服器來說相當有幫助,在此情況下,內容會透過頻道傾印或由已連線的衛星伺服器匯出來取得,然後再被匯入至離線的衛星伺服器上。組織同步程序可被用來由已連線的衛星伺服器匯出自訂頻道。它亦可被使用來有效地在多重組織之間,進行內容的移動。
組織同步程序會依照幾項需遵循的規則進行,以確保來源組織的完整性:
  • 若來源內容屬於 NULL 組織(也就是任何 Red Hat 內容),它便會預設為 NULL 組織,儘管已指定了一個目的地組織。這可確保指定的內容總是會在此具有權限的 NULL 組織中。
  • 若在指令列上指定了組織,內容便會由該組織中匯入。
  • 若沒有指定組織的話,預設值便會是 organization 1。
下列為三種當組織 ID(orgid)被使用來在衛星伺服器之間,進行同步的範例情況:

範例 1.1. 將內容由 master 匯入至 slave 衛星伺服器

此範例將內容由 master 匯入至 slave 衛星伺服器:
satellite-sync --parent-sat=master.satellite.example.com -c channel-name --orgid=2

範例 1.2. 由一個組織的匯出傾印匯入內容

此範例由一個特定組織的匯出傾印匯入內容:
$ satellite-sync -m /dump -c channel-name --orgid=2

範例 1.3. 由 Red Hat Network Hosted 匯入內容

此範例由 Red Hat Network Hosted 匯入內容(假設系統已註冊並已啟動):
$ satellite-sync -c channel-name

1.3.3. Inter-Satellite Synchronization 使用案例

Inter-Satellite Synchronization(ISS)可根據您的組織需求,提供各種不同的使用方式。此部份提供了如何使用 ISS 的範例,以及設定和操作這些案例的方式。

範例 1.4. Staging Satellite

此範例中使用了一部 staging Satellite(暫存衛星伺服器)來準備內容,並進行套件上的品管(QA)工作,以確保套件適用於生產環境。當內容已核准使用於生產環境時,生產衛星伺服器便會與暫存衛星伺服器進行內容的同步化。
  1. 執行 satellite-sync 指令以和「rhn_parent」同步資料(一般為 Red Hat Network Hosted):
    satellite-sync -c your-channel
    
  2. 請執行下列指令以從 staging 伺服器同步資料:
    satellite-sync --iss-parent=staging-satellite.example.com -c custom-channel

範例 1.5. 已同步的 Slave

在此範例中,master 衛星伺服器會將資料直接提供給 slave,並且這些變更會經常地同步。

範例 1.6. Slave 自訂內容

此範例使用了 master 衛星伺服器來作為開發頻道,內容會由此散佈至所有生產的 slave 衛星伺服器上。有些 slave 衛星伺服器會擁有 master 衛星伺服器頻道中所沒有的額外內容。這些套件將會被保留,不過所有來自於 master 衛星伺服器的變更皆會被同步至 Slave 衛星伺服器上。

範例 1.7. 雙向同步

在此環境中,兩個 Red Hat Satellite 伺服器會同時作為互相的 master 和 slave,並且能同步之間的內容。執行 satellite-sync 指令的衛星伺服器,會從另一個衛星伺服器接收內容,並且同步的資料將會根據搭配 satellite-sync 的選項而定。若無使用任何選項,同步程序將會嘗試更新所有之前同步的內容。
欲取得配置 Master Satellite 上的相關資訊,請參閱〈節 1.3.1.1, “手動式配置”〉。將兩個衛星伺服器都設為 Master 將會建立一項雙向同步。

章 2. Red Hat Satellite 和 Solaris 特屬的資訊

本節闡述有關於搭配 Solaris 系統使用 Red Hat Satellite 的資訊。

2.1. UNIX 支援指南

2.1.1. 簡介

本章記載了在使用 UNIX 客戶端系統時,Red Hat Network 功能的安裝程序(並標出了相異處)。Red Hat Network 提供了對 UNIX 的支援,以幫助使用者從 UNIX 轉移到 Linux。由於這項工作有其限制,因此 UNIX 客戶端管理的功能並不像管理 Red Hat Enterprise Linux(以下簡稱 RHEL)系統那麼複雜。
接下來的章節會說明支援的 UNIX 各種版本、UNIX 管理系統所支援的 Red Hat Network 功能、使用 Red Hat Network 管理 UNIX 系統的先決條件、以及 UNIX 客戶端的安裝過程。

2.1.1.1. 支援的 UNIX 種類

Red Hat Satellite 支援以下的 UNIX 種類、版本,以及架構:

表格 2.1. 支援的 Solaris 架構和版本

Solaris 版本 sun4m sun4d sun4u sun4v sun4us x86
Solaris 8
Solaris 9
Solaris 10

2.1.1.2. 先決條件

要獲得 UNIX 的支援,需滿足以下條件:
  • Red Hat Satellite 5.0 或更新版本
  • 擁有【管理】權利的衛星伺服器憑證
  • 每台 UNIX 客戶端皆必須擁有【Management】權利
  • UNIX 的 Red Hat Network 套件包含了 python、phOpenSSL、以及 Red Hat Network 客戶端套件
  • 提供支援函式庫的 Sunfreeware 套件

    注意

    部分套件皆可透過 Red Hat Satellite 取得。欲取得完整的清單,請參閱〈節 2.1.3.1, “下載並安裝額外的套件”〉。

2.1.1.3. 包含的功能

以下功能皆包括在 UNIX 支援的服務等級條款中,如存在於 Red Hat Network 中一般:
  • Red Hat Network 服務系統程式rhnsd),它會根據可配置的間隔,啟動 rhn_check
  • Red Hat Network 配置客戶端rhncfg-client),它會執行所有來自衛星伺服器的排程設定動作
  • RHN 配置管理員rhncfg-manager),它允許 Red Hat Network 配置頻道透過指令列來管理
  • rhn_check 程式,它會讓衛星伺服器登入、並進行任何來自伺服器的排程工作
  • 所有【管理】等級的功能,例如系統分群、套件設定檔的比較、以及使用系統設定管理員來一次管理多台系統
  • 一項稱為遠端指令的【佈建】功能,能讓使用者透過衛星伺服器的網站,在任何客戶端上排程 root 等級的指令;前提是客戶端必須設定允許支援此動作

2.1.1.4. 功能的差別

以下 Red Hat Network 功能在 UNIX 環境中,會以不同方式運行:
  • 跟 Linux 版本比起來,UNIX 版的 Red Hat 更新代理程式 提供了較少的選項,同時安裝套件需仰仗作業系統自己的工具組,而不是 rpm。欲取得更完整的選項清單,請參閱〈節 2.1.4.2.4, “從指令列升級”〉。
  • Red Hat Network 推送 應用程式已經修改過,跟原有的 UNIX 檔案類型類似,包括套件、升級檔、以及升級叢集。
    由於 Solaris 的套件、升級檔、升級叢集檔跟 RPM 檔案不同,因此頻道上傳機制也有所不同。在 Solaris 的 rhnpush 套件中,有兩個應用程式:
    • 首先,solaris2mpm 是一項 Red Hat Network 工具程式,用來為每個 Solaris 套件或升級檔建立 MPM 檔案。此 MPM 檔案的中性格式能被衛星伺服器所理解,並管理已上傳的檔案。
    • 其次,rhnpush 加入了更多功能,並可處理 MPM 與 RPM 檔案。否則它的作用就與 Linux 版的 rhnpush 相同。
  • Red Hat Network 網站的「頻道」分頁已加強,以因應 UNIX 原生檔案類型的儲存與安裝。

2.1.1.5. 已移除的功能

以下 Red Hat Network 功能並不在 UNIX 支援系統的功能之列:
  • 所有【佈建】等級的功能,例如 kickstart 與套件回復功能,除了設定檔管理以外
  • 所有勘誤相關的選項,因為 UNIX 並不了解勘誤升級的概念
  • 套件的原始檔
Answer(自動安裝)檔目前還不受支援。我們預計在未來的發行版本中支援這種檔案。
同時也不支援 Solaris 系統的 IPv6。
此外,尚未支援在進行安裝時將 RHAT*.pkg 檔案重定位的功能。

2.1.2. 衛星伺服器準備/配置

在必要的檔案能建置至客戶端系統之前,您必須先配置衛星伺服器以支援 UNIX 客戶端。若要這麼作,您有兩種選擇,端視您是否已經安裝了衛星伺服器:
  1. 在安裝衛星伺服器時:
    在安裝衛星伺服器時,勾選「啟用 Solaris 的支援」方塊,以啟用對 UNIX 的支援,如圖所示:
    在衛星伺服器安裝過程中,啟用 UNIX 支援

    圖形 2.1. 在衛星伺服器安裝過程中,啟用 UNIX 支援

  2. 在衛星伺服器安裝後:
    在安裝衛星伺服器後,啟用對 UNIX 的支援。要完成這項工作,請選擇上方選單中的「管理」,然後選擇左方導覽列的「衛星伺服器配置」。在接下來的畫面中,勾選「啟用 Solaris 支援」方塊,如圖所示:
    在安裝衛星伺服器後,啟用 UNIX 的支援

    圖形 2.2. 在安裝衛星伺服器後,啟用 UNIX 的支援

    請按下「更新設定」按鈕,確定這項變更。
  3. 最後,您必須建立客戶端系統可能會訂閱的基礎頻道。這是因為 Red Hat Network 並不提供 UNIX 內容,因此,您不能使用 satellite-sync 來建立頻道。
    要建立 Solaris 頻道,請以衛星伺服器管理員或憑證授權單位身份登入衛星伺服器的網頁介面。請點選「頻道」分頁,選取左方的「管理軟體頻道」,然後按下螢幕右上方的「建立新頻道」連結。請為這新頻道命名,並建立標籤,然後選擇「SPARC Solaris」或「i386 Solaris」當作架構,端視客戶端的架構為何。

2.1.3. Unix 客戶端系統的準備

在您基於 UNIX 的客戶端系統能透過 Red Hat Network 受益之前,它們必須先準備好進行連線:
  1. 請下載並安裝 gzip,以及您需要的所有第三方函式庫。
  2. 請由衛星伺服器將 Red Hat Network 應用程式的 tarball 下載至客戶端,並安裝該內容。
  3. 接下來,請應一個安全的連線所需來建置 SSL 憑證。
  4. 將客戶端應用程式配置為連結至 Red Hat Satellite。
一旦您完成之後,您的系統便會開始接收 Red Hat Network 的更新。下列部份詳細地解說了這些步驟。

2.1.3.1. 下載並安裝額外的套件

此部份將說明有關於如何由衛星伺服器,將第三方應用程式與 Red Hat Network 應用程式下載至 UNIX 客戶端上的程序。
最重要的就是 Red Hat Update Agent for UNIXup2date),它提供了您的客戶端系統與 Red Hat Network 之間的連結。Red Hat Update Agent 的 UNIX 特屬版本與 Linux 的版本比較起來功能雖少了些,不過還是能註冊系統和進行套件的安裝與更新。欲取得這些工具選項的完整描述,請參閱〈節 2.1.4, “Unix 客戶端註冊與更新”〉。

注意

當第一次登入 Solaris 客戶端時,輸入 bash 指令也許會有幫助。假如 BASH shell 能用的話,它會盡可能地使系統的行為更像 Linux。
2.1.3.1.1. 安裝第三方套件
Red Hat Network 應用程式在下列工具程式與函式庫存在以前,是無法進行安裝的:
  • gzip
  • libgcc
  • openssl
  • zlib
gzip 這項工具程式是由 SUNW gzip 套件所提供的,並且能由 http://www.sunfreeware.com 下載。
在 Solaris 最近的版本上,所需的函式庫都是由下列自然安裝的套件所提供的:
  • SUNWgccruntime
  • SUNWopenssl*
  • SUNWzlib
若是較舊版本的 Solaris,下列所需的套件能由 http://www.sunfreeware.com 下載:
  • SMClibgcc 或是 SMCgcc
  • SMCossl
  • SMCzlib
若要確認套件是否安裝在客戶端上,請使用 pkginfo 指令。比方說,若要檢查名稱當中含有「zlib」的套件,請執行下列指令:
# pkginfo | grep zlib

注意

Solaris 套件封存檔案的名稱與已安裝套件的名稱不同。比方說,套件封存檔案 libgcc<version>-sol<solaris-version>-sparc-local.gz 在安裝過後便會變成 SMClibgcc。
2.1.3.1.2. 配置函式庫搜尋路徑
為了要允許 Solaris 客戶端使用在先前步驟中所安裝的函式庫,您必須將它們的位置新增至函式庫的搜尋路徑。若要這麼做,首先請檢查目前的函式庫搜尋路徑:
# crle -c /var/ld/ld.config
請記下目前預設的函式庫函式庫。接下來請編輯路徑,使其也包含著下列元件。請注意 -l 這個選項會將值重新設定,而不是將它附加,所以您的系統上如果已設了值,請將它們放置在 -l 參數的前方。
在 sparc 上:
 # crle -c /var/ld/ld.config -l /other/existing/path:/lib:/usr/lib:/usr/local/lib
在 x86 上:
# crle -c /var/ld/ld.config -l /other/existing/path:/lib:/usr/lib:/usr/local/lib:/usr/sfw/lib
2.1.3.1.3. 下載 Red Hat Network 客戶端套件
請由您的衛星伺服器的 /var/www/html/pub/ 目錄下載適當的套件 tarball。若您能夠使用一個像是 Mozilla 的 GUI 網頁瀏覽器,請移至衛星伺服器的 /pub 目錄並將適當的 tarball 儲存至您的客戶端:
http://your-satellite.example.com/pub/rhn-solaris-bootstrap-<version>-<solaris-arch>-<solaris-version>.tar.gz
若您必須由指令列下載 tarball,您應該能藉由使用 ftp 來將檔案由衛星伺服器傳輸至客戶端。
請使用 gzip 來將您的 tarball 解壓縮。您應該會得到下列的套件:
  • RHATpossl
  • RHATrhnrcfg
  • RHATrhnrcfga
  • RHATrhnrcfgc
  • RHATrhnrcfgm
  • RHATrhnc
  • RHATrhnl
  • RHATrpush
  • RHATsmart
SMClibgccSMCosslg 也能被包含在 tarball 之中。
2.1.3.1.4. 安裝 Red Hat Network 套件
請切換至解壓縮的目錄下,並使用 UNIX 版本的原生安裝工具來安裝各個套件。比方說,若是在 Solaris 上的話,請使用 pkgadd 指令。並在套件安裝程序當中所遇到的所有提示中回答「是」。
一個典型的安裝程序會如下列一般地進行:
# pkgadd -d RHATpossl-0.6-1.p24.6.pkg all
# pkgadd -d RHATpythn-2.4.1-2.rhn.4.sol9.pkg all
# pkgadd -d RHATrhnl-1.8-7.p23.pkg all
...

注意

您能夠使用 pkgadd-n 選項,以在非互動式的模式下執行這項指令。不過,在 Solaris 10 上,這可能會造成某些套件的安裝程序(沉默地)失敗。
請繼續直到所有套件都被安裝在 Red Hat Network 特屬的路徑中:/opt/redhat/rhn/solaris/
2.1.3.1.5. 將 Red Hat Network 的套件包含在 PATH 中
為了要能使 Red Hat Network 的套件在每次登錄時都能使用,建議將它們增加至您的 PATH。若要如此,請附加這些指令至您的登錄 script 中:
# PATH=$PATH:/opt/redhat/rhn/solaris/bin
# PATH=$PATH:/opt/redhat/rhn/solaris/usr/bin
# PATH=$PATH:/opt/redhat/rhn/solaris/usr/sbin
# export PATH
若要能夠存取 Red Hat Network 客戶端指令的 man page,請將它們增加至您的 MANPATH。若要如此,請將下列指令增加至您的登錄 script 中:
# MANPATH=$MANPATH:/opt/redhat/rhn/solaris/man
# export MANPATH
此外,您亦可藉由下列指令,以從指令列存取 man page:
# man -M /opt/redhat/rhn/solaris/man <man page>
最後,請將 Red Hat 函式庫如 libgccopenssl 以及 zlib 一般地增加至您的 PATH 中。
crle -c /var/ld/ld.config -l <current library paths>:/opt/redhat/rhn/solaris/lib

2.1.3.2. 建置客戶端 SSL 憑證

為了確保安全的資料傳送,Red Hat 強烈建議使用 SSL。Red Hat Network Satellite 能夠藉由在進行安裝程序時產生必要的憑證,以簡化 SSL 的實作。伺服器端的憑證會被自動安裝至衛星伺服器本身,客戶端憑證則會被放置在衛星伺服器之網頁伺服器的 /pub/ 目錄之中。
若要安裝憑證,每個客戶端都需遵循著這些步驟:
  1. 請由 Red Hat Satellite 的 /var/www/html/pub/ 目錄將 SSL 憑證下載至客戶端系統上。該憑證會被命名為類似 RHN-ORG-TRUSTED-SSL-CERT 的名稱。這能由下列 URL 的網頁中存取:https://your-satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT
  2. 在您(不同版本)的 UNIX 系統上,請將客戶端的 SSL 憑證移至 Red Hat Network 特屬的目錄中。若是 Solaris 的話,此動作能藉由類似下列的指令來完成:
     mv /path/to/RHN-ORG-TRUSTED-SSL-CERT /opt/redhat/rhn/solaris/usr/share/rhn/ 
當完成時,新的客戶端憑證就會被安裝在您 UNIX 系統上適當的目錄中。若您需為大量的系統進行此 Red Hat Network 管理的準備,您可透過編寫 script 來重複這整個程序。
現在您必須重新配置 Red Hat Network 客戶端應用程式,以參照新安裝的 SSL 憑證。欲取得相關說明,請參閱〈節 2.1.3.3, “配置客戶端”〉。

2.1.3.3. 配置客戶端

在您與 Red Hat Network 註冊您客戶端系統之前的最後一個步驟,就是將它們的 Red Hat Network 應用程式重新配置為使用新的 SSL 憑證,並由 Red Hat Satellite 取得更新。這兩項變更能藉由編輯 Red Hat Update Agent 的配置檔案來完成,它能提供註冊以及更新的功能。
請在各個客戶端系統上,按照這幾個步驟進行:
  1. 請以 root 的身份,切換至系統的 Red Hat Network 配置目錄。若是 Solaris 的話,完整的路徑為 /opt/redhat/rhn/solaris/etc/sysconfig/rhn/
  2. 在一個文字編輯器中開啟 up2date 配置檔案。
  3. 請找出 serverURL 項目,並將它的值設為您 Red Hat Satellite 的完整區域名稱(FQDN):
    serverURL[comment]=Remote server URL
    serverURL=https://your-satellite.example.com/XMLRPC
    
  4. 請藉由設定衛星伺服器的 noSSLServerURL 值,來確認就算 SSL 被關閉時,應用程式還是會參照 Red Hat Satellite:
    noSSLServerURL[comment]=Remote server URL without SSL
    noSSLServerURL=http://your-satellite.example.com/XMLRPC
    
  5. up2date 配置檔案還開啟時,請找出 sslCACert 項目,並將它的值設為〈節 2.1.3.2, “建置客戶端 SSL 憑證”〉中所描述的 SSL 憑證之名稱與位置,例如:
    sslCACert[comment]=The CA cert used to verify the ssl server
    sslCACert=/opt/redhat/rhn/solaris/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
    
您的客戶端系統現在已準備好向 Red Hat Network 註冊,並且透過您的衛星伺服器進行管理。

2.1.4. Unix 客戶端註冊與更新

現在您已經安裝了 Red Hat Network 特屬的套件、實作了 SSL,並且重新配置了您的客戶端系統以連上 Red Hate Satellite,您現在已可開始進行註冊程序,並獲得更新。

2.1.4.1. 註冊 Unix 系統

本節描述了 UNIX 系統的 Red Hat Network 註冊程序。您必須使用 rhnreg_ks 指令,以完成這項工作;您不一定要使用啟動金鑰來註冊您的系統。這些金鑰能讓您預先決定 Red Hat Network 的設定,例如基礎頻道與系統群組,並在註冊時,將這些設定自動套用到系統上。
由於啟動金鑰的產生與使用,皆已在其它指南中詳述過,本節僅著重在將金鑰套用到各種 UNIX 版本上的分別。
要向您的 Red Hat Satellite 註冊 UNIX 系統,請依序執行以下工作:
  1. 登入衛星伺服器的網頁介面,按下上方導覽列的「系統」分頁,接著按下左方導覽列的「啟動金鑰」。然後按下網頁右上方的「建立新的金鑰」連結。
  2. 在下一個網頁中,請選擇您在〈節 2.1.2, “衛星伺服器準備/配置”〉最後所建立的基礎頻道。
  3. 在建立了金鑰之後,請按下「啟動金鑰」清單中的金鑰名稱,將軟體與配置頻道和系統群組建立關聯,以加強其 Red Hat Network 設定。
  4. 在要註冊的用戶系統上開啟終端機視窗,切換至 root 使用者。
  5. 使用 rhnreg_ks--activationkey 選項,向衛星伺服器註冊客戶端。您可以從網站上的「啟動金鑰」清單複製這串字元。這項指令會看似:
    rhnreg_ks --activationkey=b25fef0966659314ef9156786bd9f3af
    
  6. 請回到網站上,按下啟動金鑰的名稱,並確定新系統出現在「已啟動的系統」分頁中。

2.1.4.2. 取得更新

在 UNIX 中處理套件升級的方式與 Linux 有很大的不同。舉例來說,Solaris 靠得是【升級叢集】,好一次升級多個套件;而 Red Hat 作業系統使用的是【勘誤升級】,將升級檔與特定套件建立關聯。除此之外,Solaris 會使用自動安裝檔(answer file)來事先決定套件安裝;但這是 Linux 所不了解的;而相反地,Red Hat 提供了原始檔套件的觀念。因此,本節會點出在 UNIX 系統上,使用 Red Hat Network 工具的不同之處。(注意:Red Hat Network 目前的版本並不支援 Solaris 的自動安裝檔;但計劃在將來的版本中推出。)
衛星伺服器上的 Red Hat Network 網站之 UNIX 頻道與套件管理介面大部份都相同,只有少部份不一樣,例如缺少勘誤。所有為 UNIX 各種版本設計的所有軟體頻道都可以用自訂頻道的方式建立,如《Red Hat Satellite 入門指南》所述。如您預期的,最大的不同是硬體架構。當建立 UNIX 軟體頻道時,請確定您選擇的基礎頻道架構跟所要服務的系統相同。
除此之外,Red Hat 建議您根據用途,將套件分為基礎頻道與子頻道。舉例來說,Solaris 的安裝套件就應該歸類為 Solaris 基礎套件,而升級檔與升級叢集就應該歸類為 Solaris 基礎頻道的子頻道。其它安裝套件則可以歸類為獨立的額外子套件。
Red Hat Network 將升級檔與套件視為類似的個體;它們的列出與安裝方式相同,介面也與正常的套件一樣。Solaris 會將升級檔編號,名稱近乎「patch-solaris-108434」。此 Solaris 升級檔的版本來自於原始的 Solaris metadata,釋出版本皆為 1。
升級叢集是許多升級檔的集合,會以一個完整的集合一次安裝。Red Hat Network 並不會儲存升級叢集中的升級檔清單。Red Hat Network 無法得知升級叢集是否已安裝到系統上,因為 Solaris 並不會追蹤這項資訊。因此可以安裝到系統上的升級叢集永遠不會出現在系統的已安裝套件清單中,即使安裝後亦然。升級叢集的名稱看起來類似「patch-cluster-solaris-7_Recommended」。版本則是日期,例如「20040206」,而釋出版本都會是 1,紀元版本都會是 0。
2.1.4.2.1. 將套件上傳至衛星伺服器
Red Hat Network 並不提供 UNIX 的內容;任何 Solaris 套件、升級檔或升級叢集皆必須以客戶端系統可理解的格式,上傳至衛星伺服器上。接著,該套件就可以受到管理,並散佈至其它系統上。Red Hat Network 建立了 solaris2mpm,以轉譯 Solaris 的套件、升級檔並升級叢集為衛星伺服器可理解的格式。
2.1.4.2.1.1. solaris2mpm
如先前〈節 2.1.1.4, “功能的差別”〉所述,solaris2mpm 是 Solaris 版 Red Hat Network 推送服務的一部分。要推送至衛星伺服器上的 Solaris 頻道的內容,必須是 .mpm 格式。
.mpm 檔案包含了套件本身及其資訊。solaris2mpm 指令必須在客戶端上執行,斷不可在衛星伺服器上執行。

注意

在轉換時,solaris2mpm 需要任何套件、升級檔或升級叢集的三倍空間或以上。一般來說,/tmp/ 目錄可以給這過程使用。然而,如果您有需要的話,--tempdir 選項能讓您指定另一個目錄。
您可以用 solaris2mpm 的指令列指定多個檔案。以下是使用範例:
# solaris2mpm RHATrpush-3.1.5-21.pkg RHATrpush-3.1.5-23.pkg
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-21.sparc-solaris.mpm
Opening archive, this may take a while
Writing out RHATrpush-3.1.5-23.sparc-solaris.mpm
由於沒有指定其他目錄,.mpm 檔案會寫入 /tmp/ 目錄中。請注意,.mpm 檔案的名稱包括用來生成該檔案的客戶端架構。就這個例子來說,是 SPARC Solaris。mpm 檔名的一般格式為:
name-version-release.arch.mpm
升級叢集包含多種資料 - .mpm 檔案是由叢集的每個升級檔,以及最上層的「meta」.mpm 檔案,包含叢集的資訊而成。
以下是 solaris2mpm 的選項:

表格 2.2. solaris2mpm 選項

選項 描述
--version
顯示程式的版本號並離開
-h, --help
顯示本資訊並離開
-?, --usage
印出程式的使用資訊並離開
--tempdir=<tempdir>
工作的暫存目錄
--select-arch=<arch>
為多架構的套件選擇架構(i386 或 SPARC)。
2.1.4.2.1.2. 帶 .mpm 檔案的 rhnpush
Solaris 版 rhnpush 的運作方式和標準的工具程式相似,但多加了處理 .mpm 檔案的能力。以下是使用範例:
% rhnpush -v --server testbox.example.com --username myuser -c solaris-8 \
RHATrpush-3.1.5-*.mpm
 Red Hat Network password:
 Connecting to http://testbox.example.com/APP
 Uploading package RHATrpush-3.1.5-21.sparc-solaris.mpm
 Uploading package RHATrpush-3.1.5-23.sparc-solaris.mpm

注意

升級叢集的 .mpm 檔案必須同步推送或稍晚一點推送,但決不可早於包含在這叢集的 .mpm 檔案。
請對每個您希望透過衛星伺服器管理的套件、升級檔或升級叢集,使用 solaris2mpm。然後使用 Red Hat Network 推送服務,將這些檔案上傳至為它們所建立的頻道中。
2.1.4.2.2. 透過網站升級
要安裝套件或升級檔到獨立系統上,請按下「系統」類別中的系統名稱,從「套件」或「升級」分頁的升級或安裝清單選擇套件,然後按下「安裝/升級所選的套件」。
要在安裝套件時執行遠端指令,請按下「執行遠端指令」,而非「確認」。詳情請參閱〈節 2.1.5, “遠端指令”〉。
要在多台系統上一次安裝套件或升級檔,請選擇系統,按下左方導覽列的「系統設定管理員」。然後在「套件」分頁中,從升級或安裝清單中選擇套件,按下「安裝/升級套件」。要完成這項動作,請排程這些升級。
2.1.4.2.3. rhnsd
在 RHEL 系統上,rhnsd 系統程式(主導客戶端系統登入 Red Hat Network 的程式)在開機時會自動載入。在 Solaris 系統上,rhnsd 程式預設上「不會」被自動載入。它可藉由使用此方式來從指令列啟動:
rhnsd --foreground --interval=240
rhnsd 的預設位置是 /opt/redhat/rhn/solaris/usr/sbin/rhnsd。以下是 Solaris rhnsd 指令的可用選項:

表格 2.3. rhnsd 的選項

選項 描述
-f, --foreground
在背景執行
-i, --interval=MINS
每隔 MINS 分鐘,就連上 Red Hat Network
-v, --verbose
將所有活動紀錄至 syslog
-h, --help
提供本求助清單
-u, --usage
提供本求助清單
-V, --version
印出程式版本
2.1.4.2.4. 從指令列升級
和網站一樣,Red Hat 更新代理程式的指令列運用,會受 UNIX 套件管理的限制所影響。這意味著大部份核心功能還是可以透過 up2date 指令來完成。最顯著的分別是所有有關原始檔的選項都不見了。欲知 UNIX 系統可用的詳細選項清單,請參閱〈表格 2.4, “更新代理程式的指令列引數”〉。
指令列版本的 Red Hat 更新代理程式 在 UNIX 系統上接受以下引數:

表格 2.4. 更新代理程式的指令列引數

引數 描述
--version 顯示程式的版本資訊。
-h--help 顯示本求助訊息後離開。
-v, --verbose 顯示額外的輸出。
-l, --list 列出所有已安裝套件的最新版本。
-p--packages 更新與此系統設定檔相聯的套件。
--hardware 在 Red Hat Network 上,更新此系統的硬體設定檔。
--showall 列出可供下載的所有套件。
--show-available 列出目前尚未安裝的所有可用套件。
--show-orphans 列出目前已安裝、但並未列在系統所訂閱頻道中的套件。
--show-channels 顯示套件名稱時,一併顯示頻道名稱。
--installall 安裝所有可用的套件。與 --channel 搭配使用。
--channel=CHANNEL 透過使用頻道標籤,指定要更新哪些頻道。
--get 下載指定的套件,並且不解析相依性。

2.1.5. 遠端指令

有了 UNIX 的支援以後,Red Hat Network 就能在客戶端系統上,透過衛星伺服器的網站發出遠端指令。此功能能讓您在您網域中的任何系統上,不需要開啟終端機視窗,虛擬地執行任何(相容的)應用程式或程序檔。

2.1.5.1. 啟用指令

此工具的靈活性也伴隨著高風險,以及降低該風險的責任。以實用的角度來看,這項功能會授與任何擁有管理者權限存取該網站的人 root 的 BASH 指令列提示。
然而,這亦能受到控制(透過與使用來判斷哪些系統的配置檔案,能由 Red Hat Network 控制的相同配置機制)。
簡言之,您必須在 UNIX 系統上建立一個目錄與檔案,要求 Red Hat Network 在機器上接受遠端指令的執行。此目錄必須名為 script,檔案名稱必須為 run,同時兩者皆必須位於您 UNIX 版本特屬的 /etc/sysconfig/rhn/allowed-actions/ 目錄中。
以 Solaris 為例,請使用以下指令來建立目錄:
 mkdir -p /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script 
要在 Solaris 建立所需的檔案,請使用以下指令:
 touch /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script/run 

2.1.5.2. 發出指令

您可以用多種方式排程遠端指令:在獨立系統上、在多台系統上一次為之、以及伴隨著套件動作。
要在獨立系統上執行遠端指令,請開啟「系統詳細資料」網頁,按下「遠端指令」子分頁。(請注意這子分頁只有在系統具備【佈建】權利時,才會出現。)請在此網頁中,建立這項指令的設定。您可以指定特定的使用者、群組、timeout 值、以及程序檔。請選擇開始試圖執行這項指令的日期與時間,並按下「排程遠端指令」。
同樣地,您亦可透過「系統設定管理員」,一次性地在多台系統上發出遠端指令。請選擇系統,連上「系統設定管理員」,按下「佈建」分頁,然後將視窗往下拉至「遠端指令」一節。在此您能在多台遠端系統上,一次執行一項遠端指令。
要以套件動作來執行遠端指令,請透過「系統詳細資料」的「套件」分頁,排程這項動作,然後按下「執行遠端指令」,並確認進行這項動作。請使用上方的選擇按鈕,決定該指令要在套件行動前或後執行,建立指令的設定,並按下「排程套件安裝/升級」。
請注意,安裝擁有多個遠端指令的多個套件需要您各別排程這些安裝,或將這些指令結合為一個程序檔。

章 3. Red Hat Satellite 代理伺服器資訊

本節闡述關於搭配 Red Hat Network Package Manager 使用 Red Hat Satellite 代理伺服器的資訊。

3.1. 使用 Red Hat Network Package Manager 來透過 Red Hat Network Proxy 提供本機套件

Red Hat Network Package Manager(套件管理程式)為指令列工具,允許企業組織透過 Red Hat Network Proxy Server(代理伺服器),來提供與私密 Red Hat Network 頻道相聯的本機套件服務。如果您只想為 Red Hat Network Proxy Server 更新 Red Hat 的官方套件,請不要安裝 Red Hat Network Package Manager。
若要使用 Red Hat Network Package Manager,請安裝 spacewalk-proxy-package-manager 與其相依的套件。
只有套件的表頭資訊會上傳至 Red Hat Network 伺服器。Red Hat Network 需要此表頭,好為用戶端系統解決套件的相依性問題。真正的套件檔案(*.rpm)則儲存在 Red Hat Network Proxy Server 上。
Red Hat Network Package Manager 使用的設定與代理伺服器相同,設定定義於 /etc/rhn/rhn.conf 配置檔中。
Red Hat Network Package Manager rhn_package_manager 所有指令列選項的摘要:

表格 3.1. rhn_package_manager 選項

選項 描述
-v, --verbose 顯示更多訊息。
-dDIR, --dir=DIR DIR 目錄處理套件。
-cCHANNEL, --channel=CHANNEL 管理本頻道 - 可以列舉多個項目。
-nNUMBER, --count=NUMBER 每次調用時,處理這個數量的表頭 - 預設值為 32。
-l, --list 列出每個套件名稱、版本號碼、釋出號碼,以及指定頻道的架構。
-s, --sync 檢查本機目錄是否與伺服器同步。
-p, --printconf 列印目前的設定後離開。
-XPATTERN, --exclude=PATTERN 排除與這個表示式相同的檔案 - 可以列舉多個項目。
--newest 僅將指定頻道上,更新過的套件推送到伺服器。
--stdin 從 stdin(標準輸入)讀取套件名稱。
--nosig 推送未獲得數位簽章的套件。就預設值,Red Hat Network Package Manager 只會推送獲得數位簽章的套件。
--username=USERNAME 指定您的 Red Hat Network 使用者名稱。如果您使用了此選項,卻不提供使用者名稱,程式會提示您輸入。
--password=PASSWORD 指定您的 Red Hat Network 密碼。如果您使用了此選項,卻不提供密碼,程式會提示您輸入。
--source 上傳原始碼套件的表頭。
--dontcopy 在傳送之後的步驟中,不要將套件複製到套件樹的最後位置。
--test 只列出即將被推送的套件。
--no-ssl 不建議」- 關閉 SSL。
-?, --usage 簡短地描述選項。
--copyonly 將引數中所列出的檔案複製到指定的頻道中。這對於代理伺服器上的某個頻道少了一個套件,而您不想重新匯入頻道中的所有套件時非常有用。舉例來說,rhn_package_manager-cCHANNEL--copyonly/PATH/TO/MISSING/FILE
-h, --help 顯示求助畫面,列出選項清單。

注意

這些指令列選項也同樣描述於 rhn_package_manager 的 man page 中,指令為:man rhn_package_manager
若要讓 Red Hat Network Package Manager 提供本機套件,請依照以下步驟進行:
  1. 建立私密頻道。
  2. 上傳本機套件到頻道裡。
這些步驟會在下一節中詳細討論。

3.1.1. 建立私密頻道

在本機套件能透過 Red Hat Network 代理伺服器提供給其它系統之前,您必須先建立一個私密頻道以儲存這些套件。請進行以下步驟以建立私密頻道:
  1. 由〈https://rhn.redhat.com〉登入 Red Hat Network 網站介面,或網路中的本機 Red Hat Satellite 伺服器。
  2. 請按下上方導覽列的「頻道」。如果左方導覽列沒有出現「管理頻道」選項,請確認該使用者擁有頻道的編輯權限。請透過上方導覽列的「使用者」類別來進行修改。
  3. 請在左方導覽列中按下「管理軟體頻道」,然後點選網頁右上方的「建立新頻道」按鈕。
  4. 請選擇一個父頻道與基礎頻道的架構,然後輸入新私密頻道的名稱、標籤、摘要、以及描述。頻道標籤必須:至少六個字元,以字母為起始並同時只包含小寫字母、數字、減號(-)以及句點(.)。同時請輸入頻道的 GPG 金鑰之網址。雖然此欄位不是必填的,但我們仍然建議您填入,以加強安全性。至於產生 GPG 金鑰的方法,請參閱《Red Hat Network 頻道管理指南》。
  5. 請點選「建立頻道」。

3.1.2. 上傳套件

注意

您必須是組織管理員,才可以將套件上傳至私密的 Red Hat Network 頻道。程序檔會提示您輸入使用者名稱與密碼。
當建立了私密頻道之後,請將您的 binary 和原始碼 RPM 的套件表頭上傳至 Red Hat Network 伺服器,並將套件複製至 Red Hat Network Proxy Broker 伺服器上。若要上傳二進位 RPM 的套件表頭,請輸入下列指令:
 rhn_package_manager -c "label_of_private_channel" pkg-list
這項指令會上傳套件表頭到所指定的頻道名稱中,同時將套件上傳到 /var/spool/rhn-proxy/rhn
pkg-list 是即將被上傳的套件之清單。您亦可使用 -d 選項來指定包含著將被新增至頻道中的套件的本機目錄。請確保目錄中僅包含需要納入的套件,不包含其它的檔案。Red Hat Network Package Manager 也可從標準輸入(透過使用 --stdin 選項)讀取套件清單。
要上傳原始碼 RPM 的套件表頭:
 rhn_package_manager -c "label_of_private_channel" --source pkg-list
如果您指定了超過一個頻道(使用 -c--channel 選項),上傳的套件表頭會與所有列出的頻道相連接。

注意

如果沒有指定頻道名稱,套件不會被加入任何頻道中。套件可以透過使用 Red Hat Network 網站介面來被新增至頻道中。網站介面也可以用來修改現有的私密頻道。
上傳套件之後,您可以立即檢查 Red Hat Network 的網頁介面,查看這些套件是否已存在。請按下上方導覽列的「頻道」、左方導覽列的「管理軟體頻道」,然後點選自訂頻道的名稱。請按下「套件」子分頁,您應該會看到各個 RPM 都列在其中。
您也可以檢查看看,本機目錄是否與 Red Hat Network 伺服器的頻道映像同步,指令為:
 rhn_package_manager -s -c "label_of_private_channel" 
-s 選項會列出所有遺失的套件(已上傳到 Red Hat Network 伺服器但不存在於本機目錄的套件)。您必須是組織管理員才能執行這項指令。程序檔會提示您輸入 Red Hat Network 的使用者名稱與密碼。
如果您使用 Red Hat Network Package Manager 上傳本機套件,您必須連上 Red Hat Network 網站,讓此系統訂閱私密頻道。

章 4. 自訂套件管理

本章將提供如何建立套件,並透過 Red Hat Network 成功發送的簡介。本章包括的內容有為何要使用 RPM、如何為 Red Hat Network 建立套件、以及如何適當地簽署套件。

4.1. 為 Red Hat Network 建立套件

Red Hat Network 使用「RPM 套件管理員」(RPM)技術,來決定新增的軟體與更新檔要如何套用到用戶端電腦上。從 Red Hat Network 取得的套件通常是 RPM 格式。不過完整的 ISO 映像檔亦可透過 Red Hat Network 網站的「軟體」分頁取得,但不適用於 Red Hat Satellite Server。如果您的 Satellite 支援 Solaris,您可以使用 Red Hat Network Push 來上傳 Solaris 套件,到 Solaris 用戶所使用的自訂頻道。
RPM 這工具為使用者提供簡易的方法,安裝、解除安裝、升級、並驗證軟體套件。它也能讓軟體設計師將原始碼與編譯過的版本包裝起來,給終端使用者與設計師使用。

4.1.1. RPM 的優點

RPM 包含了以下優點:
易於升級
使用 RPM,您就可以升級系統中的獨立元件,而不需要重新安裝。當 Red Hat 釋出 Red Hat Enterprise Linux 的新版本時,使用者不需要為了升級而重裝。RPM 允許智慧型、完全自動、立即可用的系統升級。套件中的設定檔在升級中會被保留,使用者不會失去之前自訂的功能。升級時不需要特別的設定檔,因為安裝與更新套件時,用的 RPM 檔案是一樣的。
套件查詢
RPM 提供的查詢選項能讓您透過整個 RPM 資料庫,搜尋所有可用套件,或是特定檔案。您也可以輕易地找出某個檔案屬於哪個套件、從何而來。包括在套件中的檔案都是以壓縮格式儲存,自訂的二進位表頭包含了有用的套件資訊及其內容。RPM 會快速、輕易地查詢這表頭。
系統驗證
另一個功能是驗證套件。如果您擔心與某個套件相關的檔案已經被刪除,您可以驗證該套件,檢查它所提供的檔案之狀態。這項驗證會告知您任何異常。如果錯誤發生,您可以輕易地重新安裝這些檔案。修改的設定檔在重新安裝過程中,都會被保留。
純淨的原始碼
RPM 的重要設計目標之一,是使用「純淨的」軟體原始碼,讓原始碼從作者手上釋出後都能保持如一。有了 RPM,純淨的原始碼就可以包裝起來,包含任何使用的升級檔,外加完整的建立指示。這是非常重要的優勢,理由非常多。舉例來說,如果一個軟體釋出了新版本,您不需要從頭開始編譯。您可以看看更新部份,決定您「可能」需要作什麼。所有對這軟體作的編譯預設值與變更,藉由這技術都非常的一目瞭然。
讓原始碼保持純淨似乎只對程式設計師很重要,但這對使用軟體的使用者一樣重要。

4.1.2. Red Hat Network RPM 的方針

RPM 的優勢在於其正確定義相依性與衝突的能力。Red Hat Network 依靠 RPM 的這項功能運作。Red Hat Network 提供了一個自動的環境,表示在安裝套件過程中,使用者不需手動干預。因此,在建立透過 Red Hat Network 發送的 RPM 時,請遵循下列規則:
  1. 學習 RPM。對 RPM 的重要功能有著基本的了解,是非常重要的,這可以讓您適當的建立套件。欲知更多 RPM 的詳情,請從以下資源著手:
  2. 當您要為子頻道建立 RPM 時,請在剛安裝好 Red Hat Enterprise Linux 的系統上建立,這系統的版本應與子基礎頻道的相同。請確定先從 Red Hat Network 取得、安裝所有升級。
  3. RPM 套件必須在不使用 --force--nodeps 選項下安裝。如果您無法在您要建立 RPM 的系統上,以乾淨的方式安裝 RPM,Red Hat Network 就無法在系統上自動安裝。
  4. RPM 套件的檔名必須是 NVR 格式(名稱、版本、釋出版本),同時必須包含套件的架構。適當的格式是 name-version-release.arch.rpm。舉例來說,合格的 RPM 套件檔名是 pkgname-0.84-1.i386.rpm,其中名稱是 pkgname,版本是 0.84,釋出版本為 1,架構為 i386
  5. RPM 套件應該由套件的維護者來簽署。未簽署的套件還是可透過 Red Hat Network 來散佈;但 yum 更新程式必須強迫接受這些套件。強烈建議您簽署套件,詳情請參閱〈節 4.2, “Red Hat Network 套件的數位簽章”〉。
  6. 如果套件以任何方式改變過,請將這改變放入簽名中,或重新編譯,這版本或釋出版本必須累進計算。換句話說,透過 Red Hat Network 散佈的每個 RPM 的 NVRA(包含版本)必須反映出一個獨一無二的版本,以避免混淆。
  7. 沒有 RPM 可以自行淘汰。
  8. 如果一個套件被分成多個獨立套件,請特別注意相依性問題。除非您有充份的理由,否則請不要將現有套件分開。
  9. 沒有套件會仰賴互動式的安裝前、安裝後、反安裝前或反安裝後程序檔。如果套件需要使用者的直接干預,那麼它無法與 Red Hat Network 運作。
  10. 任何安裝前、安裝後、反安裝前或反安裝後程序檔都不該將任何東西寫入 stderr 或 stdout。如果需要的話,請將訊息重新導向到 /dev/null。否則的話,請寫入檔案。
  11. 建立 spec 檔案時,請使用 /usr/share/doc/rpm-<version>/GROUPS 的群組定義。如果沒有完全符合的定義,請選一個次好的。
  12. 請使用 RPM 相依性的功能,確定程式在安裝後能正常執行。

重要

不要在安裝後程序檔中,用備份檔案然後再解壓縮的方式建立 RPM。這不是 RPM 的原始用意。
如果備份中的檔案不包括在檔案清單中,就無法驗證或檢查其衝突。在大部份情形下,RPM 會有效地壓縮、解壓縮。舉例來說,您不在 %postun 一節中清除的檔案,就不應該在 %post 中建立。

4.2. Red Hat Network 套件的數位簽章

所有透過 Red Hat Network 發佈的套件都應該擁有「數位簽章」。數位簽章是以獨一無二的私密金鑰所建立,可以透過相關的公開金鑰來驗證。在建立套件之後,SRPM(原始碼 RPM)與 RPM 可以用 GnuPG 金鑰來簽署。在套件安裝之前,公開金鑰會用來驗證套件,這套件是由受信任方所簽署,同時在簽署之後,這套件沒有被修改過。

4.2.1. 產生 GnuPG 金鑰配對

GnuPG 金鑰配對包含了私密與公用金鑰。若要產生金鑰配對:
  1. 以 root 使用者身份在 shell 提示列上輸入下列指令:
    gpg --gen-key
    不應讓非 root 的使用者建立 GPG 金鑰配對。root 使用者可以鎖定記憶體分頁,這表示此訊息永遠不會寫入磁碟中,非 root 的使用者則不然。
  2. 在執行這指令,產生金鑰配對後,您會看到一個簡介畫面,包含金鑰的選項,類似以下:
    gpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    
    Please select what kind of key you want:
       (1) RSA and RSA (default)
       (2) DSA and Elgamal
       (3) DSA (sign only)
       (4) RSA (sign only)
    Your selection?
    
  3. 請選擇選項:(2) DSA and ElGama1。此選項能讓您建立數位簽章,並以兩種技術進行加密 / 解密。請輸入 2,然後按下 Enter
  4. 接下來,請選擇金鑰的大小,也就是金鑰的長度。金鑰愈長,您的訊息就愈能抵抗攻擊。建議您建立長於 2048 位元的金鑰。
  5. 接下來的選項會請您指定金鑰的期限。如果您選擇的一個過期日,請記得通知使用您公開金鑰的人這個過期日,並給予新的金鑰。建議您不要選擇過時日。如果您不選擇過期日,系統會跟您確認這一點:
    Key does not expire at all Is this correct (y/n)?
    
  6. 請按下 y 確認您的決定。
  7. 您接下來的工作是提供一組使用者 ID,包含您的姓名、電子郵件位址、以及選用的註解。每一項東西都要求您分開輸入。當您完成後,您會看到您輸入訊息的摘要。
  8. 一旦您接受這些選擇後,請輸入一組密碼字串。

    注意

    跟您帳號的密碼一樣,好的密碼字串是 GnuPG 最基本的安全防護。請用大小寫字母、數字、以及 / 或標點符號,來組成您的密碼字串。
  9. 在您輸入、驗證了密碼字串後,您的金鑰就會產生。如以下的訊息會出現:
    We need to generate a lot of random bytes. It is a good idea to perform some
    other action (type on the keyboard, move the mouse, utilize the disks)
    during the prime generation; this gives the random number generator a
    better chance to gain enough entropy.
    
    +++++.+++++.++++++++....++++++++++..+++++.+++++.+++++++.+++++++ +++.
    ++++++++++++++++++++++++++++++++++++++..........................++++
    
    當畫面上的動作終止時,您新的金鑰便會被放置在 root 家目錄中的 .gnupg 目錄裡。這是 root 使用者所產生之金鑰的預設位置。
若要列出 root 金鑰,請使用下列指令:
gpg --list-keys
您會看到類似以下的畫面:
gpg: key D97D1329 marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   3  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: next trustdb check due at 2013-08-28
pub   2048D/D97D1329 2013-08-27 [expires: 2013-08-28]
      Key fingerprint = 29C7 2D2A 5F9B 7FF7 6411  A9E7 DE3E 5D0F D97D 1329
uid                   Your Name<you@example.com>
sub   2048g/0BE0820D 2013-08-27 [expires: 2013-08-28]
要讀取您的公開金鑰,請使用以下指令:
gpg --export -a 'Your Name' > public_key.txt
您的公開金鑰會寫入 public_key.txt 檔案。
此公用金鑰非常重要。它必須建置至所有透過 yum 接收自訂軟體的用戶端系統上。在組織中建置此金鑰的技巧皆列在《Red Hat Network 用戶端配置指南》中。

4.2.2. 簽署套件

在您簽署套件前,您必須設定您的 ~/.rpmmacros 檔案,包括以下:
%_signature gpg
%_gpg_name B7085C8A
請以您 GPG 金鑰環中的金鑰 ID,取代 _gpg_name 的值 B7085C8A。這個值會告訴 RPM 要用哪一個簽章。
要簽署套件 package-name-1.0-1.noarch.rpm 套件,請執行以下指令:
rpm --resign package-name-1.0-1.noarch.rpm
輸入您的密碼字串。要確定套件已經簽署,請執行以下指令:
rpm --checksig -v package-name-1.0-1.noarch.rpm

注意

執行 rpm --checksig -v 指令之前,請先匯入 gpg 金鑰。欲取得更多資訊,請參閱下一節中的〈節 4.3, “匯入自訂的 GPG 金鑰”〉。
您應該會看到畫面上出現 Good signature from "Your Name",其中 Your Name 將取代為與此簽署金鑰有關的名稱。

4.3. 匯入自訂的 GPG 金鑰

對於打算建立並安全地發佈他們自己的 RPM 的客戶來說,我們強烈建議所有自訂的 RPM,皆使用 GNU Privacy Guard(GPG)來簽章。產生 GPG 金鑰以及建立 GPG 簽章套件的相關討論涵蓋在〈節 4.2.1, “產生 GnuPG 金鑰配對”〉中。
一旦套件經過簽章過後,公鑰就必須佈署在所有匯入了這些 RPM 的系統上。這項工作含有兩個步驟:首先是為公鑰建立一個中央位置,如此一來客戶端便能對它進行檢索。第二個步驟則是將該金鑰新增至各個系統的本機 GPG 鑰匙圈。
第一步很普遍,並且可透過使用建置 Red Hat Network 客戶端應用程式時,所被建議的網站方式來處理。若要如此,請在網站伺服器上建立一個公用目錄,並將 GPG 公鑰簽章放置在此目錄中:
cp /some/path/YOUR-RPM-GPG-KEY /var/www/html/pub/
接著,金鑰便能由客戶端系統透過使用 wget 來下載:
wget -O- -q http://your_proxy_or_sat.your_domain.com/pub/YOUR-RPM-GPG-KEY
-O- 選項會將結果送至標準輸出,-q 則會將 wget 設為以沉默模式執行。請記得使用您金鑰的檔案名稱來取代 YOUR-RPM-GPG-KEY 這個值。
一旦金鑰在客戶端檔案系統上可用之後,請將它匯入本機 GPG 鑰匙圈之中。不同的作業系統將需要使用不同的方式。
若使用 RHEL 3 或更新的版本,請使用下列指令:
rpm --import /path/to/YOUR-RPM-GPG-KEY
一旦 GPG 金鑰成功地被新增至客戶端之後,系統應該就可驗證簽署了相應金鑰的自訂 RPM。

注意

當使用自訂的 RPM 和頻道時,請總是為這些套件建立自訂的 GPG 金鑰。GPG 金鑰的位置亦必須要加入至 Kickstart 設定檔中。
您必須將自訂 GPG 金鑰附加至客戶端系統上,否則 Kickstart 安裝可能會失敗。

章 5. 疑難排解

本章節所提供的提示能幫助您找出問題的成因,並解決 Red Hat Network 衛星伺服器上常見的問題。如果您需要額外的協助,請至 https://access.redhat.com/support/ 聯絡 Red Hat Network 支援團隊。請以您享有衛星伺服器權利的帳號登入,以檢視完整的選項清單。
若要開始為一般問題進行疑難排解,請檢視與出錯元件相關的日誌檔案,查看是否發生過錯誤。您可以使用 tail -f 指令來檢視所有紀錄檔,然後執行 yum list。您接下來應該檢視所有新的日誌檔案,以找尋線索。
5.1. 磁碟空間
問: 我的磁碟空間很快便用完。發生什麼事了?我該怎麼做呢?
5.2. 安裝和更新
問: 當我嘗試進行安裝時,SELinux 一直顯示訊息。這是為什麼?
問: 我把 /var/satellite 變更為 NFS 掛載目錄之後,SELinux 無法正常運作。我該怎麼做?
問: 我的衛星伺服器失效了。這是為什麼?
5.3. 服務
問: 為何 Apache 網站伺服器無法執行?
問: 如何查詢 Red Hat Network 任務引擎的狀態?
問: 如何查詢衛星伺服器 Embedded Database(內嵌式資料庫)的狀態?
問: 若 Red Hat 衛星伺服器的推送功能停止運作,我該怎麼作?
5.4. 連結性
問: 我無法連線!應該如何找出問題?
問: 如果匯入/同步頻道的過程失敗,並且無法修復,那該怎麼作?
問: 我收到了「SSL_CONNECT」錯誤。應該怎麼作?
5.5. 日誌記錄與報告
問: 有哪些日誌檔案?
問: 如何使用 spacewalk-report?
問: 我該如何判斷資料庫綱要的版本?
問: 我該如何找出字元集類型為何?
問: 為何管理員沒有收到電子郵件?
問: 我該如何更改 traceback 郵件的寄件者?
5.6. 錯誤
問: 我在進行 Red Hat 衛星伺服器的安裝程序時,收到了「驗證衛星伺服器憑證失敗」錯誤,我該如何修正這項錯誤?
問: 當嘗試啟用或同步 Red Hat 衛星伺服器時,我收到了「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。應該如何修正這項問題?
問: 為何 cobbler check 發出了一項錯誤顯示它需要不同版本的 yum-utils?
問: 當我嘗試啟用 Red Hat 衛星伺服器憑證時,我收到了「不支援的版本」這項錯誤。應該如何修正這項問題?
問: 當我嘗試編輯 kickstart 設定檔時,我收到了「內部伺服器錯誤」的 ASCII 錯誤。這是怎麼了?
問: 我收到了「找不到主機」或「無法判斷 FQDN」這些錯誤。我現在應該怎麼作?
問: 當我嘗試同步 Red Hat 衛星伺服器時,我收到了「這部伺服器並非經授權的衛星伺服器」這項錯誤。我應該如何修正這項問題?
5.7. 網站介面
問: 我的 Red Hat Satellite 使用者介面發生了問題。我該檢查哪個日誌檔案?
5.8. Anaconda
問: 我收到了一則 Error downloading kickstart file 的錯誤。產生問題的原因為何?如何解決這項問題?
問: 我收到了套件安裝錯誤,錯誤訊息為 The file chkconfig-1.3.30.1-2.i386.rpm cannot be opened.。產生問題的原因為何?該如何解決這項問題?
5.9. Traceback
問: 我收到了主旨中含有「 WEB TRACEBAK」的電子郵件。我應該怎麼作?
5.10. 註冊
問: 當執行 rhnreg_ks 指令時發生了錯誤,錯誤訊息為 ERROR: unable to read system id。產生問題的原因是?
5.11. Kickstart 和程式碼片段
問: Kickstart 的目錄結構為何?
問: Cobbler 程式碼片段的目錄結構為何?
5.12. Monitoring - 監控
問: 是否有任何診斷工具能夠協助判定 monitoring 錯誤的原因為何?
問: 我該如何詮釋 rhn-runprobe 的輸出?
5.13. 多重組織的衛星伺服器和衛星伺服器憑證
問: 當我的衛星伺服器憑證中沒有足夠的權利時,我該如何在一個多重組織的環境中註冊我的系統?
問: 我的衛星伺服器憑證上擁有尚未使用的額外權利。這些權利怎麼了?
5.14. Proxy 安裝和配置
問: 在配置了 Red Hat Network Package Manager 後,我該如何判定本機套件是否已成功新增至私密的 Red Hat Network 頻道中?
問: 我怎麼知道用戶端是否已連接到了 Squid 伺服器?
問: 用戶端系統上的 Red Hat Update Agent 無法透過 Red Hat Satellite Proxy 連線。我要如何解決這項錯誤呢?
問: 我的 Red Hat Satellite Proxy 配置似乎無法運作。我該從哪裡開始解決問題呢?
問: 我該如何解決 Red Hat Satellite Proxy 中的一般問題?
問: 我的 Red Hat Satellite Proxy 遇上了這項錯誤:「找不到主機」/「無法判斷 FQDN 為何」。我該怎麼做?
問: 我遇上了 Red Hat Satellite Proxy 和網路連線上的問題。我該怎麼做?
問: 我遇上了套件發送與物件損毀的問題。我應該檢查哪個部分?

5.1. 磁碟空間

問:
我的磁碟空間很快便用完。發生什麼事了?我該怎麼做呢?
答:
另一個常見的問題就是磁碟空間滿出。當磁碟空間已滿時,您大概回發現日誌檔不再寫入新資訊。如果紀錄在寫入一半時中止(例如一串字只完成一半),極可能代表已沒有足夠的磁碟空間了。若要進行確認,請執行以下指令,檢查「Use%」欄位的百分比:
# df -h
除了日誌檔之外,您亦可查看 Red Hat 衛星伺服器及其多種元件的狀態。您可透過執行以下指令來這麼作:
# /usr/sbin/rhn-satellite status
除此之外,您亦可獲得各元件的狀態資訊,例如 Apache 網站伺服器與 Red Hat Network 任務引擎。舉例來說,若要檢視 Apache 網站伺服器的狀態,請執行下列指令:
# service httpd status

5.2. 安裝和更新

問:
當我嘗試進行安裝時,SELinux 一直顯示訊息。這是為什麼?
答:
若您在安裝 Red Hat 衛星伺服器時,遇上了任何有關於 SELinux 訊息的問題(例如 AVC 拒絕訊息),請確認您可存取 audit.log 檔案,如此一來 Red Hat 的支援人員便可協助您。您可在 /var/log/audit/audit.log 中找到此檔案,並可將該檔案附加至您的 Support 申請單中,以讓工程人員協助您。
問:
我把 /var/satellite 變更為 NFS 掛載目錄之後,SELinux 無法正常運作。我該怎麼做?
答:
SELinux 參數需根據新的 NFS 掛載變更,如此一來 SELinux 才能允許該流量。請執行這項指令:
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
如果您使用的是 Red Hat Enterprise Linux 6,也須執行此指令:
# /usr/sbin/setsebool -P cobbler_use_nfs on
問:
我的衛星伺服器失效了。這是為什麼?
答:
不要讓您的 Red Hat 衛星伺服器訂閱來自 Red Hat Network 中央伺服器的任何以下子頻道:
  • Red Hat Developer Suite
  • Red Hat Application Server
  • Red Hat Extras
  • JBoss 產品頻道
訂閱這些頻道和更新衛星伺服器,可能會安裝較新但不相容的重大軟體元件,導致衛星伺服器失敗。

5.3. 服務

問:
為何 Apache 網站伺服器無法執行?
答:
若 Apache 網站伺服器沒有在運作,您 /etc/hosts 檔案中的項目可能不正確。
問:
如何查詢 Red Hat Network 任務引擎的狀態?
答:
欲取得 Red Hat Network 任務引擎的狀態,請執行以下指令:
# service taskomatic status
問:
如何查詢衛星伺服器 Embedded Database(內嵌式資料庫)的狀態?
答:
欲取得衛星伺服器 Embedded Database 的狀態(若存在的話),請執行下列指令:
# db-control status
問:
若 Red Hat 衛星伺服器的推送功能停止運作,我該怎麼作?
答:
若 Red Hat 衛星伺服器的推送功能停止運作,那可能是舊的日誌檔案出了問題。在刪除這些檔案之前,請先停止 jabberd daemon。若要進行這項動作,請以 root 身份輸入以下指令:
# service jabberd stop
# rm -f /var/lib/jabberd/db/_db*
# service jabberd start

5.4. 連結性

問:
我無法連線!應該如何找出問題?
答:
以下的方法可用來為一般連線問題進行疑難排解:
  • 使用 /etc/rhn/rhn.conf 中的正確字串,來嘗試使用指令列連接 Red Hat 衛星伺服器的資料庫:
    # sqlplus username/password@sid
  • 確認 Red Hat 衛星伺服器使用了網路時間通訊協定(NTP),並設成了適當的時區。這也適用於所有的用戶端系統,以及在 Red Hat 衛星伺服器(搭配 Stand-Alone Database)中的各別資料庫機器。
  • 確認正確的套件:
    rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm 
    已安裝在 Red Hat 衛星伺服器上,同時相對應的 rhn-org-trusted-ssl-cert-*.noarch.rpm 或原始 CA SSL 公開(客戶端)憑證已安裝至所有用戶端系統上。
  • 確認用戶端系統已經被設定為使用適當的憑證。
  • 若使用一或多個 Red Hat Satellite 代理伺服器,請確保每個代理伺服器的 SSL 憑證皆已正確準備。代理伺服器應安裝了它自己的 SSL 金鑰配對,以及 CA SSL(用戶端)的憑證,因為它需要服務兩方的需要。請參閱《Red Hat Satellite 用戶端配置指南》的 SSL 憑證一章,以尋求特定指示。
  • 請確認用戶端系統未自行使用防火牆,而阻隔其連線所需的連接埠,如《Red Hat Satellite 安裝指南》的〈額外需求〉部分中所述。
問:
如果匯入/同步頻道的過程失敗,並且無法修復,那該怎麼作?
答:
如果匯入/同步頻道的過程失敗,並且您無法以任何方式修復,請執行下列指令以刪除快取:
# rm -rf temporary-directory

注意

Red Hat Satellite 安裝指南》上的〈準備由本機媒介進行匯入〉一節指定了 /var/rhn-sat-import/ 作為暫時性的目錄。
接下來,請重新啟動匯入或同步程序。
問:
我收到了「SSL_CONNECT」錯誤。應該怎麼作?
答:
SSL_CONNECT 是常見的連線問題,這是因為衛星伺服器在安裝時,時間設定不正確。在衛星伺服器的安裝階段,SSL 憑證依照不正確的時間產生。在修正了衛星伺服器的時間之後,此憑證建立的日期與時間可能設為了未來式,造成錯誤。
若要修正這項問題,請使用以下指令,檢查用戶端與衛星伺服器的時間與日期:
# date
所有機器的結果都應該相同,且界於「notBefore」與「notAfter」的憑證期之間。請用下列指令,檢查用戶端憑證的時間與日期。
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
請用下列指令檢查衛星伺服器憑證的日期與時間:
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
就預設值,伺服器的憑證時效為一年,用戶端的憑證為十年。如果您發現憑證不正確,您可以等待有效的開始時間,或建立新的憑證,建議您將所有的系統時間設為 GMT。

5.5. 日誌記錄與報告

問:
有哪些日誌檔案?
答:
幾乎所有疑難排解皆從查看相關日誌檔案開始。這些檔案提供了寶貴的資訊,讓您知道裝置曾經發生過哪些事情,或是查看哪些應用程式造成了效能上的問題,以確保正確的配置。欲取得所有相關設定檔的路徑,請參閱〈表格 5.1, “日誌檔案”〉:
/var/log/rhn/ 目錄中可能會有已編號的日誌檔案(例如 /var/log/rhn/rhn_satellite_install.log.1、/var/log/rhn/rhn_satellite_install.log.2 等等)。這些屬於「循環」日誌,它們會在目前的 rhn_satellite_install.log 檔案填滿至 logrotate(8) daemon 所指定的大小,並且內容寫到循環日誌檔案時所被以 .<NUMBER> 副檔名建立的日誌檔案。比方說,rhn_satellite_install.log.1 包含了最舊的循環日誌檔案,而 rhn_satellite_install.log.4 則包含了最近的循環日誌。

表格 5.1. 日誌檔案

元件/工作 日誌檔案的位置
Apache 網站伺服器 /var/log/httpd/ 目錄
Red Hat 衛星伺服器 /var/log/rhn/ 目錄
Red Hat Satellite 安裝程式 /var/log/rhn/rhn_satellite_install.log
資料庫安裝 - Embedded Database /var/log/rhn/install_db.log
資料庫導入 /var/log/rhn/populate_db.log
Red Hat Satellite 同步工具 /var/log/rhn/rhn_server_satellite.log
監控基礎結構 /var/log/nocpulse/ 目錄
監控通知 /var/log/notification/ 目錄
Red Hat Network DB Control - Embedded Database /var/log/rhn/rhn_database.log
Red Hat Network 任務引擎 (taskomatic) /var/log/messages
yum /var/log/yum.log
XML-RPC 交易 /var/log/rhn/rhn_server_xmlrpc.log
問:
如何使用 spacewalk-report
答:
在某些情況下,系統管理員可能會需要其 Red Hat 衛星伺服器資源的簡明概要,用於編制他們的權利、訂閱系統,或使用者與組織。與其讓衛星伺服器網站介面手動式蒐集這些資訊,Red Hat 衛星伺服器包含了 spacewalk-report 指令,以一次性地蒐集和顯示重要的衛星伺服器資訊。

注意

若要使用 spacewalk-report,您必須安裝 spacewalk-reports 套件。
spacewalk-report 能讓系統管理員管理、顯示衛星伺服器上,有關於內容、系統和使用者資源的報告。當使用 spacewalk-report 時,您可取得這些相關報告:
  • 系統清單 - 列出已註冊至衛星伺服器的所有系統。
  • 權利 - 列出衛星伺服器上的所有組織,並以系統或頻道權利來進行排序。
  • 勘誤 - 列出所有與已註冊的系統相關的勘誤,並以嚴重性以及適用於特定勘誤的系統來排序勘誤。
  • 使用者 - 列出已註冊至衛星伺服器的所有使用者,並列出與特定使用者相聯的任何系統。
  • 系統的歷史紀錄 - 列出全部或部分的系統事件。
要取得 CSV 格式的報表,請在衛星伺服器上執行以下指令。
# spacewalk-report report_name
以下為可使用的報告:

表格 5.2. spacewalk-report 報告

報告 引動為 描述
系統清單 inventory 已註冊至伺服器的系統,以及其硬體與軟體資訊。
權利 entitlements 列出衛星伺服器上所有組織,以及其系統或頻道權利。
頻道中的勘誤 errata-channels 列出頻道中的勘誤
所有勘誤 errata-list-all 所有勘誤的完整清單。
系統勘誤 errata-systems 列出可用的勘誤,以及任何受影響的已註冊系統。
系統中的使用者 users 列出所有已註冊至衛星伺服器的使用者。
已管理的系統 users-systems 列出可以由各別使用者管理的系統
Kickstart 安裝樹 kickstartable-trees 列出可以 kickstart 的樹
系統的歷史紀錄 system-history 列出系統的事件記錄
系統的歷史紀錄─頻道 system-history-channels 列出系統的事件記錄
系統的歷史紀錄─配置 system-history-configuration 列出系統配置事件的歷史紀錄
系統的歷史事件─權利 system-history-entitlements 列出系統權利事件的歷史紀錄
系統的歷史紀錄─勘誤 system-history-errata 列出系統勘誤事件的歷史紀錄
系統歷史紀錄的 kickstart system-history-kickstart 列出系統 kickstart 與佈建事件的歷史紀錄
系統的歷史紀錄─套件 system-history-packages 列出系統套件事件的歷史紀錄
欲取得各別報告上的相關資訊,請執行 spacewalk-report 搭配 --info--list-fields-info 以及報告名稱。報告中的描述與其欄位將會被顯示。
欲取得更多資訊,spacewalk-report(8) manpage 與 spacewalk-report 程式的 --help 參數,皆可被使用來取得有關於該程式的執行,以及其選項上的額外資訊。
問:
我該如何判斷資料庫綱要的版本?
答:
若要判斷您資料庫綱要的版本,請執行以下指令:
# rhn-schema-version
問:
我該如何找出字元集類型為何?
答:
要辨別您衛星伺服器資料庫的字元集,請執行以下指令:
# rhn-charsets
問:
為何管理員沒有收到電子郵件?
答:
如果管理員無法從 Red Hat 衛星伺服器獲得電子郵件,請確定 /etc/rhn/rhn.conf 檔案中的 traceback_mail 設置了正確的電子郵件位址。
問:
我該如何更改 traceback 郵件的寄件者?
答:
如果 traceback 郵件是由 dev-null@rhn.redhat.com 所標記,而您希望您組織能使用該位址,請將 web.default_mail_from 選項與適當的值包含在 /etc/rhn/rhn.conf 中。

5.6. 錯誤

問:
我在進行 Red Hat 衛星伺服器的安裝程序時,收到了「驗證衛星伺服器憑證失敗」錯誤,我該如何修正這項錯誤?
答:
進行 Red Hat 衛星伺服器的安裝程序時所發生的「驗證衛星伺服器憑證失敗」這項錯誤,是因為環境中含有 HTTP 代理伺服器所產生的。這可透過查看 install.log 檔案,並找出下列錯誤來進行確認:
ERROR: unhandled exception occurred:
Traceback (most recent call last):
  File "/usr/bin/rhn-satellite-activate", line 45, in ?
    sys.exit(abs(mod.main() or 0))
  File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 585, in main
    activateSatellite_remote(options)
  File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 291, in activateSatellite_remote
    ret = s.satellite.deactivate_satellite(systemid, rhn_cert)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 603, in __call__
    return self._send(self._name, args)
  File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 326, in _request
    self._handler, request, verbose=self._verbose)
  File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 171, in request
    headers, fd = req.send_http(host, handler)
  File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 698, in send_http
    self._connection.connect()
  File "/usr/lib/python2.4/site-packages/rhn/connections.py", line 193, in connect
    sock.connect((self.host, self.port))
  File "<string>", line 1, in connect
socket.timeout: timed out
若要解決此問題:
  1. 請在離線模式下執行安裝 script,並跳過先前已完成的資料庫安裝程序:
    # ./install.pl --disconnected --skip-db-install
    
  2. 請以您偏好使用的文字編輯器開啟 /etc/rhn/rhn.conf,並新增或修改下列一行:
    server.satellite.rhn_parent = satellite.rhn.redhat.com
    
    移除這一行:
    disconnected=1
    
    若您使用代理伺服器連至 Red Hat Network 衛星伺服器,您也將會需要新增或修改以下幾行,以反映代理伺服器的設定。
    server.satellite.http_proxy = <hostname>:<port>
    server.satellite.http_proxy_username = <username>
    server.satellite.http_proxy_password = <password>
    
  3. 重新將衛星伺服器啟動在連線模式中,請以 root 使用者身份來使用 rhn-satellite-activate 指令,包括衛星伺服器憑證的路徑與檔案名稱:
    # rhn-satellite-activate --rhn-cert=/path/to/file.cert
此外,請嘗試在連線模式下執行 install.pl script,並使用 --answer-file=answer file 選項。請確認自動安裝檔的 HTTP 代理伺服器資訊指定如下:
rhn-http-proxy = <hostname>:<port>
rhn-http-proxy-username = <username>
rhn-http-proxy-password = <password>
問:
當嘗試啟用或同步 Red Hat 衛星伺服器時,我收到了「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。應該如何修正這項問題?
答:
/etc/rhn/rhn.conf 中的 mount_point 配置檔案沒有指向一個目錄路徑,或是它所指向的目錄路徑不存在,或沒有存取該目錄的權限的話,進行 Red Hat 衛星伺服器啟用或同步時,便可能會發生「錯誤:配置檔案中尚未設置 server.mount_point」這項錯誤。
若要解決這項問題,請檢查 /etc/rhn/rhn.conf 中,mount_point 配置參數的值。若它設為了 /var/satellite 的預設值,請驗證 /var/satellite/var/satellite/redhat 目錄是否存在。對於其它所有的值,請檢查檔案的路徑是否正確,並且權限的設置是否正確。
問:
為何 cobbler check 發出了一項錯誤顯示它需要不同版本的 yum-utils
答:
有時候,執行 cobbler check 指令會產生類似以下的錯誤:
# cobbler check
The following potential problems were detected:
#0: yum-utils need to be at least version 1.1.17 for reposync -l, current version is 1.1.16
這是 Cobbler reposync 套件中的已知問題。這項錯誤是假性的,可以忽略。這項錯誤在未來的 Red Hat 衛星伺服器版本中將會修正。
問:
當我嘗試啟用 Red Hat 衛星伺服器憑證時,我收到了「不支援的版本」這項錯誤。應該如何修正這項問題?
答:
若您的 Red Hat 衛星伺服器憑證已損毀,您可能會看見下列錯誤:
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 96'>
RHN_PARENT: satellite.rhn.redhat.com
     Error reported from RHN: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
     ERROR: unhandled XMLRPC fault upon remote activation: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
     ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
Invalid satellite certificate
若要解決這項問題,請聯絡 Red Hat 支援服務,以取得新的憑證。
問:
當我嘗試編輯 kickstart 設定檔時,我收到了「內部伺服器錯誤」的 ASCII 錯誤。這是怎麼了?
答:
若您最近新增了某些 kernel 參數至您的 kickstart 設定檔,您可能在嘗試「檢視 Kickstart 設定檔清單」時,會看見下列內部伺服器錯誤:
'ascii' codec can't encode character u'\u2013'
這項錯誤發生的原因,是因為設定檔中可能有無法正確辨識的文字。
若要解決此問題:
  1. 請以 root 使用者身份直接 SSH 入衛星伺服器中:
    # ssh root@satellite.fqdn.com
    
  2. 請藉由查看 /var/lib/cobbler/config/profiles.d 中的檔案日期,並找出最近編輯過的檔案,以找出造成問題的 kickstart 設定檔:
    # ls -l /var/lib/cobbler/config/profiles.d/
    
  3. 請在您偏好的文字編輯器中開啟設定檔,並找出下列文字:
    \u2013hostname
    
    請將項目更改為:
    --hostname
    
  4. 儲存變更並將檔案關閉。
  5. 請重新啟用 Red Hat 衛星伺服器服務,以套用更新過後的設定檔:
    # rhn-satellite restart
    Shutting down rhn-satellite...
    Stopping RHN Taskomatic...
    Stopped RHN Taskomatic.
    Stopping cobbler daemon:                                   [  OK  ]
    Stopping rhn-search...
    Stopped rhn-search.
    Stopping MonitoringScout ...                               [  OK  ]
    Stopping Monitoring ...                                    [  OK  ]
    Stopping httpd:                                            [  OK  ]
    Stopping tomcat5:                                          [  OK  ]
    Shutting down osa-dispatcher:                              [  OK  ]
    Shutting down Oracle Net Listener ...                      [  OK  ]
    Shutting down Oracle DB instance "rhnsat" ...              [  OK  ]
    Shutting down Jabber router:                               [  OK  ]
    Done.
    Starting rhn-satellite...
    Starting Jabber services                                   [  OK  ]
    Starting Oracle Net Listener ...                           [  OK  ]
    Starting Oracle DB instance "rhnsat" ...                   [  OK  ]
    Starting osa-dispatcher:                                   [  OK  ]
    Starting tomcat5:                                          [  OK  ]
    Starting httpd:                                            [  OK  ]
    Starting Monitoring ...                                    [  OK  ]
    Starting MonitoringScout ...                               [  OK  ]
    Starting rhn-search...
    Starting cobbler daemon:                                   [  OK  ]
    Starting RHN Taskomatic...
    Done.
    
  6. 返回至網站介面。請注意,此介面可能會花上一段時間解析服務。一段時間過後便應恢復正常。
問:
我收到了「找不到主機」或「無法判斷 FQDN」這些錯誤。我現在應該怎麼作?
答:
由於 Red Hat Network 的配置檔案完全獨立依靠 FQDN 來運作,因此主要應用程式必須要能將 Red Hat 衛星伺服器的名稱解析為 IP 位址。Red Hat 更新代理程式Red Hat Network 註冊用戶端和 Apache 網站伺服器皆特別容易受這項問題影響(當無法啟動時,Red Hat Network 應用程式會發出「找不到主機」的錯誤,並且網站伺服器則會出現「無法判斷伺服器的 FQDN」)。
這項問題一般源於 /etc/hosts 檔案。您可藉由檢視 /etc/nsswitch.conf 來確認,並藉此看出網域名稱解析的方式與次序。通常會先檢查 /etc/hosts,然後是 NIS(Network Information Service,如果有的話),最後是 DNS。這三項的其中一項必須成功,Apache 網站伺服器才能啟動,RHN 的用戶端應用程才能運作。
要解決這個問題,請參閱 /etc/hosts 檔案的內容。它看起來可能如下:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
首先,請在文字編輯器中,移除錯誤的機器資訊,例如:
127.0.0.1 localhost.localdomain.com localhost
然後,請儲存檔案,並嘗試重新執行 RHN 用戶端應用程式或 Apache 網站伺服器。若依然失敗,請直接在檔案中指定衛星伺服器的 IP 位址,例如:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
請以衛星伺服器實際的 IP 位址取代這個值。如此應該就能解決這項問題。請記得,如果您已經律定了特定的 IP 位址,當機器獲得新的 IP 位址時,請更新此檔案。
問:
當我嘗試同步 Red Hat 衛星伺服器時,我收到了「這部伺服器並非經授權的衛星伺服器」這項錯誤。我應該如何修正這項問題?
答:
satellite-sync 回報伺服器尚未作為 Red Hat 衛星伺服器啟用的話,這部伺服器便尚未向相應的 Red Hat 衛星伺服器頻道訂閱。若這是部新安裝的系統,那麼系統上的衛星伺服器憑證可能尚未啟用。若它先前已啟用的話,那麼則代表它已被停用。
檢查系統的子頻道,看看是否訂閱了 Red Hat 衛星伺服器頻道。請以以下指令檢視已訂閱的頻道:
# yum repolist
請以 root 使用者身份輸入這項指令,以再次在您的衛星伺服器上啟用相同的衛星伺服器憑證:
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate

5.7. 網站介面

問:
我的 Red Hat Satellite 使用者介面發生了問題。我該檢查哪個日誌檔案?
答:
若您在 Red Hat Satellite 使用者介面中發生了檢視、排程,或使用 kickstart 上的錯誤,請檢查 /var/log/tomcat6/catalina.out 日誌檔案。
有關於所有其它使用者介面錯誤,請檢查 /var/log/httpd/error_log 日誌檔案。

5.8. Anaconda

問:
我收到了一則 Error downloading kickstart file 的錯誤。產生問題的原因為何?如何解決這項問題?
答:
這項錯誤一般是因為網路問題所產生。若要找出問題,請執行 cobbler check 指令,並查看輸出,輸出會看似:
# cobbler check
The following potential problems were detected:
#0: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils?
#1: yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils?
#2: The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed
#3: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them
cobbler check 未提供任何答案,請檢查:
  • 驗證 httpd 是否運作中:service httpd status
  • 驗證 cobblerd 是否運作中:service cobblerd status
  • 驗證您是否能夠由不同主機使用 wget,以取得 kickstart 檔案:
    wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
問:
我收到了套件安裝錯誤,錯誤訊息為 The file chkconfig-1.3.30.1-2.i386.rpm cannot be opened.。產生問題的原因為何?該如何解決這項問題?
答:
客戶端將會根據包含在 kickstart 中的 --url 參數來由 Red Hat Satellite 取得內容。例如:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
若您收到了來自於 Anaconda 的錯誤,顯示它找不到映像檔或套件,檢查 kickstart 中的 URL 是否會產生一則 200 OK 回應。您可藉由嘗試 wget 位於該 URL 的檔案來這麼作:
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
--2011-08-19 15:06:55--  http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
Resolving satellite.example.com... 10.10.77.131
Connecting to satellite.example.com|10.10.77.131|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/plain]
Saving to: `ks-rhel-i386-server-5-u3.1'
2011-08-19 15:06:55 (0.00 B/s) - `ks-rhel-i386-server-5-u3.1' saved [0/0]
若您收到了 200 OK 以外的回應的話,請檢查錯誤紀錄,以找出問題。您亦可透過搜尋 access_log 檔案,以檢查 Anaconda 嘗試下載的實際檔案:
# grep chkconfig /var/log/httpd/access_log
10.10.77.131 - - [19/Aug/2011:15:12:36 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server-
5-u3/Server  /chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19"
10.10.76.143 - - [19/Aug/2011:15:12:36 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-
1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19"
10.10.76.143 - - [19/Aug/2011:15:14:20 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-
1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19"
10.10.77.131 - - [19/Aug/2011:15:14:20 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server-
5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19"
若這些請求沒有出現在 access_log 檔案中,系統的網路作業設定可能有問題。若請求有出現,不過卻產生了錯誤,請檢查錯誤紀錄。
您亦可嘗試手動式下載這些檔案,以查看套件是否可使用:
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm

5.9. Traceback

問:
我收到了主旨中含有「 WEB TRACEBAK」的電子郵件。我應該怎麼作?
答:
典型的 traceback 電子郵件可能會看似:
Subject: WEB TRACEBACK from satellite.example.com
Date: Wed, 19 Aug 2011 20:28:01 -0400
From:Red Hat Satellite <dev-null@redhat.com>
To: admin@example.com

java.lang.RuntimeException: XmlRpcException calling cobbler.
	at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:72)
	at com.redhat.rhn.taskomatic.task.CobblerSyncTask.execute(CobblerSyncTask.java:76)
	at com.redhat.rhn.taskomatic.task.SingleThreadedTestableTask.execute(SingleThreadedTestableTask.java:54)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: redstone.xmlrpc.XmlRpcException: The response could not be parsed.
	at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:434)
	at redstone.xmlrpc.XmlRpcClient.endCall(XmlRpcClient.java:376)
	at redstone.xmlrpc.XmlRpcClient.invoke(XmlRpcClient.java:165)
	at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:69)
	... 4 more
Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://someserver.example.com:80/cobbler_api
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1236)
	at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:420)
	... 7 more
這顯示了 Cobbler 和 taskomatic 服務的通訊之間發生了問題。請檢查:
  • 驗證 httpd 是否運作中:# service httpd status
  • 驗證 cobblerd 是否運作中:# service cobblerd status
  • 驗證是否有會造成 localhost 連線失效的防火牆規則

5.10. 註冊

問:
當執行 rhnreg_ks 指令時發生了錯誤,錯誤訊息為 ERROR: unable to read system id。產生問題的原因是?
答:
在 kickstart 最後有個 %post 部份,這會使您的機器向 Red Hat Satellite 註冊:
# begin Red Hat management server registration
mkdir -p /usr/share/rhn/
wget http://satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
perl -npe 's/RHNS-CA-CERT/RHN-ORG-TRUSTED-SSL-CERT/g' -i /etc/sysconfig/rhn/*
rhnreg_ks --serverUrl=https://satellite.example.com/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --activationkey=1-c8d01e2f23c6bbaedd0f6507e9ac079d
# end Red Hat management server registration
依照加入的順序來編譯它,這將會:
  • 建立一個目錄以存放 Red Hat Satellite 所使用的自訂 SSL 憑證。
  • 擷取欲在進行註冊時使用的 SSL 憑證。
  • 這會按照順序建立一個目錄,以存放 Red Hat Satellite 所使用的自訂 SSL 憑證、取得 SSL 憑證以使用於註冊時、搜尋並取代來自於 rhn-register 配置檔案的 SSL 憑證字串,並透過使用 SSL 憑證和啟動金鑰來向 Red Hat Satellite 註冊。所有的 kickstart 設定檔皆包含了一組啟動金鑰,這組金鑰可確保系統已被分配了正確的基礎頻道和子頻道,並且取得了正確的系統權利。若是要重新佈建既有的系統,啟動金鑰也會確認這部系統是否與先前的系統設定檔相聯。
rhnreg_ks 指令失敗的話,您可能會在 ks-post.log 日誌檔案中看見類似以下的錯誤顯示:
ERROR: unable to read system id.
若您嘗試執行一項 rhn_check,並且系統尚未向 Red Hat Satellite 註冊的話,這些錯誤便會發生。
針對於此的最佳疑難排解方式,就是檢視 kickstart 檔案,並在 kickstart 完成後,將上述的四個步驟複製至指令提示列中。這會產生有幫助的錯誤訊息,以協助您找出發生了甚麼問題。

5.11. Kickstart 和程式碼片段

問:
Kickstart 的目錄結構為何?
答:
儲存 kickstart 檔案的基礎路徑為 /var/lib/rhn/kickstarts/。在此目錄中,原生(非精靈產生)的 kickstart 位於 upload 子目錄中,而由精靈所產生的 kickstart 則位於 wizard 子目錄中:
Raw Kickstarts: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg
Wizard Kickstarts: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
問:
Cobbler 程式碼片段的目錄結構為何?
答:
Cobbler 的程式碼片段儲存在 /var/lib/rhn/kickstarts/snippets 中。Cobbler 會透過使用符號連結 /var/lib/cobbler/snippets/spacewalk 來存取程式碼片段。
Snippets:  /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name

重要

Red Hat Satellite 的 RPM 會預期 Cobbler kickstart 和程式碼片段目錄位於它們的預設位置上,請勿更改這些位置。

5.12. Monitoring - 監控

問:
是否有任何診斷工具能夠協助判定 monitoring 錯誤的原因為何?
答:
雖然所有 Monitoring 相關的活動皆會透過衛星伺服器介面完成,Red Hat 亦提供了一些指令列的診斷工具,幫助您找出錯誤的原因。若要使用這些工具,您必須成為進行監控的衛星伺服器上的 nocpulse 使用者。
首先以 root 身份登入衛星伺服器。然後透過以下指令切換為 nocpulse 身份:
su - nocpulse
要徹底針對一項偵測活動進行疑難排解,您必須先知道偵測 ID。您可以在 Red Hat Satellite 伺服器上,用 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,最後一項就是偵測的名稱(跟衛星伺服器介面所輸入的一樣)。舉例來說,偵測 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-runprobe 使用它來檢查偵測的輸出。
問:
我該如何詮釋 rhn-runprobe 的輸出?
答:
您用 rhn-catalog 獲得了偵測 ID,接下來就可以結合 rhn-runprobe 來檢視完整的偵測結果。請注意,預設上 rhn-runprobe 能在測試模式下運作,這表示任何結果都不會傳到資料庫上。以下是其選項:

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

5.13. 多重組織的衛星伺服器和衛星伺服器憑證

問:
當我的衛星伺服器憑證中沒有足夠的權利時,我該如何在一個多重組織的環境中註冊我的系統?
答:
在某些情況下您會需要釋出可用的權利,卻沒有很多時間讓您這麼作,並且您可能沒有各個組織的存取權限以便自行釋出。Multi-Org 衛星伺服器中有個選項能讓衛星伺服器管理員將某個組織的權利遞減為比它們的使用量還要低的數量。此方式只能透過登入管理組織才可進行。
比方說,當您登入管理組織之後,若您的憑證為 5 部系統的管理權利,不過卻無法涵蓋您衛星伺服器上所有已註冊的系統的話,那麼最近註冊至該組織的 5 部系統的權利就會被移除。這項程序如下:
  1. 請在 /etc/rhn/rhn.conf 檔案中,將 web.force_unentitlement 設為 1。
  2. 重新啟用衛星伺服器。
  3. 您可透過各個組織的「訂閱」分頁,或透過各別權利的「組織」分頁,來減少分配給組織的權利。
  4. 組織中現在應該已有幾部系統已成為「unentitled」(無權利)狀態。在組織中成為無權利的系統數量,應與您由組織移除的權利總數量,和組織並未套用至系統的權利數量之間的差距相同。
    比方說,若您在步驟 3 時由組織中移除了 10 個權利的話,而該組織擁有 4 個系統並未使用中的權利,那麼組織中就會有 6 部系統會成為 unentitled(無權利)狀態。
當您擁有足夠的權利數量時,您就應該能夠啟用您新的衛星伺服器憑證。請注意,只有要將組織被分配的權利遞減為該組織所使用的權利數量之下時才需要修改 web.force_unentitlement 變數。若某個組織擁有比正在使用中的權利還要多的權利數量,您無須設置此變數來將它們移除。
問:
我的衛星伺服器憑證上擁有尚未使用的額外權利。這些權利怎麼了?
答:
若您被提供了一個新的衛星伺服器憑證並且它擁有比您在您的衛星伺服器上所使用的權利還要多的權利數量,任何額外的權利都會被分配至管理組織中。若您以衛星伺服器管理員身份登入網站介面,您便能夠將這些權利分配給其它組織。先前分配給其它組織的權利將不會受到影響。

5.14. Proxy 安裝和配置

問:
在配置了 Red Hat Network Package Manager 後,我該如何判定本機套件是否已成功新增至私密的 Red Hat Network 頻道中?
答:
請使用 rhn_package_manager -l -c "name_of_private_channel" 指令來列出衛星伺服器已知的私密頻道套件,或請使用衛星伺服器的網站介面。
在讓已註冊系統訂閱私密頻道後,您也可以在已註冊的系統上執行 yum --disablerepo="*" --enablerepo="your_repo_name" list available,來從私密的衛星伺服器頻道中尋找套件。
問:
我怎麼知道用戶端是否已連接到了 Squid 伺服器?
答:
/var/log/squid/access.log 日誌檔案保存了連上 Squid 伺服器的所有連線紀錄。
問:
用戶端系統上的 Red Hat Update Agent 無法透過 Red Hat Satellite Proxy 連線。我要如何解決這項錯誤呢?
答:
請確定用戶端系統上已安裝了最新版的 Red Hat Update Agent。最新版本包含了透過 Red Hat Satellite Proxy 連線的所需功能。最新版本可透過以 root 身份使用 yum update yum 指令或由 http://www.redhat.com/support/errata/ 網址,透過 Red Hat Network 取得。
Red Hat Satellite Proxy 是 Apache 的延伸部分。請參閱《Red Hat Satellite Proxy 安裝指南》的〈日誌檔案〉部分,以取得其日至檔案位置。
問:
我的 Red Hat Satellite Proxy 配置似乎無法運作。我該從哪裡開始解決問題呢?
答:
請確定 /etc/sysconfig/rhn/systemid 的所有權設定為 root.apache,並且權限為 0640。
請參閱日誌檔案。《Red Hat Satellite Proxy 安裝指南》的〈日誌檔案〉部分中有個可用清單。
問:
我該如何解決 Red Hat Satellite Proxy 中的一般問題?
答:
要對一般性問題開始進行疑難排解,請檢視出問題元件相關的日誌檔案或檔案。
有個常見的問題,那就是「磁碟空間已滿」。此問題的徵兆就是日誌檔案無法繼續記載新資料。如果日誌檔案在寫入中途中斷,例如一個字沒寫完,您的磁碟空間很有可能已經滿了。若要確認這一點,請執行下列指令,並檢查 Use% 欄位的百分比:
df -h
除了日誌檔案以外,您可以從您多種元件的狀態中,取得寶貴的資訊。這對 Apache 網站伺服器與 Squid 來說都很有用。
若要取得 Apache 網站伺服器的狀態,請執行以下指令:
service httpd status
若要取得 Squid 的狀態,請執行以下指令:
service squid status
如果管理員無法從 Red Hat Satellite Proxy 獲得電子郵件,請確定 /etc/rhn/rhn.conf 檔案中的 traceback_mail 設置了正確的電子郵件位址。
問:
我的 Red Hat Satellite Proxy 遇上了這項錯誤:「找不到主機」/「無法判斷 FQDN 為何」。我該怎麼做?
答:
由於 Red Hat Network 的配置檔案完全獨立依靠 FQDN 來運作,因此主要應用程式必須要能將 Red Hat Satellite Proxy 的名稱解析為 IP 位址。Red Hat 更新代理程式、Red Hat Network 註冊用戶端和 Apache 網站伺服器皆特別容易受這項問題影響(當無法啟動時,Red Hat Network 應用程式會發出「找不到主機」的錯誤,並且網站伺服器則會出現「無法判斷伺服器的 FQDN」)。
這項問題一般源於 /etc/hosts 檔案。請藉由檢視 /etc/nsswitch.conf 來確認,並藉此看出網域名稱解析的方式與次序。通常會先檢查 /etc/hosts 檔案,然後是 NIS(Network Information Service,如果有使用的話),最後則是 DNS。這三項的其中一項必須成功,Apache 網站伺服器才能啟動,而 Red Hat Network 的用戶端應用程式才能運作。
要解決這個問題,請參閱 /etc/hosts 檔案的內容。它看起來可能如下:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
在文字編輯器下,從檔案中移除主機資訊。看起來類似:
127.0.0.1 localhost.localdomain.com localhost
然後,請儲存檔案,並嘗試重新執行 Red Hat Network 用戶端應用程式或 Apache 網站伺服器。若依然失敗,請直接在檔案中指定衛星伺服器的 IP 位址,例如:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
請將這裡的值取代為代理伺服器的真實 IP 位址。這應該可以解決問題。請記得,如果特定的 IP 位址是規定好的,在機器取得新位址的時候,您需要更新這檔案。
問:
我遇上了 Red Hat Satellite Proxy 和網路連線上的問題。我該怎麼做?
答:
如果您遇到了問題,並且相信這與連線失敗有關,請採取以下措施:
  • 確認正確的套件:
     rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm 
    已安裝在 Red Hat Satellite Proxy 上,同時相對應的 rhn-org-trusted-ssl-cert-*.noarch.rpm 或原始 CA SSL 公開(客戶端)憑證已安裝至所有用戶端系統上。
  • 確認用戶端系統已經被設定為使用適當的憑證。
  • 如果您使用了一或多台 Red Hat Satellite Proxy,請確定每台代理伺服器的 SSL 憑證都已正確地準備好。如果您結合了 Red Hat Satellite Proxy 與 Red Hat Satellite,代理伺服器應該安裝了其伺服器的 SSL 金鑰配對,以及 CA SSL 公共(用戶端)憑證,因為它必須為雙方提供服務。詳情請參閱《Red Hat Satellite 用戶端配置指南》。
  • 如果 Red Hat Satellite Proxy 透過 HTTP 代理伺服器來連線的話,請確定列出的網址是正確的。舉例來說,HTTP 代理伺服器的 URL 欄位不應該包括通訊協定的參照(例如 http:// 或 https://)。您應該只包含主機名稱與通訊埠,格式為 hostname:port(例如 your-gateway.example.com:8080)。
  • 請確認用戶端系統未自行使用防火牆,而阻隔其連線所需的連接埠,如《Red Hat Satellite Proxy 安裝指南》的〈額外需求〉部分中所述。
問:
我遇上了套件發送與物件損毀的問題。我應該檢查哪個部分?
答:
如果套件發送失敗,或一個物件損毀,同時這又與連線錯誤無關,那麼您應該考慮清除快取。Red Hat Satellite Proxy 有兩個您應該注意的快取:一個是 Squid 的快取,另一個則是認證用的快取。
Squid 快取位於 /var/spool/squid/。要清除快取:
  1. 停止 Apache 網站伺服器:service httpd stop
  2. 停止 Squid 伺服器:service squid stop
  3. 刪除該目錄的內容:rm -fv /var/cache/rhn/*
  4. 重新啟動兩項服務:
    service squid start
    service httpd start
    
您可以直接清除目錄、重新啟動 squid,這樣速度更快;但這方法很有可能會造成 Red Hat Network 回溯錯誤的訊息。
您也可能需要清除代理伺服器認證所使用的內部快取機制。要清除此快取,請使用以下指令:
 rm -fv /var/cache/rhn/* 

注意

如果這些疑難排解的方法皆無效,或是您想將問題留給 Red Hat Network 的專家,Red Hat 建議您善用 Red Hat 衛星伺服器最高等級的支援。最有效率的方式,就是將衛星伺服器的配置參數、日誌檔案、以及資料庫資料集結在一起,並直接將此套件寄給 Red Hat。
RHN 為此目的提供了指令列工具:衛星伺服器診斷資訊蒐集程式,指令為 satellite-debug。若要使用這工具,請以 root 身份執行這項指令。您將會看見所有資訊,以及單一壓縮檔,例如:
# satellite-debug
Collecting and packaging relevant diagnostic information.
Warning: this may take some time...
    * copying configuration information
    * copying logs
    * querying RPM database (versioning of Red Hat Satellite, etc.)
    * querying schema version and database character sets
    * get diskspace available
    * timestamping
    * creating tarball (may take some time): /tmp/satellite-debug.tar.bz2
    * removing temporary debug tree

Debug dump created, stored in /tmp/satellite-debug.tar.bz2
Deliver the generated tarball to your Red Hat Network contact or support channel.
完成後,請將此新檔案由 /tmp/ 目錄寄給您的 Red Hat 代表,以立即進行診斷。
此外,Red Hat 提供了一項稱為 SoS Report 的指令列工具,一般亦稱為 sosreport 指令。此工具會集中您 Proxy 的配置參數、日誌檔案,和資料庫資訊,並直接將它傳送給 Red Hat。
若要使用此工具來取得 Red Hat 衛星伺服器的資訊,您必須先安裝 sos 套件。請在衛星伺服器上以 root 身份輸入 sosreport -o rhn,以建立一份報告。例如:
[root@satserver ~]# sosreport -o rhn

sosreport (version 1.7)

This utility will collect some detailed  information about the
hardware and  setup of your  Red Hat Enterprise Linux  system.
The information is collected and an archive is  packaged under
/tmp, which you can send to a support representative.
Red Hat will use this information for diagnostic purposes ONLY
and it will be considered confidential information.

This process may take a while to complete.
No changes will be made to your system.

Press ENTER to continue, or CTRL-C to quit.
接著您將會被提示輸入您的名與姓,以及一組支援案例號碼(亦稱為問題追蹤號碼)。
系統產生並將報告封存為壓縮檔案可能會花上數分鐘。當完成後,請將新的檔案由 /tmp/ 目錄,透過電子郵件傳送給您的 Red Hat 業務代表,以進行即時的診斷。

附錄 A. Probe - 偵測

您可以持續偵測擁有 Monitoring 權利的系統之狀態與運作程度。本索引以指令群組(例如 Apache)來分類,列出可用的偵測。
許多偵測會監控系統的內部狀態(例如 Linux::Disk Usage 偵測),而非外部狀態(例如 Network Services::SSH 偵測)的元件,這需要安裝 Red Hat Network Monitoring Daemon(rhnmd)。此需求在各別偵測的參考資料中會附註出來。
這部分中的每項偵測皆有其參考資料,以標示必須填入的欄位(以 * 表示)、預設值、以及用來啟動警示的門檻值。同樣,每個指令群組的起始,皆包含該群組可用的資訊。〈節 A.1, “偵測的準則”〉包括了一般綱要;其它章節則檢視了各別的偵測。

注意

幾乎所有的偵測都使用 Transmission Control Protocol(TCP)通訊協定。不使用 TCP 通訊協定的偵測,會在各別偵測的參考資料中進行備註。

A.1. 偵測的準則

以下的一般指引能告訴您每個偵測狀態的意義,並提供為偵測設定門檻值的指引。
以下清單提供了簡短的描述,列出每個偵測狀態的意義:
不明
該偵測無法蒐集所需的資料,以決定偵測狀態。大部份(雖然不是全部)偵測超過 timeout 值時,就會進入這個狀態。在此狀態的偵測也可能是因為設定不正確。
處理中
Red Hat Satellite 無法收到資料的偵測項目。新的偵測項目處於這個狀態,是很正常的事情。然而,如果所有偵測都進入此狀態,監控基礎結構可能出了問題。
確定
這偵測已經成功的執行,沒有出現任何錯誤。這是所有偵測的理想狀態。
警告
已與其「WARNING」閾值交錯的偵測。
重大
超過 CRITICAL 的極限門檻值,或因其它方式達到重大狀態的偵測。(有些偵測會因為超過 timeout 值而進入此狀態。)
當新增偵測時,請選擇有意義的門檻值,當跨越這門檻值時,就會將問題通知您或公司內的系統管理者。除非另外註明,否則 Timeout 以秒為單位。在這些規則以外的例外情形,都會額外標註出來。

重要

有些偵測的門檻值是以時間為基準。要讓極限值與警告值根據您想要結果來運作,這些值都不能超過 timeout 所設定的值。否則的話,因為過度延遲,您會收到 UNKNOWN 狀態,讓門檻值失效。因此,Red Hat 強烈建議您確定 timeout 值要大於所有時間門檻。
請在每台電腦上執行偵測,但不要提出任何警示,以獲得每台系統的基準效能。雖然偵測的預設值可能適用於您的需要,但每個公司都有不同的環境,您可能需要修改這些門檻值。

A.2. Apache 1.3.x 與 2.0.x

本節的偵測會用在 Apache 網站伺服器上。雖然預設值假設您會對標準的 HTTP 進行偵測,但您還是可以將通訊協定改為 https,連接埠改為 443,以偵測安全連線的網站伺服器。

A.2.1. Apache::Processes

Apache::Processes 偵測會監控 Apache 網站伺服器執行的程序,並蒐集以下資料:
  • 每個子程序的資料傳輸 - 針對每個子程序,紀錄資料傳輸資訊。子程序是由另一個程序或父程序所產生的程序。
  • 每個子程序的資料傳輸量 - 重新啟動的子程序所傳送的累積資料量。這數量是由 httpd.conf 檔案中的 MaxRequestsPerChild 選項所設定。
網站伺服器 httpd.conf 檔案中的 ExtendedStatus 必須設為 On,本偵測才能正常運作。

表格 A.1. Apache::Processes 設定

欄位
應用程式通訊協定* http
連接埠* 80
路徑名稱* /server-status
使用者代理* NOCpulse-ApacheUptime/1.0
使用者名稱
密碼
Timeout* 15
每個客戶端的最大極限傳輸量(MB)
每個客戶端的最大警告傳輸量(MB)
每個插槽的最大極限傳輸量(MB)
每個客戶端的最大警告傳輸量(MB)

A.2.2. Apache::Traffic

Apache::Traffic 偵測會監控 Apache 網站伺服器執行的程序,並蒐集以下資料:
  • 目前的請求 - 在偵測執行時,伺服器正在處理的請求數。
  • 請求率 - 自從上次偵測執行後,每秒存取伺服器的量。
  • 流量 - 自從上次偵測執行後,每秒存取伺服器的流量(KB)。
網站伺服器 httpd.conf 檔案中的 ExtendedStatus 必須設為 On,本偵測才能正常運作。

表格 A.2. Apache::Traffic 設定

欄位
應用程式通訊協定* http
連接埠* 80
路徑名稱* /server-status
使用者代理* NOCpulse-ApacheUptime/1.0
使用者名稱
密碼
Timeout* 15
最大極限同步請求(數量)
最大警告同步請求(數量)
最大極限請求率(每秒的數量)
最大警告請求率(每秒的數量)
最大終極流量(KB/秒)
最大警告流量(KB/秒)

A.2.3. Apache::Uptime

Apache::Uptime 會記載自上次網站伺服器開機以來的累積時數。這偵測不會蒐集任何資料,只是用來幫助追蹤服務等級協議(SLA,Service Level Agreement)。

表格 A.3. Apache::Uptime 設定

欄位
應用程式通訊協定* http
連接埠* 80
路徑名稱* /server-status
使用者代理* NOCpulse-ApacheUptime/1.0
使用者名稱
密碼
Timeout* 15

A.3. BEA WebLogic 6.x 以上

本節所述的偵測(除了 JDBC Connection Pool 以外)能用來監控任何 BEA WebLogic 6.x 以上伺服器(系統管理與管理)的屬性,即使在叢集環境中也不例外。監控叢集可以藉由向管理伺服器發送所有 SNMP 查詢
為了獲得最高等級,「BEA Domain Admin Server」(BEA 網域系統管理伺服器)參數必須用來區別收取 SNMP 查詢的系統管理伺服器,以及承受特定查詢的管理伺服器。如果要偵測的主機是前者,那麼「BEA Domain Admin Server」參數可保留空白,同時只有 SNMP 查詢與偵測會送到這台伺服器。
如果要偵測的主機是管理伺服器,那麼您就該提供系統管理伺服器的 IP 位址,填入「BEA Domain Admin Server」參數中,同時管理伺服器的名稱應該包括在「BEA Server Name」參數中,並附加至「SNMP 社群字串」欄位中。這會讓 SNMP 查詢送到系統管理伺服器主機,但將特定的偵測轉向到管理伺服器主機上。
值得注意的是,這個在管理伺服器主機上進行偵測所需的社群字串必須服從 community_prefix@managed_server_name 格式,好讓 SNMP 查詢傳回管理伺服器所需的結果。最後,每台受監控的系統都必須啟用 SNMP。您可以透過 WebLogic 主控台來啟用 SNMP。
請參閱您 BEA 伺服器的文件,或 BEA 的網站,以獲得更多關於 BEA 社群字串的命名方式。

A.3.1. BEA WebLogic::Execute Queue

BEA WebLogic::Execute Queue 偵測會監控 WebLogic 的執行佇列,並提供以下訊息:
  • 閒置的執行續 - 閒置狀態下的執行續數目。
  • 佇列長度 - 佇列中的請求數目。
  • 請求率 - 每秒鐘的請求數目。
這項偵測的傳輸協定為 UDP。

表格 A.4. BEA WebLogic::Execute Queue 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 1
BEA 網域管理伺服器
BEA 伺服器名稱* myserver
佇列名稱 預設值
最大閒置執行續的極限門檻
最大閒置執行續的警告門檻
最大佇列長度的極限門檻
最大佇列長度的警告門檻
最大要求率的極限門檻
最大要求率的警告門檻

A.3.2. BEA WebLogic::Heap Free

BEA WebLogic::Heap Free 偵測會蒐集以下訊息:
  • Heap Free - 可用雜湊空間的百分比。
這項偵測的傳輸協定為 UDP。

表格 A.5. BEA WebLogic::Heap Free 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 1
BEA 網域管理伺服器
BEA 伺服器名稱* myserver
最大可用堆積的極限門檻
最大可用堆積的警告門檻
最小可用堆積的警告門檻
最小可用堆積的極限門檻

A.3.3. BEA WebLogic::JDBC Connection Pool

BEA WebLogic::JDBC Connection Pool 偵測只會監控網域管理伺服器(非管理伺服器)的 Java 資料庫連線(JDBC),並蒐集以下資料:
  • 連線 - 連上 JDBC 的連線數。
  • 連線率 - 連上 JDBC 的每秒連線速率。
  • 等待中 - 等待連上 JDBC 的連線數。
這項偵測的傳輸協定為 UDP。

表格 A.6. BEA WebLogic::JDBC Connection Pool 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 1
BEA 網域管理伺服器
BEA 伺服器名稱* myserver
JDBC Pool 的名稱* MyJDBC Connection Pool
最大連線數的極限值
最大連線數的警告值
最大連線率的極限值
最大連線率的警告值
最大等待中的極限值
最大等待中的警告值

A.3.4. BEA WebLogic::Server State

BEA WebLogic::Server State 偵測會監控目前 BEA Weblogic 網站伺服器的狀態。如果偵測無法連上伺服器,會產生 CRITICAL 狀態。
這項偵測的傳輸協定為 UDP。

表格 A.7. BEA WebLogic::Server State 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 1
BEA 網域管理伺服器
BEA 伺服器名稱*

A.3.5. BEA WebLogic::Servlet

BEA WebLogic::Servlet 偵測會監控 WebLogic 伺服器上特定 servlet 的效能,並蒐集以下資料:
  • 高執行時間 - 系統開機迄今,servlet 所花去的最高執行時間,以百萬分之一秒為單位。
  • 低執行時間 - 系統開機迄今,servlet 所花去的最低執行時間,以百萬分之一秒為單位。
  • 執行時間的移動平均 - 執行時間的移動平均。
  • 平均執行時間 - 執行時間的標準平均。
  • 重新載入率 - 每分鐘某個特定 servlet 的重新載入次數。
  • 執行率 - 每分鐘特定 servlet 的執行率。
這項偵測的傳輸協定為 UDP。

表格 A.8. BEA WebLogic::Servlet 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 1
BEA 網域管理伺服器
BEA 伺服器名稱* myserver
Servlet 名稱*
最大高執行時間的極限值
最大高執行時間的警告值
最大執行時間移動平均的極限值
最大執行時間移動平均的警告值

A.4. 一般

本節的偵測是用來監控系統的基本層面。使用這些監控時,請確定時間門檻並沒有超過 timeout 值。否則的話,因為過度延遲,系統會傳回 UNKNOWN 狀態,讓門檻失效。

A.4.1. General::Remote Program

General::Remote Program 偵測能讓您在您的系統上執行指令或程序檔,並獲得狀態指令。請注意,最後的訊息會限於 1,024 位元內。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.9. General::Remote Program 設定

欄位
指令*
OK 離開狀態* 0
警告離開狀態* 1
極限離開狀態* 2
Timeout 15

A.4.2. General::Remote Program with Data

General::Remote Program with Data 偵測能讓您在系統上執行任何指令或程序檔,並獲得一個值與狀態字串。要使用本偵測,您必須在您的程序檔中寫入一些 XML 指令。本偵測支援以下 XML 標籤:
  • <perldata> </perldata>
  • <hash> </hash>
  • <item key =" "> </item>
遠端程式需要列舉以下輸出碼到 STDOUT
<perldata> <hash> <item
key="data">10</item> <item
key="status_message">status message here</item>
</hash> </perldata>
data 所需的值,是要插入資料庫以作為時間序列趨勢的資料點。status_message 是選用的,內容可以是任何文字字串,最大長度為 1024 位元組。沒有包括 status_message 的遠端程式依然會回報這個值與狀態。
需求 - 若要執行這項偵測,被監控的系統必須執行 Red Hat Network monitoring daemon(rhnmd)。XML 大小寫有別。data 不能修改,必須蒐集一個數字當作它的值。

表格 A.10. General::Remote Program with Data 設定

欄位
指令*
OK 離開狀態* 0
警告離開狀態* 1
極限離開狀態* 2
Timeout 15

A.4.3. General::SNMP Check

General::SNMP Check 偵測會指定一個單一物件識別子(OID,object identifier;例如 1.3.6.1.2.1.1.1.0)以及與門檻有關的傳回值,以測試您的 SNMP 伺服器。它會蒐集以下資料:
  • 遠端服務延遲 - SNMP 伺服器回應一個連線請求的時間,單位為秒。
需求 - 若要執行這項偵測,受監控的系統必須執行 SNMP。門檻值只能使用整數。
這項偵測的傳輸協定為 UDP。

表格 A.11. General::SNMP Check 設定

欄位
SNMP OID*
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 2
Timeout* 15
最大值的極限值
最大值的警告值
最小值的警告值
最小值的極限值

A.4.4. General::TCP Check

General::TCP Check 偵測會透過特定的連接埠,連上您的 TCP 伺服器以進行測試。它會蒐集以下資料:
  • 遠端服務延遲 - TCP 伺服器回應連線請求的時間,單位為秒。
這項偵測會傳回連線時「發送」所指定的值。此偵測會預先考慮系統的傳回值,其中應該包括「預期」欄位中所指定的子字串。如果找不到預期的字串,這項偵測會傳回 CRITICAL 狀態。

表格 A.12. General::TCP Check 設定

欄位
發送
預期
連接埠* 1
Timeout* 10
最大延遲的極限值
最大延遲的警告值

A.4.5. General::UDP Check

General::TCP Check 偵測會透過特定的連接埠,連上並測試您的 UDP 伺服器。它會蒐集以下資料:
  • 遠端服務延遲 - UDP 伺服器回應連線請求的時間,單位為秒。
這項偵測會傳回連線時「發送」所指定的值。此偵測會預先考慮系統的傳回值,其中應該包括「預期」欄位中所指定的子字串。如果找不到預期的字串,這項偵測會傳回 CRITICAL 狀態。
這項偵測的傳輸協定為 UDP。

表格 A.13. General::UDP Check 設定

欄位
連接埠* 1
發送
預期
Timeout* 10
最大延遲的極限值
最大延遲的警告值

A.4.6. General::Uptime (SNMP)

General::Uptime (SNMP) 偵測會紀錄該裝置最後啟動的時間。它會使用 SNMP 物件識別子(OID)來獲得這個值。唯一會傳回的錯誤狀態為 UNKNOWN。
需求 - 若要執行這項偵測,您必須在受監控的系統上執行 SNMP,並存取 OID。
這項偵測的傳輸協定為 UDP。

表格 A.14. General::Uptime (SNMP) 設定

欄位
SNMP 社群字串* public
SNMP 連接埠* 161
SNMP 版本* 2
Timeout* 15

A.5. Linux

這類偵測會監控您 Linux 系統的基本層面,從處理器使用量到虛擬記憶體。在扮演重要角色的系統上,時時檢查這些數據,能讓您在系統失效之前獲得警告。
和其它偵測群組不同,其它類的偵測可能需要(也可能不需要)Red Hat Network monitoring daemon;但 Linux 偵測需要在受監控的系統上執行 rhnmd daemon。

A.5.1. Linux::CPU Usage

Linux::CPU Usage 偵測會監控系統 CPU 的使用量,並蒐集以下資料:
  • CPU 的百分比使用量 - 偵測執行時的 CPU 使用量,每五秒一個平均值,以百分比為單位。
需求 - 要執行這項偵測,您必須在受監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.15. Linux::CPU Usage 設定

欄位
Timeout* 15
最大 CPU 百分比使用量的極限值
最大 CPU 百分比使用量的警告值

A.5.2. Linux::Disk IO Throughput

Linux::Disk IO Throughput 偵測會監控指定的磁碟,並蒐集以下資料:
  • 讀取率 - 每秒的讀取速率,以千位元組為單位。
  • 寫入率 - 每秒的寫入速率,以千位元組為單位。
要獲得「磁碟號碼或磁碟名稱」欄位所需的值,請在被監控的電腦上執行 iostat,查看您的磁碟被指定了什麼名稱。預設值為 0,這通常可以提供您直接連到系統第一顆硬碟的統計資料。
需求」 - 受偵測的系統上必須執行 Red Hat Network monitoring daemon(rhnmd),以進行這項偵測。同時,「磁碟編號或磁碟名稱」參數必須符合 iostat 指令的結果。如果格式不相同,那麼設定的偵測將會進入 UNKNOWN 狀態。

表格 A.16. Linux::Disk IO Throughput 設定

欄位
磁碟數或磁碟名稱* 0
Timeout* 15
每秒最大讀取量的極限值(KB)
每秒最大讀取量的警告值(KB)
每秒最小讀取量的警告值(KB)
每秒最小讀取量的極限值(KB)
每秒最大寫入量的極限值(KB)
每秒最大讀取量的警告值(KB)
每秒最小讀取量的警告值(KB)
每秒最小讀取量的極限值(KB)

A.5.3. Linux::Disk Usage

Linux::Disk Usage 偵測會監控特定檔案系統的磁碟用量,並蒐集以下資料:
  • 使用的檔案系統 - 目前使用中檔案系統的百分比。
  • 已使用空間 - 目前檔案系統使用中的容量(MB)。
  • 可用空間 - 目前可用的檔案系統容量(MB)。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.17. Linux::Disk Usage 設定

欄位
檔案系統* /dev/hda1
Timeout* 15
檔案系統最大使用百分比的極限值
檔案系統最大使用百分比的警告值
最大已使用空間的極限值
最大已使用空間的警告值
最小已使用空間的警告值
最小已使用空間的極限值

A.5.4. Linux::Inodes

Linux::Inodes 偵測會監控特定的檔案系統,並蒐集以下資料:
  • Inodes - 目前使用中 inode 值的百分比。
inode 是 Linux 檔案系統中,儲存檔案資訊的資料結構。每個檔案都有一個 inode,檔案系統會由這個獨一無二的 inode 數字,辨別出特定檔案。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.18. Linux::Inodes 設定

欄位
檔案系統* /
Timeout* 15
最大已使用 inode 的極限值
最大已使用 inode 的警告值

A.5.5. Linux::Interface Traffic

Linux::Interface Traffic 偵測會評量特定介面(例如 eth0)的來往流量,並蒐集以下資料:
  • 傳入率 - 每秒鐘進入指定介面的流量(位元組)。
  • 傳出率 - 每秒傳出指定介面的流量(位元組)。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.19. Linux::Interface Traffic 設定

欄位
介面*
Timeout* 30
最大傳入率的極限值
最大傳入率的警告值
最小傳入率的警告值
最小傳入率的極限值
最大傳出率的極限值
最大傳出率的警告值
最小傳出率的警告值
最小傳出率的極限值

A.5.6. Linux::Load

Linux::Load 偵測會監控系統處理器,並蒐集以下資料:
  • 載入 - 在不同期間內,系統處理器的平均負載。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.20. Linux::Load 設定

欄位
Timeout* 15
處理器一分鐘平均負載的極限值
處理器一分鐘平均負載的警告值
處理器五分鐘平均負載的極限值
處理器五分鐘平均負載的警告值
處理器十五分鐘平均負載的極限值
處理器十五分鐘平均負載的警告值

A.5.7. Linux::Memory Usage

Linux::Memory Usage 偵測會監控系統的記憶體,並蒐集以下資料:
  • 可用記憶體 - 系統的可用記憶體量(MB)。
您亦可在「包括可重複使用記憶體」欄位中,輸入 yesno
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.21. Linux::Memory Usage 設定

欄位
包括可重複使用記憶體
Timeout* 15
最大可用記憶體的警告值
最大可用記憶體的極限值

A.5.8. Linux::Process Counts by State

Linux::Process Counts by State 偵測能指出處於以下狀態的程序數量:
  • 阻塞 - 曾被切換到等待佇列,程序的狀態曾被切換到 waiting(等待中)的程序。
  • 非現存 - 曾被中止(發出訊號刪除,或透過 exit() 呼叫),同時父程序尚未收到 wait() 系統呼叫等中止通知的程序。
  • 已停止 - 在執行完成前停止的程序。
  • 休眠 - 在 Interruptible(可中斷)休眠狀態中,稍後可以重新載入到記憶體,並從中斷的地方繼續執行的程序。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.22. Linux::Process Counts by State 設定

欄位
Timeout* 15
最大阻塞程序的極限值
最大阻塞程序的警告值
最大非現存程序的極限值
最大非現存程序的警告值
最大停止程序的極限值
最大非現存程序的警告值
最大休眠程序的極限值
最大休眠程序的警告值
最大子程序的極限值
最大子程序的警告值

A.5.9. Linux::Process Count Total

Linux::Process Count Total 偵測會監控系統,並蒐集以下資料:
  • 程序數量 - 目前系統上執行的程序總數。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.23. Linux::Process Count Total 設定

欄位
Timeout* 15
最大程序數量的極限值
最大程序數量的警告值

A.5.10. Linux::Process Health

Linux::Process Health 偵測會監控與使用者相關的程序,並蒐集以下訊息:
  • CPU 使用量 - CPU 的每秒使用率,單位為毫秒。這會回報 ps 輸出的 time 欄位,這是程序所使用的累進處理器時間。這可以讓這資料獨立於偵測的間隔之外,設定正常的門檻值,並產生可用的圖表(例如突如其來的短暫高處理器使用量會在圖表上顯示出來。)
  • 子程序群組 - 從特定父程序分支而來的子程序數量。子程序會從父程序繼承大部份的屬性,例如開啟檔案等。
  • 執行續 - 某個程序的執行續數量。執行續是使用處理器的基本單元。包含了程式計數器、暫存組、以及堆疊空間。執行續也被稱為輕型的程序。
  • 已使用的實體記憶體 - 特定程序所使用的實體記憶體量(KB)。
  • 已使用的虛擬記憶體 - 特定程序所使用的虛擬記憶體量(KB),或該程序使用的實際與置換記憶體大小。
您可以用指令名稱或 PID 來指定程序。輸入 PID 會蓋過輸入的指令名稱。如果沒有輸入 PID 或指令名稱,那麼會出現 Command not found(找不到指令)的錯誤訊息,同時該偵測將會設定為 CRITICAL 狀態。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.24. Linux::Process Health 設定

欄位
指令名稱
程序 ID(PID)檔案
Timeout* 15
最大處理器使用量的極限值
最大處理器使用量的警告值
最大子程序群組的極限值
最大子程序群組的警告值
最大執行續的極限值
最大執行續的警告值
最大已用實體記憶體的極限值
最大已用實體記憶體的警告值
最大已用虛擬記憶體的極限值
最大已用虛擬記憶體的警告值

A.5.11. Linux::Process Running

Linux::Process Running 偵測會驗證特定程序是否運作正常。它會計算程序或程序群組,端視是否選擇了「計算程序群組」項目而定。
就預設值,此項目是勾選的,這表示這項偵測會計算父程序群組的數量(與子程序的數量分開)。舉例來說,這能讓您驗證 Apache 網站伺服器的兩個執行續是否都在執行中,而不理會子程序的(動態)數量。如果不勾選此項目,偵測會直接計算所有符合特定程序的數量(父程序與子程序)。
您可以用指令名稱或 PID 來指定程序。輸入 PID 會蓋過輸入的指令名稱。如果沒有輸入 PID 或指令名稱,那麼會出現 Command not found(找不到指令)的錯誤訊息,同時該偵測將會進入 CRITICAL 狀態。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.25. Linux::Process Running 設定

欄位
指令名稱
PID 檔案
計算程序群組 (已勾選)
Timeout* 15
最大執行中數量的極限值
最小執行中數量的極限值

A.5.12. Linux::Swap Usage

Linux::Swap Usage 偵測會監控系統上的置換分割區,並蒐集以下資料:
  • 可用的置換空間 - 目前可用的置換記憶體百分比。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.26. Linux::Swap Usage 設定

欄位
Timeout* 15
最小可用置換空間的警告值
最小可用置換空間的極限值

A.5.13. Linux::TCP Connections by State

Linux::TCP Connections by State 偵測會列出 TCP 連線的總數,並計算以下每種狀態:
  • TIME_WAIT - 在遠端關閉傳輸之後仍在等待的 socket,因此它仍然可以處理網路上的封包。
  • CLOSE_WAIT - 遠端方已關閉,正在等待 socket 關閉。
  • FIN_WAIT - socket 已經關閉,連線正在關閉中。
  • ESTABLISHED - socket 已連線。
  • SYN_RCVD - 連線請求已從網路上收到。
這偵測在針對特定 IP 位址或檢視網路連線與受監控系統時,找出、確認網路問題非常有用。
這項偵測的過濾參數能讓您縮小偵測的範圍。此偵測使用了 netstat -ant 指令來讀取資料。「本機 IP 位址」與「本機連接埠」參數使用了「本機位址」欄的輸出當作值;「遠端 IP 位址」與「遠端連接埠」參數使用了「外部位址」欄的輸出當作值,以供回報用。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.27. Linux::TCP Connections by State 設定

欄位
本機 IP 位址過濾樣式清單
本機連接埠號過濾
遠端 IP 位址過濾樣式清單
遠端連接埠號過濾
Timeout* 15
最大連接總數的極限值
最大連接總數的警告值
最大 TIME_WAIT 連線的極限值
最大 TIME_WAIT 連線的警告值
最大 CLOSE_WAIT 連線的極限值
最大 CLOSE_WAIT 連線的警告值
最大 FIN_WAIT 連線的極限值
最大 FIN_WAIT 連線的警告值
最大 ESTABLISHED 連線的極限值
最大 ESTABLISHED 連線的警告值
最大 SYN_RCVD 連線的極限值
最大 SYN_RCVD 連線的警告值

A.5.14. Linux::Users

Linux::Users 偵測會監控系統的使用者,並回報以下資料:
  • 使用者 - 目前登入的使用者數目。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.28. Linux::Users 設定

欄位
Timeout* 15
最大使用者的極限值
最大使用者的警告值

A.5.15. Linux::Virtual Memory

Linux::Virtual Memory 偵測會監控所有系統記憶體,並蒐集以下資料:
  • 虛擬記憶體 - 所有系統記憶體(RAM 加上置換空間)的可用百分比。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.29. Linux::Virtual Memory 設定

欄位
Timeout* 15
最小可用虛擬記憶體的警告值
最小可用虛擬記憶體的極限值

A.6. LogAgent

本節的所有偵測會監控系統上的紀錄檔。您可以用這些偵測來查詢若干表示式與檔案大小的紀錄。要執行 LogAgnet 偵測,您必須賦予 nocpulse 使用者讀取系統紀錄檔的權限。
請注意,第一次執行偵測的資料並不能用來當作門檻值,以避免因資料不足而產生之似是而非的警示。真正的評量會在第二輪開始執行。

A.6.1. LogAgent::Log Pattern Match

LogAgent::Log Pattern Match 偵測使用了一般表示式,以符合受監控紀錄檔中的文字,並蒐集以下資料:
  • 符合常規表示式 - 從上次偵測執行以來,符合的發生次數。
  • 常規表示式的符合率 - 從上次偵測執行以來,每分鐘符合的發生次數。
需求 - 若要執行本偵測,受監控的系統上必須執行 Red Hat Network monitoring daemon(rhnmd)。要執行這項偵測,您必須賦予 nocpulse 使用者讀取紀錄檔的權限。
除了監控紀錄檔的名稱與地點以外,您還必須提供常規表示式以符合 egrep 的格式,這相當於 grep -E,並支援延伸常規表示式。這是 egrep 的常規表示集:
^ beginning of line
$ end of line
. match one char
* match zero or more chars
[] match one character set, e.g. '[Ff]oo'
[^] match not in set '[^A-F]oo'
+ match one or more of preceding chars
? match zero or one of preceding chars
| or, e.g. a|b
() groups chars, e.g., (foo|bar) or (foo)+

警告

請不要在表示式中使用單引號('),否則會讓 egrep 失效,偵測在時間內無法完成。

表格 A.30. LogAgent::Log Pattern Match 設定

欄位
紀錄檔* /var/log/messages
基本常規表示式*
Timeout* 45
最大符合數量的極限值
最大符合數量的警告值
最小符合數量的警告值
最小符合數量的極限值
最大數量符合率的極限值
最大數量符合率的警告值
最小數量符合率的極限值
最大數量符合率的極限值

A.6.2. LogAgent::Log Size

LogAgent::Log Size 偵測會監控紀錄檔的增大情形,並蒐集以下資料:
  • 大小 - 自上次偵測執行以來,紀錄檔的增加情形(KB)。
  • 增長率 - 自上次偵測執行以來,紀錄檔每分鐘增長的位元組數。
  • 行數 - 自上次偵測執行以來,寫入紀錄檔的資料行數。
  • 行數增長速率 - 自上次執行偵測以來,每分鐘寫入紀錄檔的行數。
需求 - 若要執行本偵測,受監控的系統上必須執行 Red Hat Network monitoring daemon(rhnmd)。要執行這項偵測,您必須賦予 nocpulse 使用者讀取紀錄檔的權限。

表格 A.31. LogAgent::Log Size settings

欄位
紀錄檔* /var/log/messages
Timeout* 20
最大大小的極限值
最大大小的警告值
最小大小的警告值
最小大小的極限值
最大傳出率的極限值
最大傳出率的警告值
最小傳出率的警告值
最小傳出率的極限值
最大行數的極限值
最大行數的警告值
最小行數的警告值
最小行數的極限值
最大行數增長率的極限值
最大行數增長率的警告值
最小行數增長率的警告值
最小行數增長率的極限值

A.7. MySQL 3.23 - 3.33

本節的偵測使用了 mysqladmin binary 來監控 MySQL 的資料庫。這些偵測皆不需要特別的使用者權限。
請注意,執行偵測的系統必須安裝 mysql-server 套件,才能執行監控。請參閱《Red Hat Satellite 安裝指南·安裝 MySQL》一節,以獲得更多指示。

A.7.1. MySQL::Database Accessibility

MySQL::Database Accessibility 偵測能透過沒有資料庫權利的帳號,測試連結性能。如果無法連上資料庫,那麼會傳回 CRITICAL 狀態。

表格 A.32. MySQL::Database Accessibility 設定

欄位
使用者名稱*
密碼
MySQL 連接埠 3306
資料庫* mysql
Timeout 15

A.7.2. MySQL::Opened Tables

MySQL::Opened Tables 偵測會監控 MySQL 伺服器,並蒐集以下資料:
  • 開啟的資料表 - 伺服器啟動以來,曾被開啟的資料表。

表格 A.33. MySQL::Opened Tables 設定

欄位
使用者名稱
密碼
MySQL 連接埠* 3306
Timeout 15
最大開啟物件的極限值
最大開啟物件的警告值
最小開啟物件的警告值
最小開啟物件的極限值

A.7.3. MySQL::Open Tables

MySQL::Open Tables 偵測會監控 MySQL 伺服器,並蒐集以下資料:
  • 開啟的資料表 - 偵測執行時,開啟資料表的數量。

表格 A.34. MySQL::Open Tables 設定

欄位
使用者名稱
密碼
MySQL 連接埠* 3306
Timeout 15
最大開啟物件的極限值
最大開啟物件的警告值
最小開啟物件的警告值
最小開啟物件的極限值

A.7.4. MySQL::Query Rate

MySQL::Query Rate 偵測會監控 MySQL 伺服器,並蒐集以下資料:
  • 查詢率 - 每台資料庫伺服器上,每秒的平均查詢數。

表格 A.35. MySQL::Query Rate 設定

欄位
使用者名稱
密碼
MySQL 連接埠* 3306
Timeout 15
最大查詢率的極限值
最大查詢率的警告值
最小查詢率的警告值
最小查詢率的極限值

A.7.5. MySQL::Threads Running

MySQL::Threads Running 偵測會監控 MySQL 伺服器,並蒐集以下資料:
  • 執行中的執行續 - 在資料庫中,執行中的執行續總數。

表格 A.36. MySQL::Threads Running 設定

欄位
使用者名稱
密碼
MySQL 連接埠* 3306
Timeout 15
最大執行中的執行續之極限值
最大執行中的執行續之警告值
最小執行中的執行續之警告值
最小執行中的執行續之極限值

A.8. 網路服務

本節的偵測會監控整合到網路上的多種服務。當使用這些偵測時,請確定時間門檻不會超過 timeout 所分配的時間。否則的話,過度延遲狀態的所有情況都會傳回 UNKNOWN 狀態,讓門檻處於無效狀態。

A.8.1. Network Services::DNS Lookup

Network Services::DNS Lookup 偵測使用 dig 指令,以查看是否能解析「欲解析的主機或位址」欄位中的系統或網域名稱。它會蒐集以下資料:
  • 查詢時間 - 執行 dig 所需的時間(百萬分之一秒)。
這在監控您 DNS 伺服器的狀態時非常有幫助。如果您想要監控其中一部 DNS 伺服器,請輸入已知的主機/網域名稱,例如大型搜尋引擎或企業的網站。

表格 A.37. Network Services::DNS Lookup 設定

欄位
欲解析的主機或位址
Timeout* 10
最大查詢時間的極限值
最大查詢時間的警告值

A.8.2. Network Services::FTP

Network Services::FTP 偵測使用網路 socket 來測試 FTP 連接埠的可用性。它會蒐集以下資料:
  • 遠端服務延遲時間 - FTP 服務回應連線請求的秒數。
此偵測支援身份認證。請在相對應欄位中輸入使用者名稱與密碼。選用的「預期」值是在成功連上 FTP 伺服器後,對應的字串。如果找不到預期字串,偵測會傳回 CRITICAL 狀態。

表格 A.38. Network Services::FTP 設定

欄位
預期 FTP
使用者名稱
密碼
FTP 連接埠* 21
Timeout* 10
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.3. Network Services::IMAP Mail

Network Services::IMAP Mail 偵測會決定是否會連上系統的 IMAP 4 服務。如果您指令的連接埠,那將會取代預設的 143 連接埠。它會蒐集以下資料:
  • 遠端服務延遲 - IMAP 伺服器回應連線請求的時間,單位為秒。
必須填入的「預期」值是成功連上 IMAP 伺服器後,必須符合的字串。如果找不此預期字串,那麼偵測便會傳回 CRITICAL 狀態。

表格 A.39. Network Services::IMAP Mail 設定

欄位
IMAP 連接埠* 143
預期* 確定
Timeout* 5
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.4. Network Services::Mail Transfer (SMTP)

Network Services::Mail Transfer (SMTP) 偵測會決定是否能夠連上系統的 SMTP 連接埠。指定連接埠號會覆寫預設的埠號 25。它會蒐集以下資料:
  • 遠端服務延遲 - SMTP 伺服器回應一個連線請求的時間,單位為秒。

表格 A.40. Network Services::Mail Transfer (SMTP) 設定

欄位
SMTP 連接埠* 25
Timeout* 10
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.5. Network Services::Ping

Network Services::Ping 偵測能決定 Red Hat Satellite 伺服器是否能夠 ping 受偵測的系統,或特定的 IP 位址。它亦可檢查封包丟失的現象,並將平均值與警告值、極限值相比較。需填入的「發送的封包」值,能讓您控制發送到系統的 ICMP ECHO 封包數目。這項偵測會蒐集以下資料:
  • 來回平均時間 - ICMP ECHO 封包來往於受監控系統的時間(毫秒)。
  • 封包漏失率 - 傳輸中封包漏失的百分比。
雖然「IP 位址」欄位是選用性的,但它對蒐集多 IP 位址系統的資訊非常有幫助。舉例來說,如果系統使用了多個虛擬 IP 位址,或使用網路位址轉譯(NAT)來支援內部與外部 IP 位址,這選項可以用來檢查第二組 IP 位址,而不是與主機名稱相關的第一組 IP 位址。
請注意,這項偵測會從一台 Red Hat Satellite 伺服器發出 ping 的封包,而非受監控的系統。因此,填入 IP 位址欄位並不會測試系統與特定 IP 的連線性,而是測試 Red Hat Satellite 伺服器與該 IP 位址之間的連線性。因此,在不同系統的 Ping 偵測中填入同樣的 IP 位址,造成的效果完全相同。要從受監控的系統 ping 一個 IP 位址,請使用 Remote Ping 偵測。請參閱〈節 A.8.7, “Network Services::Remote Ping”〉。

表格 A.41. Network Services::Ping 設定

欄位
IP 位址(預設為系統 IP)
發送的封包* 20
Timeout* 10
最大來回平均的極限值
最大來回平均的警告值
最大封包漏失的極限值
最大封包漏失的警告值

A.8.6. Network Services::POP Mail

Network Services::POP Mail 偵測會決定它是否可以連上系統的 POP3 連接埠。指定另一個埠號(埠號是必填的欄位)會蓋過預設的埠號 110。這項偵測會蒐集以下資料:
  • 遠端服務延遲 - POP 伺服器回應連線請求的時間,單位為秒。
必須填入的「預期」欄位是成功連上 POP 伺服器後,要符合的字串。這偵測會檢視從系統傳回第一行的字串,預設值為 +OK。如果沒有找到預期字串,本偵測將會傳回 CRITICAL 狀態。

表格 A.42. Network Services::POP Mail 設定

欄位
連接埠* 110
預期* +OK
Timeout* 10
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.7. Network Services::Remote Ping

Network Services::Remote Ping 偵測會看看遠端系統能不能 ping 一個特定的 IP 位址。它也會監控封包漏失,並比較來回平均時間與警告值、極限值兩個門檻等級。必須填入的「發送的封包」值,能讓您控制發送到該位址的 ICMP ECHO 封包數。本偵測會蒐集以下資料:
  • 平均來回時間 - ICMP 封包來回於該位址的時間(毫秒)。
  • 封包漏失率 - 傳輸中封包漏失的百分比。
IP 位址」欄位是要偵測的確切位址。標準 Ping 偵測的類似欄位是選用性的,但此欄位則是必須填入的;因為受偵測的系統會對第三方主導 ping 的過程,而非 Red Hat Satellite 伺服器。由於 Remote Ping 偵測從受監控系統本身測試連線,因此必須指定另一個 IP 位址。要從 Red Hat Satellite 伺服器對另一台系統或 IP 位址進行 ping 的工作,請使用標準的 Ping 偵測。請參閱〈節 A.8.5, “Network Services::Ping”〉。
需求 - 要執行這項偵測,您必須在要監控的系統上執行 Red Hat Network monitoring daemon(rhnmd)。

表格 A.43. Network Services::Remote Ping 設定

欄位
IP 位址*
發送的封包* 20
Timeout* 10
最大來回平均的極限值
最大來回平均的警告值
最大封包漏失的極限值
最大封包漏失的警告值

A.8.8. Network Services::RPCService

Network Services::RPCService 偵測會測試某個給定 IP 位址之遠端程序調用(RPC)的可用性。它會蒐集以下資料:
  • 遠端服務延遲 - RPC 伺服器回應連線請求的時間,單位為秒。
RPC 伺服器程式(透過 RPC 網路提供功能調用)會在 RPC 網路上提供功能調用,方式為宣告程式 ID 與程式名稱。NFS 就是透過 RPC 機制運作的一種服務。
要使用 RPC 伺服器程式資源的客戶端程式會要求伺服器提供 RPC 功能的存取權限,包括 RPC 程式號碼與名稱。這些對話可以使用 TCP 與 UDP 協定(但多半使用 UDP)。
這偵測能讓您測試簡單程式的可用性。您需要指定程式名稱或程式號碼,使用的通訊協定,以及一般的 timeout 值。

表格 A.44. Network Services::RPCService 設定

欄位
通訊協定(TCP/UDP) udp
服務名稱* nfs
Timeout* 10
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.9. Network Services::Secure Web Server (HTTPS)

Network Services::Secure Web Server (HTTPS) 偵測會決定安全網站伺服器的可用性,並蒐集以下資料:
  • 遠端服務延遲 - HTTPS 伺服器回應連線請求的時間,單位為秒。
這偵測能確認是否能連上特定主機的 HTTPS 連接埠,並存取特定的網址。如果不指定網址,那麼這偵測會存取根目錄的文件。這偵測會從系統尋找 HTTP/1 訊息,除非您改變這個值。額外指定連接埠會蓋過預設的埠號 443。
本偵測支援身份認證。請在適當的欄位中輸入您的使用者名稱與密碼。跟其它偵測不同的是,這偵測如果在 timeout 值的時間內還連不上系統,它會傳回 CRITICAL 狀態。

表格 A.45. Network Services::Secure Web Server (HTTPS) 設定

欄位
URL 路徑 /
預期表頭 HTTP/1
預期內容
使用者代理* NOCpulse-check_http/1.0
使用者名稱
密碼
Timeout* 10
HTTPS 連接埠* 443
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.10. Network Services::SSH

Network Services::SSH 偵測會決定特定連接埠上的 SSH 可用性,並蒐集以下資料:
  • 遠端服務延遲 - SSH 伺服器回應連線請求的時間,單位為秒。
成功連上 SSH 伺服器,並收到合法的回應時,這偵測會顯示通訊協定與伺服器版本資訊。如果這偵測收到不合法的回應,它會顯示伺服器端傳來的訊息,並產生 WARNING 狀態。

表格 A.46. Network Services::SSH 設定

欄位
SSH 連接埠* 22
Timeout* 5
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.8.11. Network Services::Web Server (HTTP)

Network Services::Web Server (HTTP) 偵測會決定網站伺服器的可用性,並蒐集以下資料:
  • 遠端服務延遲 - HTTP 伺服器回應連線請求的時間,單位為秒。
這偵測會確認是否能連上特定主機的 HTTP 連接埠,請存取特定的網址。如果您不指定網址,那麼本偵測會存取根目錄文件。這偵測會尋找系統的 HTTP/1 訊息,除非您修改了這個值。指定其他的連接埠會蓋過預設的埠號 80。跟大部份其他偵測不同的是,如果在 timeout 期間無法連上系統,這偵測會傳回 CRITICAL 狀態。
這偵測支援身份認證。請在相對應的欄位填入使用者名稱與密碼。同時,選用的「虛擬主機」欄位能用來監控同一台實體機器(但看起來像另一台獨立機器)的獨立文件。如果您的網站伺服器沒有設定使用虛擬主機(通常如此),請不要在本欄位中填入任何資訊。如果您設定了虛擬主機,請在此輸入第一台主機的網域名稱。您可以視需要增加偵測,以監控這台機器上的所有虛擬主機。

表格 A.47. Network Services::Web Server (HTTP) 設定

欄位
URL 路徑 /
虛擬主機
預期表頭 HTTP/1
預期內容
使用者代理* NOCpulse-check_http/1.0
使用者名稱
密碼
Timeout* 10
HTTP 連接埠* 80
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.9. Oracle 8i、9i、10g 以及 11g

本節的偵測可用於符合可支援 Oracle 資料庫版本的執行個體。要讓這些 Oracle 偵測運作正常,請使用以下指令,設定資料庫與關聯:
$ ORACLE_HOME/rdbms/admin/catalog.sql
除此之外,要讓這些偵測順利運作,這偵測中設定好的 Oracle 使用者最少應該要有 CONNECT 與 SELECT_CATALOG_ROLE 的權限。
有些 Oracle 偵測是特別用來微調裝置,以提高長期效能;而不是避免服務中斷。因此,Red Hat 建議您排程這些動作時,不要太頻繁,設在每小時到每兩天之間。跟更短的時間比起來,這會提供更佳的統計數據,也可以不過度強調短期的異常事件。這適用於以下偵測:Buffer Cache(緩衝區快取)、Data Dictionary Cache(資料字典快取)、Disk Sort Ratio(磁碟排序比)、Library Cache(函式庫快取)、以及 Redo Log(重新動作紀錄)。
對於依靠時間來運作的 CRITICAL(極限值)與 WARNING(警告值)門檻,這些值不能超過所分配的 timeout 值。否則的話,超過延遲時間都會傳回 UNKNOWN(未知)狀態,讓這些門檻值失效。因此 Red Hat 強烈建議您確定 timeout 值超過所有與時間有關的門檻值。在本節中,這特別指得是 TNS Ping 偵測。
最後,將這些 Oracle 偵測用在多執行續伺服器(MTS,multi-threaded server)的 Oracle 資料庫之用戶,請連絡 Red Hat 客戶支援,好將一些資料加入 Red Hat Network 伺服器的 /etc/hosts 檔案,以確定 DNS 名稱能正確地解析出來。

A.9.1. Oracle::Active Sessions

Oracle::Active Sessions 偵測會監控 Oracle 的 instance,並蒐集以下資料:
  • 運作中的 session - 根據 V$PARAMETER.PROCESSES 而來的數據,顯示目前運作中的 session 數。
  • 可用的 session - 根據 V$PARAMETER.PROCESSES 而來的運作中 session 百分比。

表格 A.48. Oracle::Active Sessions 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最大運作中 session 的極限值
最大運作中 session 的警告值
最大已用的可用 session 之極限值
最大已用的可用 session 之警告值

A.9.2. Oracle::Availability

Oracle::Availability 偵測會決定 Red Hat Satellite 資料庫的可用性。

表格 A.49. Oracle::Availability 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30

A.9.3. Oracle::Blocking Sessions

Oracle::Blocking Sessions 偵測會監控 Oracle 的 instance,並蒐集以下資料:
  • 阻絕 session - 阻止其它 session 改變 Oracle 資料庫的行程數目,這會由您在必填的「阻絕時間」欄位中填入的值來決定。只有被這時間(以秒為單位)所阻絕的 session,才會被算為被阻絕的 session。

表格 A.50. Oracle::Blocking Sessions 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
阻絕時間(秒)* 20
Timeout* 30
最大阻絕 session 的極限值
最大阻絕 session 的警告值

A.9.4. Oracle::Buffer Cache

Oracle::Buffer Cache 偵測會計算緩衝區快取的命中率(hit rate),好對系統全域資料庫(SGA)資料庫緩衝快取的大小作最佳化。它會蒐集以下資料:
  • 資料庫磁區 get - 透過單磁區 get 存取的區塊數目(而非透過一致性的 get 機制)。
  • 一致性 get - 在一致性模式中存取磁區緩衝區的數目。
  • 實際讀取 - 從磁碟中讀取磁區的累積數目。
  • 緩衝區快取命中率 - 資料庫從快取(而非硬碟)取得資料的比率。低比率表示系統需要更多的記憶體。

表格 A.51. Oracle::Buffer Cache 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠 1521
Timeout* 30
最小緩衝區快取命中率的警告值
最小緩衝區快取命中率的極限值

A.9.5. Oracle::Client Connectivity

Oracle::Client Connectivity 偵測會決定資料庫是否已經啟用上線,並能接受自受監控系統而來的連線。這偵測會向系統開啟 rhnmd 連線,並在受偵測的系統上發出 sqlplus connect 指令。
Expected DB name」參數是 V$DATABASE.NAME 的期望值。這個值有大小寫的分別。若找不到這個值,則會傳回 CRITICAL 狀態。
需求 - 若要執行本偵測,受監控的系統上必須執行 Red Hat Network monitoring daemon(rhnmd)。要執行這項偵測,您必須賦予 nocpulse 使用者讀取紀錄檔的權限。

表格 A.52. Oracle::Client Connectivity 設定

欄位
Oracle 主機名稱或 IP 位址*
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
ORACLE_HOME* /opt/oracle
預期資料庫名稱*
Timeout* 30

A.9.6. Oracle::Data Dictionary Cache

Oracle::Data Dictionary Cache 偵測會計算資料字典快取的命中率,好將 init.ora 中的 SHARED_POOL_SIZE 最佳化。它會蒐集以下資料:
  • 資料字典命中率 - 從資料字典快取中取得資料的比率。換句話說,這是從資料字典取得資料,而不是從硬碟中取得資料的比率。低比率表示系統需要更多記憶體。
  • get - 透過單磁區 get(而非一致性 get 機制)所取得的磁區數量。
  • 快取未命中率 - 用一致性模式,從磁區快取取得資料的數量。

表格 A.53. Oracle::Data Dictionary Cache 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最小資料字典命中率的警告值
最小資料字典命中率的極限值

A.9.7. Oracle::Disk Sort Ratio

Oracle::Disk Sort Ratio 偵測會監控 Oracle 資料庫的執行個體,並蒐集以下資料:
  • 磁碟排序率 - Oracle 進行排序,但因為太大而無法完成,必須用暫存區段進行的比率。

表格 A.54. Oracle::Disk Sort Ratio 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最大磁碟排序比率的極限值
最大磁碟排序比率的警告值

A.9.8. Oracle::Idle Sessions

Oracle::Idle Sessions 偵測會監控 Oracle 的執行個體,並蒐集以下資料:
  • 閒置 session - Oracle session 的閒置數量;這個值與您所設定的「閒置時間」有關。只有超過這閒置時間(以秒為單位)的 session,才會被視為是閒置 session。

表格 A.55. Oracle::Idle Sessions 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
閒置時間(秒)* 20
Timeout* 30
最大閒置 session 的極限值
最大閒置 session 的警告值

A.9.9. Oracle::Index Extents

Oracle::Index Extents 偵測會監控 Oracle 的執行個體,並蒐集以下資料:
  • 已分配的 extent - 為任何索引所分配的 extent 數量。
  • 可用的 extent - 任何索引可用的 extent 百分比。
必備的「索引名稱」欄位包含了預設值 %,用於所有索引名稱。

表格 A.56. Oracle::Index Extents 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
索引擁有者* %
索引名稱* %
Timeout* 30
最大可分配 extent 的極限值
最大可分配 extent 的警告值
最大可用 extent 的極限值
最大可用 extent 的警告值

A.9.10. Oracle::Library Cache

Oracle::Library Cache 偵測會計算函式庫快取的非命中率,好為 init.ora 的 SHARED_POOL_SIZE 最佳化。它會蒐集以下資料:
  • 函式庫快取失誤率 - 函式庫快取的失誤比率。當 session 執行一項敘述,而這敘述已經被解析過,但卻不再共享空間中。
  • 執行 - 此命名空間的物件所請求的 pin 次數。
  • 快取未命中率 - 現在得由磁碟存取物件的 pin 數量。這些 pin 是由之前物件處理時所產生的 pin。

表格 A.57. Oracle::Library Cache 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最大函式庫快取未命中率的極限值
最大函式庫快取未命中率的警告值

A.9.11. Oracle::Locks

Oracle::Locks 偵測會監控 Oracle 資料庫的執行個體,並蒐集以下資料:
  • 啟用中的鎖 - 目前啟用中的鎖之數目,這個值會由 v$locks 表格中的值來決定。資料庫管理者應該注意,在資料庫執行個體中,這個數字極高。
鎖的作用在於當多名使用者或多個行程在更新資料庫中的同樣資料時,不會有衝突情形發生。這偵測能警告管理者,某個執行個體是不是有極高數量的鎖。

表格 A.58. Oracle::Locks 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最大啟用中的鎖之極限值
最大啟用中的鎖之警告值

A.9.12. Oracle::Redo Log

Oracle::Redo Log 偵測會監控 Oracle 資料庫的執行個體,並蒐集以下資料:
  • 重做紀錄空間請求率 - 自伺服器啟動後,每分鐘重做紀錄空間的平均請求數。
  • 重做緩衝區分配重試率 - 自伺服器啟動後,每分鐘緩衝區分配重試的平均數目。
這些傳回的資料與資料所衡量的門檻數字,都代表每分鐘發生變化的比率。您應該監控這些資料的改變率,因為高成長意味著問題,需要進一步分析調查。

表格 A.59. Oracle::Redo Log 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
Timeout* 30
最大重做紀錄空間請求率的極限值
最大重做紀錄空間請求率的警告值
最大重做緩衝區分配重試率的極限值
最大重做緩衝區分配重試率的警告值

A.9.13. Oracle::Table Extents

Oracle::Table Extents 偵測會監控 Oracle 資料庫的執行個體,並傳回以下資料:
  • 分配的 extent - 任何表格 - 任何表格的 extent 總數。
  • 可用的 extent - 任何表格 - 任何表格的可用 extent 總數之百分比。
在 Oracle 中,表格 extent 是表格成長的方法。當表格滿了的時候,它會以表格建立時設定的空間「延伸」出去。extent 是以單表格為基礎來設定,包括 extent 的大小,以及 extent 的最大數量。
舉例來說,一開始空間設定為 10 MB 的表格,其 extent 大小為 1 MB,上限為 10 個。這空間最多可以成長到 20 MB(每次成長 1 MB,最多十次)。您可以設定這偵測,以提出警告:(1) 分配的 extent 數量(例如「當表格延伸了五次以上,進入 CRITICAL 狀態」)或 (2) 表格延伸超過了最大 extent 的某個百分比(例如「當表格延伸超過最大 extent 的 80% 以上)。
表格擁有者」與「表格名稱」欄位是必填的,其中包含的預設值 % 表示符合任何表格使用者或名稱。

表格 A.60. Oracle::Table Extents 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
表格擁有者* %
表格名稱* %
Timeout* 30
最大已分配 extent 的極限值
最大已分配 extent 的警告值
最大可用 extent 的極限值
最大可用 extent 的警告值

A.9.14. Oracle::Tablespace Usage

Oracle::Tablespace Usage 偵測會監控 Oracle 資料庫的執行個體,並蒐集以下資料:
  • 可用空間使用率 - 每個表格空間可用空間的已使用率。
表格空間是一個共享的空間,其中包含了許多組表格。當可用空間的總數落在門檻值以下時,這偵測會警告使用者。表空間的單位是位元組,因此 extent 並不直接算入(雖然每次延伸都會從共享空間中移除可用空間)。
表格空間名稱」是必填的欄位,大小寫有別,其中包含的預設值 % 符合任何表格空間。

表格 A.61. Oracle::Tablespace Usage 設定

欄位
Oracle SID*
Oracle 使用者名稱*
Oracle 密碼*
Oracle 連接埠* 1521
表格空間名稱* %
Timeout* 30
最大可用空間使用率之極限值
最大可用空間使用率之警告值

A.9.15. Oracle::TNS Ping

Oracle::TNS Ping 偵測會找出 Oracle 聆聽程式是否正在運作中,並蒐集以下資料:
  • 遠端服務延遲 - Oracle 伺服器回應連線請求的時間,單位為秒。

表格 A.62. Oracle::TNS Ping 設定

欄位
TNS 聆聽連接埠* 1521
Timeout* 15
最大遠端服務延遲時間的極限值
最大遠端服務延遲時間的警告值

A.10. Red Hat 衛星伺服器

本節所述的偵測可以用在 Red Hat Satellite 本身,以監控其狀態與效能。由於這些偵測都在本機上執行,因此不需要特定的應用程式與通訊協定。

A.10.1. Red Hat Satellite::Disk Space

Red Hat Satellite::Disk Space 能偵測衛星伺服器的可用磁碟空間,並蒐集以下資料:
  • 已使用的檔案系統 - 使用中的檔案系統的百分比。
  • 已用空間 - 目前檔案系統已用掉的檔案大小。
  • 可用空間 - 目前檔案系統可用的檔案大小。

表格 A.63. Red Hat Satellite::Disk Space 設定

欄位
裝置路徑名稱* /dev/hda1
最大已用檔案系統的極限值
最大已用檔案系統的警告值
最大已使用空間的極限值
最大已使用空間的警告值
最大可用空間的極限值
最大可用空間的警告值

A.10.2. Red Hat Satellite::Execution Time

Red Hat Satellite::Execution Time 偵測能監控從衛星伺服器執行的偵測之執行時間,並蒐集以下資料:
  • 平均偵測執行時間 - 完全執行一個偵測的秒數。

表格 A.64. Red Hat Satellite::Execution Time 設定

欄位
最大平均偵測執行時間的極限值
最大平均偵測執行時間的警告值

A.10.3. Red Hat Satellite::Interface Traffic

Red Hat Satellite::Interface Traffic 偵測會監控衛星伺服器的介面流量,並蒐集以下資料:
  • 輸入率 - 裝置收到的流量(位元/秒)。
  • 輸出率 - 裝置發出的流量(位元/秒)。

表格 A.65. Red Hat Satellite::Interface Traffic 設定

欄位
介面* eth0
Timeout(秒)* 30
最大傳入率的極限值
最大傳出率的極限值

A.10.4. Red Hat Satellite::Latency

Red Hat Satellite::Latency 程序會監控衛星伺服器上的偵測延遲時間,並蒐集以下資料:
  • 平均偵測延遲時間 - 偵測已經準備好可以執行,與正式執行間的時間差,單位為秒。在正常情形下,這通常會低於一秒鐘。當衛星伺服器負載過重(因為跟平均執行時間比起來,偵測過多),這數字就會上升。

表格 A.66. Red Hat Satellite::Latency 設定

欄位
最大平均偵測延遲的極限值
最大平均偵測延遲的警告值

A.10.5. Red Hat Satellite::Load

Red Hat Satellite::Load 會監控衛星伺服器的上的 CPU 負載,並蒐集以下資料:
  • 負載 - 處理器在一、五、十五分鐘內的平均負載。

表格 A.67. Red Hat Satellite::Load 設定

欄位
最大平均一分鐘負載的極限值
最大平均一分鐘負載的警告值
最大平均五分鐘負載的極限值
最大平均五分鐘負載的警告值
最大平均十五分鐘負載的極限值
最大平均十五分鐘負載的警告值

A.10.6. Red Hat Satellite::Probe Count

Red Hat Satellite::Probe Count 程序會監控衛星伺服器上的偵測數目,並蒐集以下資料:
  • 偵測 - 衛星伺服器上,各別偵測的數量。

表格 A.68. Red Hat Satellite::Probe Count 設定

欄位
最大偵測數量的極限值
最大偵測數量的警告值

A.10.7. Red Hat Satellite::Process Counts

Red Hat Satellite::Process Counts 程序會監控衛星伺服器上的程序數目,並蒐集以下資料:
  • 暫時中止 - 被切換到等待佇列,並處於等待狀態的程序數量。
  • 子程序 - 由一個在機器上執行中的程序所分支產生的程序數目。
  • 已終止的程序 - 已終止的程序(由於終止訊號或調用了 exit()),但其父程序尚未收到藉由執行諸如 wait() 的系統調用。
  • 停止的程序 - 在執行完成前停止的程序數量。
  • 休眠 - 在 Interruptible(可中斷)休眠狀態中,稍後可以重新載入到記憶體,並從中斷的地方繼續執行的程序。

表格 A.69. Red Hat Satellite::Process Counts 設定

欄位
最大阻塞程序的極限值
最大阻塞程序的警告值
最大子程序的極限值
最大子程序的警告值
最大非現存程序的極限值
最大非現存程序的警告值
最大停止程序的極限值
最大非現存程序的警告值
最大休眠程序的極限值
最大休眠程序的警告值

A.10.8. Red Hat Satellite::Processes

Red Hat Satellite::Processes 程序會監控衛星伺服器的程序數目,並蒐集以下資料:
  • 程序 - 在機器上同步運行的程序數量。

表格 A.70. Red Hat Satellite::Processes 設定

欄位
最大程序的極限值
最大程序的警告值

A.10.9. Red Hat Satellite::Process Health

Red Hat Satellite::Process Health 偵測會監控用戶特定的程序,並蒐集以下資料:
  • CPU 使用率 - 某程序的 CPU 使用百分比。
  • 子程序群組 - 從特定父程序分支而來的子程序數量。子程序會從父程序繼承大部份的屬性,例如開啟檔案等。
  • 執行續 - 某個程序的執行續數量。執行續是使用處理器的基本單元。包含了程式計數器、暫存組、以及堆疊空間。執行續也被稱為輕型的程序。
  • 已使用的實體記憶體 - 特定程序所使用的實體記憶體量(KB)。
  • 已使用的虛擬記憶體 - 特定程序正在使用的虛擬記憶體量(KB),或該程序使用的實際與置換記憶體大小。
您可以用指令名稱或 PID 來指定程序。輸入 PID 會蓋過輸入的指令名稱。如果沒有輸入 PID 或指令名稱,那麼會出現 Command not found(找不到指令)的錯誤訊息,同時該偵測會設定為 CRITICAL 狀態。

表格 A.71. Red Hat Satellite::Process Health 設定

欄位
指令名稱
程序 ID(PID)檔案
Timeout* 15
最大處理器使用量的極限值
最大處理器使用量的警告值
最大子程序群組的極限值
最大子程序群組的警告值
最大執行續的極限值
最大執行續的警告值
最大已用實體記憶體的極限值
最大已用實體記憶體的警告值
最大已用虛擬記憶體的極限值
最大已用虛擬記憶體的警告值

A.10.10. Red Hat Satellite::Process Running

Red Hat Satellite::Process Running 偵測會驗證特定程序是否正在執行中。您可以使用指令名稱或 PID(程序 ID)來進行這動作。使用 PID 會蓋過指令名稱。如果這偵測無法驗證該指令或 PID,它會傳回 CRITICAL 狀態。

表格 A.72. Red Hat Satellite::Process Running 設定

欄位
指令名稱
程序 ID(PID)檔案
最大執行數的極限值
最小執行數的極限值

A.10.11. Red Hat Satellite::Swap

Red Hat Satellite::Swap 偵測會監控衛星伺服器可用置換空間的百分比。如果這個值低於極限值的門檻以下,會傳回 CRITICAL 狀態;若低於警告值的門檻以下,則會傳回 WARNING 狀態。

表格 A.73. Red Hat Satellite::Swap 設定

欄位
最小可用置換百分比的極限值
最小可用置換百分比的警告值

A.10.12. Red Hat Satellite::Users

Red Hat Satellite::Users 偵測會監控目前登入衛星伺服器的使用者數量。如果這個值超過極限值門檻,會傳回 CRITICAL 狀態;如果超過警告值門檻,會傳回 WARNING 狀態。

表格 A.74. Red Hat Satellite::Users 設定

欄位
最大使用者的極限值
最大使用者的警告值

附錄 B. 修訂記錄

修訂記錄
修訂 4-32.2.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
修訂 4-32.2Fri Aug 30 2013Terry Chuang
翻譯、校閱完成
修訂 4-32.1Fri Aug 30 2013Terry Chuang
讓翻譯檔案與 XML 來源 4-32 同步
修訂 4-32Thu Aug 29 2013Dan Macpherson
第一次的 QE 檢視意見實作
修訂 4-31Tue Aug 27 2013Dan Macpherson
小幅修正
修訂 4-30Tue Aug 27 2013Dan Macpherson
最終 QE 實作
修訂 4-29Tue Aug 27 2013Dan Macpherson
修正了畫面上的文字
修訂 4-28Tue Aug 27 2013Dan Macpherson
移除了 computeroutput 標籤
修訂 4-27Tue Aug 27 2013Dan Macpherson
實作了來自於 BZ#1001385 的意見
修訂 4-26Tue Aug 27 2013Dan Macpherson
實作了來自於 BZ#1001385 意見的 QE
修訂 4-25Tue Aug 27 2013Dan Macpherson
小幅修正了 BZ#1001378 的錯字
修訂 4-24Tue Aug 27 2013Dan Macpherson
根據 BZ#1001378 和 BZ#1001379 實作了 QE
修訂 4-23Tue Aug 27 2013Dan Macpherson
實作了 BZ#1001376 的 QE
修訂 4-22Thu Aug 15 2013Dan Macpherson
QE 檢測並修正了錯字
修訂 4-21Sun Jul 28 2013Dan Macpherson
第二次的技術檢視意見實作
修訂 4-20Wed Jul 24 2013Dan Macpherson
修正了 BZ#987245
修訂 4-19Tue Jul 23 2013Dan Macpherson
第一次的技術檢視意見實作
修訂 4-18Thu Jul 12 2013Dan Macpherson
最終 beta 更新
修訂 4-17Thu Jul 12 2013Dan Macpherson
Beta 更新
修訂 4-16Thu Jul 11 2013Athene Chan (陳愛珍)
更新了 Splice 的部分。
新增了額外的 ISS 內容。
修訂 4-15Fri Jul 5 2013Athene Chan (陳愛珍)
BZ#906577 開發人員檢測 ISS 編輯。
修訂 4-14Fri Jul 5 2013Athene Chan (陳愛珍)
BZ#906577 加入了有關於 ISS 新功能的額外資訊。
修訂 4-13Fri June 28 2013Athene Chan (陳愛珍)
根據更新的 UI 變更更新了所有部分。
根據商標名稱變更將所有「Red Hat Proxy」修改為「Red Hat Satellite Proxy」。
BZ#906577 新增了 Intersatellite-sync 的資訊。
修訂 4-12Tue June 4 2013Athene Chan (陳愛珍)
BZ#969091 將過時的 /etc/rhn/rhn_web.conf 名稱修改為 /etc/rhn/rhn.conf。
修訂 4-11Fri May 17 2013Athene Chan (陳愛珍)
根據使用者介面編輯了文件程序。
建立了指南以進行文件審查。
修訂 4-10Thu Apr 25 2013Athene Chan (陳愛珍)
BZ#908911 所有的 up2date 參照皆已更改為目前的版本。
BZ#927113、950295 文件摘要已更新
BZ#927546、924221 小幅編輯了標準化的技術性名詞
為下個發行版編輯了內容。
修訂 4-9Thu Feb 28 2013Athene Chan (陳愛珍)
為下個發行版的準備編輯了目錄。
修訂 4-8Wed Jan 2 2013Athene Chan (陳愛珍)
BZ#862950 在「(pup)」與「that」間加上了空白字元。
修訂 4-7Wed Sept 19 2012Dan Macpherson
5.5 版最後一次製成套件
修訂 4-6Thu Aug 16 2012Athene Chan (陳愛珍)
BZ#847993 更改了 5.2.4 部分中,範例上所使用的檔案名稱
修訂 4-5Thu Aug 16 2012Athene Chan (陳愛珍)
BZ#773647 更新了「新建帳號」截圖的附屬段落
BZ#846691 更新了 1.1 部分中的「購買」連結
修訂 4-4Wed Aug 15 2012Athene Chan (陳愛珍)
BZ#773647 更新了「新建帳號」的截圖
修訂 4-3Thu Aug 9 2012Athene Chan (陳愛珍)
文件已放上中繼伺服器以供檢視
修訂 3-2Fri Aug 3 2012Athene Chan (陳愛珍)
BZ#844849 重新編排了段落。
修訂 3-1Tue Jun 17 2012Athene Chan (陳愛珍)
移除了淘汰的內容。為 5.5 發行版作準備
BZ#837703 新增了自訂 GPG 金鑰的註釋
修訂 3-0Thurs May 24 2012Athene Chan (陳愛珍)
BZ#783340 - 已將「s390x」更新為「IBM System z」
修訂 2-6Mon Jan 9 2012Lana Brindley
BZ#707591 - 虛擬化章節,更新指示
BZ#746640 - 虛擬化章節,新增 kickstart 資訊
修訂 2-5Wed Jan 4 2012Lana Brindley
BZ#707568 & BZ#707570 - 虛擬化章節,頻道名稱
BZ#744653 - 虛擬化章節,修正錯字
BZ#744656 - 虛擬化章節,更新 RHEL6 的指示
BZ#750481 - 更新改變最大檔案大小之方法
BZ#766424 - Kickstart 章節:更新文字
修訂 2-4Fri Sep 23 2011Lana Brindley
BZ#702516 - Unix handbook
BZ#703605 - 監控章節
BZ#706868 & BZ#707169 - Cobbler 章節
BZ#707591 - 虛擬化章節
BZ#707602 - 虛擬化章節
BZ#715267 - 錯字
修訂 2-3Mon Aug 15 2011Lana Brindley
將 z-stream 版本的資料放入了 y-stream 中
修訂 2-2Wed Jun 15 2011Lana Brindley
已準備出版
修訂 2-1Fri May 27 2011Lana Brindley
來自譯者的更新
修訂 2-0Fri May 6 2011Lana Brindley
為翻譯做好準備
修訂 1-29Fri March 25 2011Lana Brindley
為翻譯修正 entities
BZ#683466 - Monitoring
修訂 1-28Thu March 24 2011Lana Brindley
BZ#679621 - Fix entities for translation
BZ#681788 - Notifications
修訂 1-27Mon Feb 14 2011Lana Brindley
BZ#658127 - API Access
修訂 1-26Wed Feb 9 2011Lana Brindley
BZ#658120 - Remove RHEL 2.1 references
BZ#658131 - API Access
BZ#669166 - Virtualization
修訂 1-25Mon Jan 31 2011Lana Brindley
BZ#443630 - Kickstart
BZ#559515 - Cobbler

法律聲明

Copyright © 2013 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.