Red Hat Training

A Red Hat training course is available for Red Hat Satellite

参考指南

Red Hat Satellite 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 可用来启用和禁用客户端系统中的配置管理。如果您尚未安装这些工具,您可以在操作系统的「红帽网络工具」子频道中找到它们。

注意

无论何时通过网站部署配置文件时,都会在受影响系统的 /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/ 目录的默认访问权限,通常需要有 root 访问的人方可执行 Red Hat Network Actions Control。

1.1.1.1. 常规命令行选项

可参考 man 说明书页,因为该手册包含大多数命令行工具,只要为系统管理员确定要启用哪些红帽网络调度的动作即可。这些选项可启用各种调度的动作模式:

表 1.1. rhn-actions-control 选项

选项 描述
--enable-deploy 允许 rhncfg-client 部署文件。
--enable-diff 允许 rhncfg-client 使用 diff 命令比较文件。
--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 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
并观察以下输出:
配置频道 '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 或者另一个 pager 查看该文件的内容。请注意,该文件是根据所在配置频道的最大相关性选择的。您还可以使用「系统详情」页中的「配置」标签页进行设置。

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. 比较配置文件。

执行以下命令可将系统中部署的配置文件与红帽网络中保存的配置文件进行比较:
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
另外,您可以使用 --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. 验证配置文件

执行以下命令可以快速地决定用户配置文件是否与在红帽网络中的相关文件不同:
rhncfg-client verify
您将会看到以下的输出:
修改的 /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)是用来维护红帽网络的配置文件和频道中央库,而不是那些用户端系统中的配置文件和频道。这个工具提供命令行工具,与在 RHN 网站进行的管理功能相同,并可以将部分或者全部相关维护任务编写成脚本。
它旨在由配置管理员使用的,且需要有适当权限的红帽网络用户名和密码。可在 /etc/sysconfig/rhn/rhncfg-manager.conf~/.rhncfgrc 中的 [rhncfg-manager] 项中指定该用户名。
当以 root 用户运行 Red Hat Network Configuration Manager 时,它会尝试从 Red Hat Update Agent 中提取需要的配置值。如果以 root 用户以外的身份运行时,您需要在 ~/.rhncfgrc 文件中进行配置更改。这个会话文件会临时保存在 ~/.rhncfg-manager-session 缓存中,这样就不需要在运行每个命令时都进行登录。
Red Hat Network Configuration Manager 默认的超时时间是 30 分钟。您可以通过在运行这个程序的服务器中的 /etc/rhn/rhn.conf 文件中添加 server.session_lifetime 选项和新的值到更改这个时间,如:
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 的选项” 中看到 add 模式的选项列表。

1.1.3.1. 创建配置频道

运行以下命令可以创建配置频道:
rhncfg-manager create-channel channel-label
如果提示输入您的 Red Hat Satellite 用户名和密码,请输入这些内容,并可在输入后看到以下输出:
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 上下文
-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 . 
您将会看到以下的输出:
正在复制 /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. 获得文件的内容

运行以下命令将具体文件的内容输出到 stdout:
rhncfg-manager get --channel=channel-label \ /tmp/dest_path/example-config.txt 
您将会看到这个文件内容的输出。

1.1.3.7. 列出某个频道的所有文件

运行以下命令列出某个频道中的所有文件:
rhncfg-manager list channel-label
您将会看到类似的输出:
配置频道 `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 
您将会看到以下的输出:
可用配置频道: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 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 
您将会看到以下的输出:
正在删除配置频道 example-channel,已删除配置频道 example-channel。

1.1.3.11. 决定文件修订本号

运行以下命令找出某个频道中的某个 file/path 的所有修订版本号(修订版本从 1到 N,其中 N 是一个大于 0 的整数):
rhncfg-manager revisions channel-label /tmp/dest_path/example-config.txt 
您将会看到以下的输出:
分析配置频道 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
您将会看到以下的输出:
Push 到频道 example-channel: 本地文件 example-channel/tmp/dest_path/example-config.txt -> \ 远程文件 /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
您将会看到以下的输出:
使用配置频道 example-channel4 上传 /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. 监控

红帽网络监控授权允许您执行全部用来保持您的系统正常、有效运行的托管动作。使用它,您可以时刻监控系统资源、网络服务、数据库以及标准的应用程序和自定义的应用程序。
监控提供了实时和历史状态更改信息以及具体度量数据。它可在问题变得严重前发出系统失败通知并将性能降级。它还可以为您提供帮助进行功能规划和事件修正的信息。例如,记录跨系统 CPU 用量的探测结果可以帮助平衡那些系统中的负载。
监控系统有两个部分:监控系统本身以及监控侦察。监控系统安装在 Satellite 中,并执行后端功能,比如保存监控数据和执行监控。监控侦察运行所有探测并收集监控数据。可启用监控侦察使其在 Satellite 或者 Red Hat Satellite Proxy 系统中运行。在 Proxy 中使用监控侦察可让您减轻 Satellite 服务器的负载,为探测提供伸展性。
监控需要建立通知方法、在系统中安装探测、定期查看所有探测的状态以及生成显示系统或服务的历史数据的报告。本小节着重论述与监控授权相关的常见任务。请记住,所有对您的监控构架产生影响的更改都必须最终通过「侦察配置 Push」页来更新您的配置。

1.2.1. 前提条件

在您的构架中使用红帽网络监控前,请确定已安装所有需要的工具。您最少需要:
  • 监控授权 - 所有要被监控的系统都需要这个授权。只有红帽企业版 Linux 系统支持监控。
  • 有监控授权的 RHN Satellite - 监控系统必须连接到使用红帽企业版 Linux 5 或者之后版本基本操作系统的 Satellite。
  • 监控管理员 - 只有分配了这个角色的用户才可安装探测、创建通知方法或以任何形式更改监控设施。(请记住,Satellite 管理员会自动继承您机构内所有其他角色的功能,因此可以执行这些任务。)。您可以通过「用户详情」页为用户分配这个角色。
  • Red Hat Network monitoring daemon - 被监控的系统需要这个守护进程和用于侦察的 SSH 密钥以便执行内部进程监控。但您可以使用系统现有 SSH 守护进程(sshd)运行这些探测。安装步骤以及需要这个安全连接的侦测的列表请参阅 第 1.2.2 节 “配置红帽网络监控守护进程(rhnmd)”。完整可用探测列表请参考 附录 A, 探测

启用监控

默认情况下禁用监控,使用前需要启用它。
  1. 作为有 Satellite 管理员特权的用户登录并导航至「管理」「Red Hat Satellite 配置」。点击「启用监控」,然后点击「更新」按钮保存。
  2. 重启服务使更改生效。进入「重启」标签重启该 Satellite。这将导致 Satellite 离线几分钟。
  3. 检查「 Red Hat Satellite 配置」中的「监控」标签是否可用以便确定启用了监控。
  4. 导航至「管理」「 Red Hat Satellite 配置」「监控」。点击「启用监控侦查」启用该侦查。点击 更新配置 保存。

注意

建议您使用默认的监控配置值。需要将 Sendmail 配置为使用通知。

1.2.2. 配置红帽网络监控守护进程(rhnmd

为了获得最多的监控授权,红帽建议您在用户端系统中安装 Red Hat Network Monitoring Daemon。在 OpenSSH 的基础上,rhnmd 可让 Satellite 与用户端系统建立一个安全的连接来访问内部的进程并搜索探测状态。
请注意,Red Hat Network Monitoring Daemon 需要被监控的系统允许端口 4545 中的连接。您可以使用 sshd 避免使用这个端口并安装这个守护进程。详情请参阅 第 1.2.2.2 节 “配置 SSH”
有些探测需要该守护进程。在运行以下探测的客户端系统中需要加密的连接,可以是 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

安装红帽网络监控守护进程以便准备使用 rhnmd 识别的探测监控系统。请注意,如果您想要使用 sshd 允许红帽网络监控基础设施与监控的系统之间的安全连接,则本小节中的步骤是可选的。具体步骤请参考 第 1.2.2.2 节 “配置 SSH”
在所有红帽企业版 Linux 发行本的红帽网络工具频道中都有 rhnmd 软件包。请使用以下方法安装:
  1. 在与该系统关联的红帽网络工具频道中订阅要监控的系统。您可以在「系统详情」「频道」「软件」子标签中单独订阅系统,或者也可以在「频道详情」「目标系统」中一次订阅多个系统。
  2. 订阅后请打开 「频道详情」「软件包」 标签并找到 rhnmd 软件包(在 'R' 下)。
  3. 点软件包的名称打开「软件包详情」页。进入「目标系统」标签页,选择需要的系统后点 安装软件包
  4. 第 1.2.2.3 节 “安装 SSH 密钥” 所述中在所有需要被监控的客户端系统中安装 SSH 公共密钥。
  5. 使用以下命令在所有的客户端系统中启动 Red Hat Network monitoring daemon。
    service rhnmd start
  6. 当添加探测需要这个守护进程时,接受「RHNMD 用户」「RHNMD 端口」的默认值:分别为 nocpulse4545

1.2.2.2. 配置 SSH

如果您想安装红帽网络监控守护进程,并在用户端系统中打开端口 4545,您可以配置 sshd 提供系统和红帽网络间的加密连接。如果您已经运行了 sshd,则更需要这种方法。要配置用于监控的守护进程,请:
  1. 确定在需要被监控的系统中安装了 SSH 软件包:
    rpm -qi openssh-server
  2. 使用该守护进程识别关联的用户。这可以是系统中任意有效用户,只要可将所需的 SSH 密钥写入这个客户端 ~/.ssh/authorized_keys 文件中即可。
  3. 识别这个守护进程使用的端口,如在 /etc/ssh/sshd_config 配置文件中识别。它的默认端口是端口 22。
  4. 第 1.2.2.3 节 “安装 SSH 密钥” 所述中在所有需要被监控的客户端系统中安装 SSH 公共密钥。
  5. 使用以下命令在所有的客户端系统中启动 sshd
    service sshd start
  6. 当添加探测需要这个守护进程时,在「RHNMD 用户」和「RHNMD 端口」字段输入从第 2 和第 3 步中得到的值。

1.2.2.3. 安装 SSH 密钥

无论您是使用 rhnmd 还是 sshd,您都必须在被监控的系统中安装红帽网络监控守护进程公共 SSH 密钥来完成安全连接。要安装它:
  1. 在 Satellite 界面中导航至「监控」「Scout Config Push」页后,点击所要监控用户端系统的侦察名称。得到的页面中会显示 SSH id_dsa.pub 密钥。
  2. 复制字符串(以 ssh-dss 开始并以 Satellite 的主机名结束)。
  3. 在左侧导航栏中选择「系统」,并点击您想要向其发送该 SSH 密钥的系统旁边的选择框。点击顶部的「管理」按钮完成。
  4. 「System Set Manager」中点击「运行远程命令」,然后在「脚本」文本框中输入以下行:
    #!/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. 设定您要执行此动作的日期和时间,然后点击「调度远程命令」
将这个密钥存入适当的位置并可以访问后,所有需要它的探测就允许在监控设施和被监控的系统间的 ssh 连接。然后您就可以根据新配置的系统调度运行需要监控守护进程的探测。

1.2.3. 为探测配置 mysql 软件包

如果您的 Red Hat Satellite 将根据您希望运行 MySQL 的探测服务于有监控授权的用户端系统,则您必须在 Red Hat Satellite 中配置 mysql 软件包。所有可用探测的列表请参考 附录 A, 探测
在红帽企业版 Linux 基本频道中订阅 Satellite 并使用或 up2dateyum 或者红帽网络托管安装 mysql 软件包。
完成后,您的 Satellite 即可用来调度 MySQL 探测。

1.2.4. 启用通知

除了在红帽网络界面中查看探测的状态,还会在探测状态改变时通知您。在您监控关键任务产品系统时,这个功能就尤其重要。因此,红帽建议您使用这个功能。
要在红帽网络中启用探测通知,您必须在安装 Red Hat Satellite 时指定邮件交换服务器和邮件域,并正确配置 sendmail 正确处理收到的邮件。详情请参阅《RHN Satellite 安装指南》中的《安装》一节。

1.2.4.1. 生成通知的方法

可使用通知方法,即与具体红帽网络用户关联的电子邮件或者页面调度程序地址发送通知。虽然这个地址是与具体用户帐户绑定,但它也可使用别名或者邮件列表为多个管理员提供服务。每个用户帐户可以包括多个通知方法。使用以下方法建立通知方法:
  1. 以 Satellite 管理员或监控管理员的身份登录到 Satellite。
  2. 导航至「用户」并选择该用户名。在「用户详情」页面中点击「通知方法」「创建新方法」
  3. 为这个方法名输入一个描述性的标签,如 DBA day email,以及正确的电子邮件地址。请记住,所有通知方法的标签会在生成探测的过程中以单一的列表出现,因此它们应该在您的机构内是唯一的。
  4. 如果您希望将简化信息发送到该电子邮件地址,您需要选择这个选择框。这个简单格式只包括探测状态、系统主机名、探测名、信息的时间和发送 ID。标准的详细格式会显示额外的信息标头、系统和探测的详情以及回应的步骤。
  5. 完成后点击 创建方法。此时应在「用户详情」「通知方法」标签以及「监控」分类项下的「通知」页面中显示新的方法。点击名称就可以编辑或者删除它。
  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 表示探测或系统;duration 表示重定向的时间段;email_address 表示指定的收件人。例如:
 ACK METOO host 1h boss@domain.com 
这些内容不需要大写。Duration 可以以分钟、小时或天为单位列出。电子邮件地址只用于重定向(REDIR)和对补充的(METOO)通知。
所得电子邮件中包含的动作描述默认由用户输入命令。列出的原因是这个动作的概述,如 email ack redirect by user@domain.com(这里的 user 是这个电子邮件的发送者)。

注意

几乎所有探测通知都可以通过使用类似于 ack suspend host 的命令答复通知邮件来停止或重导向。不过,您不能够使用 ack suspend host 或其他重导向答复来停止 Satellite 探测通知。这些探测需要您在 Satellite 网页界面内更改通知。

1.2.4.4. 删除通知方法

现有方法和探测之间的关系可让这个删除通知方法的过程变得复杂。按以下步骤操作删除通知方法:
  1. 以 Satellite 管理员或监控管理员的身份登录到 Satellite。
  2. 导航至「监控」「通知」页面并点击要删除的方法名称。
  3. 「用户」「用户详情」「通知方法」标签中点击「删除方法」。如果该方法未与任何探测关联,则会为您显示确认页面。点击 确认删除。此时会删除该方法。

    注意

    因为通知方法的名称和地址都是可编辑的,您可以考虑使用更新方法而不是删除方法。这样做的好处是,它可以在不编辑每个探测并创建一个新通知方法的情况下,为使用这个方法的探测重定向通知。
  4. 如果这个方法与一个或多个探测相关联,您将不会看到确认页。一个使用这个方法的侦测和连接到这个探测的系统列表会出现。点探测的名字可以进入「系统详情」「探测」标签。
  5. 选择另一个通知并点击 更新探测
  6. 返回到「监控」「通知」页面并删除该通知方法。

1.2.5. 关于探测

现在已安装红帽网络监控守护进程并创建了通知方法,您可以开始在您有监控授权的系统中安装探测。如果这个系统有监控授权,在「系统详情」页中会出现「探测」标签。这里您可以执行大多数与探测相关的任务。

1.2.5.1. 管理探测

使用 Red Hat Satellite 服务器创建探测。创建探测后,会将其推广至在 Satellite 中注册的有监控授权的系统中。按以下步骤操作在 Satellite 服务器中添加探测:
  1. 作为该系统的 Satellite 管理员或者系统组管理员登录到 Satellite。
  2. 导航至「系统详情」「探测」标签并点击「创建新探测」
  3. 「创建系统探测」页中,输入所有所需信息。首先,选择探测命令组。这可改变可用的探测列表和其他字段及要求。附录 A, 探测 中包括了命令行探测的完整列表。请记住,有些探测需要在用户端系统中安装红帽网络监控守护进程。
  4. 选择需要的探测命令和监控侦察,通常是 Red Hat Monitoring Satellite,但也可能是 Red Hat Satellite Proxy 服务器。为这个探测输入唯一的描述。
  5. 选择「探测通知」选择框来在探测状态改变时接收通知。使用「探测检查间隔」下拉菜单来选择发送通知的间隔。选择 1 分钟(和「探测通知」选择框)意味着当探测超过了它的 CRITICAL 或 WARNING 界限的时候,您每分钟都会接收到通知。请参阅 第 1.2.4 节 “启用通知” 了解如何创建通知方法和确认它们的信息。
  6. 当它们出现的时候,使用「RHNMD 用户」「RHNMD 端口」字段强制让探测使用 sshd 通讯,而不使用红帽网络监控守护进程。详情请参阅 第 1.2.2.2 节 “配置 SSH”。否则,请分别接受默认值:nocpulse4545
  7. 如果出现「超时」字段,检查默认的设置并调整它来满足您的要求。大多数超时(不是全部)都会形成一个 UNKNOWN 状态。如果这个探测的统计数据是基于时间的,请确保超时的值小于设定的界限值。否则的话,这些统计数据就没有任何用处,因为在达到界限值前,探测就超时了。
  8. 使用其他的项建立这个探测的警告阈。CRITICAL 和 WARNING 的值决定了在哪一点探测的状态发生了改变。详情请参阅 第 1.2.5.2 节 “设定阈(threshold)”
  9. 完成后,点「创建探测」。请记住,您必须在「侦察配置 Push」页中提交您的监控配置更改后方可生效。
要删除某个探测,请导航至「当前状态」页面(方法是在「系统详情」「探测」标签中点击该名称),并点击「删除探测」。最后确认该删除。

1.2.5.2. 设定阈(threshold)

许多 Red Hat Satellite 提供的探测都包括一个警告阈。当超过这个阈的时候,探测的状态就发生了改变。例如,Linux::CPU Usage 探测为当前的 CPU 使用设置了 CRITICAL 和 WARNING 阈值。如果某个被监控系统 75% 的 CPU 资源被使用,而且 WARNING 的阈值是 70,这个探测就会进入 WARNING 状态。一些探测会提供多个这样的阈值。
要获得最大的监控授权并避免失败的通知,红帽建议在不每次为每个系统中建立基准性能发通知时运行您的探测。虽然为探测提供的默认值可能会适合您,但每个不同的机构都会有不同的环境,这需要对阈进行适当的修改。

1.2.5.3. 监控 Satellite 服务器

除监控您所有客户端系统中,您还可能要使用红帽网络区监控您的 Satellite 或者 Proxy。要监控您的 Satellite 或者 Proxy,请找到由该服务器监控的系统,并进入该系统的「系统详情」「探测」标签。
「创建新探测」并选择「Satellite」探测命令组。然后完成其他需要设定的项。详情请参阅 第 1.2.5.1 节 “管理探测”
虽然这个 Ratellite 或者 Proxy 看起来是被用户端系统监控的,实际上这个探测是在服务器中运行的。阈和通知可正常工作。

注意

所有需要红帽网络监控守护进程连接的探测都不能在运行监控软件的 Red Hat Satellite 或者 Red Hat Satellite Proxy 服务器中使用。这包括 Linux 命令组中的大多数探测以及 Log Agent 探测和远程程序探测。使用 Satellite 命令组探测来监测 Red Hat Satellite 和 Red Hat Satellite Proxy 服务器。在进行 Proxy 侦查时,报告数据的系统中会列出探测。

1.2.6. 监控

当您点顶部导航栏中的「监控」标签页时会出现「监控」类别和链接。这些需要 Monitoring 授权的页允许您查看您所设置的侦测对有 Monitoring 授权系统探测的结果,并管理您监控设施配置。
使用「系统详情」页中的「探测」标签页启动您的系统监控。有关可用探测的完整列表请参考 附录 A, 探测

1.2.6.1. 探测状态

重要

查看此标签需要监控授权。
在您点击顶部导航栏中的「监控」标签时会默认显示「探测状态」页。
「探测状态」页显示了处于不同状态的探测的数量并为快速查找有问题的探测提供了一个简单的界面。请注意在这个页顶部的标签页中的探测总数可能与这个表格中的数目不同。在上面的数据包括了您机构内所有系统的探测,而表格中的数据只显示了您通过系统组管理员角色访问的系统中的探测。另外,这里的探测可能在过去的一分钟内没有被同步。
以下列表描述了每个状态并显示了与它们相连的图标:
  • -- 严重(Critical) - 探测已经超过 CRITICAL 界限。
  • -- 警告(Warning) - 探测已经超过 WARNING 界限。
  • -- 未知(Unknown) - 探测无法准确报告度量或者状态数据。
  • -- 等待处理(Pending) - 已经计划探测但还没有运行或者无法运行。
  • -- 确定(OK) - 探测成功运行。
「探测状态」页包括每个可能状态的标签页并有一个包括了所有探测的标签页。每个页都包括了指示探测状态、被监控的系统、使用的探测以及最后更新这个状态的日期和时间的栏目。
在这些表格中,点系统名会进入「系统详情」页中的「监控」标签页。点探测名可以进入它的「当前状态」页。在那里您可以编辑、删除该探测,或者根据其结果生成报告。
以前只有通过 web 界面才能获得的监控数据和探测状态信息,现在可以最为 CSV 文件导入。点击 监控 页中的「下载 CSV」链接下载相关信息的 CSV 文件。导出的数据可能会包括(当不仅限于)以下信息:
  • 探测状态
  • 所有给出状态(OK, WARN, UNKNOWN, CRITICAL, PENDING)的探测
  • 探测事件历史记录
1.2.6.1.1. 探测状态 ⇒ Critical

重要

查看此标签需要监控授权。
超过 CRITICAL 阈值或因为其他原因进入 critical 状态的探测。例如:一些探测会在超时后进入 critical(而不是 unknown) 状态。
1.2.6.1.2. 探测状态 ⇒ Warning

重要

查看此标签需要监控授权。
这个探测超过了它们的 WARNING 阈值。
1.2.6.1.3. 探测状态 ⇒ Unknow

重要

查看此功能需要监控授权。
无法获得用来决定探测状态的数据的探测。大多数,并不是全部探测会在超过了它们的超时期后进入未知状态。这意味着您所设置的超时期可能太短了,需要增加;或无法建立到被监控系统的连接。
这也可能是由于探测的配置参数不正确,且无法找到其数据。最后,这个状态还可能表示发生了软件错误。
1.2.6.1.4. 探测状态 ⇒ Pending

重要

查看此标签需要监控授权。
红帽网络还没有收到数据的探测。在探测已被调度,但还没有运行时会产生这个状态。如果所有的探测都是等待处理的状态,您的监控设施可能出现了问题。
1.2.6.1.5. 探测状态 ⇒ OK

重要

查看此标签需要监控授权。
成功完成这个探测,没有任何意外。所有的探测都应该是这个状态。
1.2.6.1.6. 探测状态 ⇒ All

重要

查看此标签需要监控授权。
所有您帐户中在系统中调度的探测,根据系统名称的字母顺序列出。
1.2.6.1.7. 当前状态

重要

查看此标签需要监控授权。
表示所选择探测的状态以及它最后一次运行的时间,并提供产生这个探测报告的功能。虽然这个页包括在监控中,它还可以在「系统详情」页中的 「探测」标签页中找到。这是因为它的配置是针对被监控的系统的。
要查看探测结果报告,请使用「日期」项来选择相关的时间并决定您是否需要查看统计数据、状态更改历史记录或全部。要获得统计数据,选择您需要的数据并决定(使用选择框)以什么形式(图形、错误日志或全部)显示结果。然后点这个页底部的 生成报告 按钮。如果这个探测的统计中没有数据,您会得到一个 NO DATA SELECTED TIME PERIOD AND METRIC (在指定的时间段中没有找到数据)的信息。

1.2.6.2. 通知

重要

查看此标签需要监控授权。
识别已经为您的机构建立的联系方法。这些方法包括探测所发出的警告被发送的电子邮件或寻呼机地址。
在默认的「通知」屏幕中列出了您的机构可以选择使用的、不同的通知方法。这些通知方法会根据适用它们的用户来列出。
要创建新的通知方法,请点击要使用这个通知的用户名。此时会出现该客户端用户详情 ⇒ 通知方法页面。点击通知方法的标题编辑该方法的属性。
1.2.6.2.1. 通知 ⇒ 过滤器
通知过滤器可让您创建暂停、重定向、自动告知收到通知和发送补充通知的长期规则。它在管理非常活跃或需要输出详细信息的探测时非常有用。
1.2.6.2.1.1. 通知 ⇒ 通知过滤器 ⇒ 活跃的过滤器
这是通知过滤标签页的默认屏幕。它列出了对您的机构有效的所有活跃的过滤。点过滤器的名称可以编辑这个过滤器的属性。
要创建通知过滤器,请点这个屏幕右上角的「创建新通知过滤器」链接。配置它所列出的每个选项,然后点 保存过滤 创建这个过滤器。
  1. 描述:为这个过滤输入值来和其他的过滤区分。
  2. 类型:决定这个过滤将执行什么行动:重定向、确认收到、暂时停止或补充收到的通知。
  3. 发送到:第二步中的选项「重定向通知」和「补充通知」 需要一个发送的电子邮件地址。其他的选项不需要电子邮件地址。
  4. 范围:决定将该过滤器用于哪个监控组件。
  5. 机构/侦察/探测:这个选项允许您选择这个过滤对哪些机构、侦察或探测适用。要从这个列表中选择多个项,在点项的名称的时候按住 Ctrl 键。要选择连续的一组项时,按住 Shift 键后点第一个项和最后一个项。
  6. 属于这个状态的探测:选择这个过滤适用于哪些探测状态。例如,您可以选择只为严重状态的探测生成补充通知。对于那些您希望该过滤器忽略的状态,请取消选择其左侧的选择框。
  7. 通知发送到:在没有过滤器的情况下,通知将要发送到的方法。例如,如果在通常情况下接收通知的用户正在休假,您可以将这个用户接收的通知重定向到其他的地址,而其他探测通知将不会改变。
  8. 匹配输出:在这里输入正则表达式来选择准确的输出。如果通知的 "Message:" 部分与正则表达式不匹配,则将不会使用这个过滤器。
  9. 重复:选择过滤器是持续运行还是重复运行。重复运行的过滤器在比过滤器的时间段较短的时间范围内运行多次。例如,重复过滤器可以在过滤器启动和结束的时间段内每小时运行10分钟。非重复的过滤器在过滤器启动和结束间持续运行。
  10. 开始:输入这个过滤器开始执行的日期和时间。
  11. 结束:输入这个过滤器结束的日期和时间。
  12. 重复周期:循环过滤器的激活时间。该字段仅应用于循环过滤器,在以上指定的「开始」时间开始。对于可以重复使用的过滤器,在这个重复时间段外产生的通知将不会被过滤。
  13. 重复频率:过滤器被重复使用的频率。
无法删除通知过滤器。但是,您可以通过将过滤器结束的时间设为一个过去的时间来取消这个过滤器。(请注意,结束的时间必须等于或晚于开始的时间,否则改变将失败。)另外一个方法是在「激活」页中选择一组过滤器,然后点击右下角的 过期通知过滤器 按钮。这些过滤器将被取消,并出现在「过期的过滤器」页中。
1.2.6.2.1.2. 通知 ⇒ 通知过滤器 ⇒ 过期的过滤器
这个标签页列出了超出其结束时间的所有通知过滤器。过期的过滤器会被永久保存,这样就可以使一个机构重新使用有用的过滤器并为故障排除提供历史记录。

1.2.6.3. 探测套件

探测套件可让您在一个系统或一组系统中配置和应用一个或多个探测。探测套件仅需配置一次就可在任意数量的系统中应用。这为监控用户节省时间,同时也增强一致性。
要创建并应用探测套件,首先需要创建探测套件本身,然后配置它所包括的探测,最后在选择的系统中应用这个探测套件。
  1. 在监控 ⇒ 探测套件页中选择「创建新探测套件」链接。为这个探测套件输入一个容易区别的名称。您可以选择添加这个套件的简单描述。点 创建探测套件 按钮继续。
  2. 您必须现在就添加组成这个套件的探测。点右上方的「创建新探测」链接。
  3. 配置这个探测并点右下方的 创建探测 按钮。重复这个过程直到添加完所有探测。

    注意

    您必须在 Red Hat Satellite 中正确配置 Sendmail,并在每个应用了该探测套件的用户端系统中安装并运行 rhnmd 守护进程。详情请参阅《 Red Hat Satellite 安装指南》
  4. 在“系统”标签中添加使用探测套件的系统。点这个屏幕右上方的「将系统添加到探测套件」链接。
  5. 下一页显示了有监控授权的所有系统的列表。点击您希望应用探测套件的系统左侧选择框并点 将系统添加到探测套件 按钮来完成探测套件的创建。
您可以从套件中删除或分离探测。分离探测解除探测和套件的关联,将探测转化成指定系统的指定探测。这意味着对分离探测的改变只影响到那个系统。从套件中删除探测会将它从所有系统中删除。
从探测套件中删除探测:
  1. 在监控 ⇒ 探测套件页中点您需要修改的探测套件的名称。
  2. 选择「探测」子标签页。
  3. 选择您想删除的探测旁的选择框。
  4. 从探测套件中删除探测 按钮。
您还可以从一个探测套件中删除系统。有两种方法可以完成这个任务。第一种方法是从探测套件中将系统剥离。这样做仍然会为系统分配同样的探测,但是您现在可以分别配置这些探测而不会影响到其他系统。
要从探测套件中分离探测:
  1. 「监控」「探测套件」页中点您需要修改的探测套件的名称。
  2. 选择「系统」子标签页。
  3. 选择您想从探测套件中删除的系统旁的选择框。
  4. 从探测套件中分离系统 按钮。
第二种方法是从套件中删除系统。这会从套件中删除系统,并从系统中删除所有运行的探测。

注意

该动作从系统中删除所有探测套件的探测以及所有时间记录和事件日志数据。该动作不可逆转。
要从探测套件中删除系统并从系统中删除所有相关的探测:
  1. 在监控 ⇒ 探测套件页中点您需要修改的探测套件的名称。
  2. 选择「系统」子标签页。
  3. 选择您想从探测套件中删除的系统旁的选择框。
  4. 从探测套件中删除系统 按钮。
最后,作为一个单独的探测,您可以下载包括探测套件信息在内的 CVS 文件。点「监控」「探测套件」页底部的「下载 CSV」下载文件。

1.2.6.4. 侦察配置 Push

重要

查看此标签需要监控授权。
显示您的监控系统的状态。在任何时候您更改监控配置,例如添加了一个探测或编辑了一个探测的阈值,您必需重新配置您的监控设施。选择红帽网络服务器的选择框后点 侦察配置 push。这个表格指定了请求的和完成的 push 任务的日期和时间。
点击服务器名称会打开其 Red Hat Network Monitoring Daemon SSH SSH 公钥。这允许您将 SSH 公钥复制到由侦察监控的系统中。这样 Red Hat Network Monitoring Daemon SSH 方可连接到 Satellite。

1.2.6.5. 常规监测配置

重要

查看此标签需要监控授权。
「管理」「Red Hat Satellite 配置」「监控」中的常规监控配置页。它搜集您的监控设施的通用信息。更改本页中的任何内容将会导致重新配置 Red Hat Satellite 中的监控服务。它还会在所有连接到这个 Satellite,并启用了监控的 Red Hat Satellite Proxy 中为监控服务调度重启事件。完成后这些服务器中的监控服务会立即重新载入其配置。
通常情况下,在其他字段使用默认设置即可,这是因为它们是从 Satellite 安装中获得的。但是,您可以使用本页中的项来修改您的监控配置。例如:您可以在这里更改邮件交换服务器。在本页中您还可以更改所有来自该 Satellite 的管理邮件的目的地。完成后,点 更新配置

1.3. 多个 Satellite

Satellite 间同步(ISS)可让 Satellite 与另一个 Satellite 实例间以对等关系同步内容和权限。但在下面的小节中,接收内容的 Satellite 是“辅 Satellite”,同时作为源从中提取内容的 Satellite 被称为“主 Satellite”。当使用 ISS 同步内容时,辅 Satellite 实例可能与主 Satellite 在非内容条目有不同的设置,比如用户和机构。可根据主实例中情况为辅实例中的 Satellite 管理员随意添加、删除或者更改条目。

注意

主、辅是遗留下来的术语,包含 ISS 协议不强制使用的注释。学习本小节时请记住上述严格的含义。
可根据机构的不同需要以不同的方式使用 ISS 功能。有一种 ISS 设置可让两个 Satellite 同时互为主、辅。本小节论述了使用案例以及如何设置 ISS 以便适应您的机构。

ISS 要求

以下是使用 ISS 的前提条件:
  • 两台或者更多的 Red Hat Satellite 服务器
  • 至少在一台 Red Hat Satellite 中使用至少一个频道
  • 所有 Satellite 系统中特别用于 ISS 的 Satellite 管理员特权

1.3.1. Satellite 之间的同步

您可以手动或者使用新工具 spacewalk-sync-setup 配置 ISS。这两种方法都很有效,选择哪一种全凭用户自己选择。

1.3.1.1. 手动配置

过程 1.1. 配置主 Satellite 服务器

在 Satellite 5.6 中,ISS 可允许辅 Satellite 复制机构内可信的层级并在主服务器中配置的设定中自定义频道权限。方法是从主 Satellite 中导出有关具体机构的信息以便接收辅 Satellite。然后辅 Satellite 中的 Satellite 管理员就可以将主机构与具体辅机构映射。今后 satellite-sync 操作将使用这个信息为与具体主机构映射的辅机构分配自定义频道拥有者。它还可以映射显露的主机构与映射的辅机构之间的信托关系,创建辅机构间的平等关系。
  1. Web 界面中:
    1. 以 Satellite 管理员身份登录。
    2. 点击「管理」「ISS 配置」「主设置」
    3. 在屏幕右首角落中点击 添加新辅机构 链接。
    4. 填写以下信息:
      • 辅完全限定域名(FQDN)
      • 允许辅服务器同步?- 选择这个字段将允许辅 Satellite 访问这个主 Satellite。否则访问这个辅 Satellite 将会被拒绝。
      • 将所有机构与辅机构公布?- 选中这个字段会将所有机构与辅 Satellite 同步。

      注意

      在主服务器设置页面中选择「将所有机构与辅服务器同步?」选项将覆盖所有在以下本地机构表格中所选机构。
    5. 点击 创建 按钮。
    6. (可选)点击所有要导出到辅 Satellite 的本地机构。
    7. 点击 允许机构 按钮。

      注意

      在 Satellite 5.5 中,主 Satellite 使用 /etc/rhn/rhn.conf 文件中的 iss_slaves 参数识别哪个辅 Satellite 可以与主 Satellite 联络。Satellite 5.6 则使用主 Satellite 设置页面确定这个信息。
  2. 在命令行中:
    1. /etc/rhn/rhn.conf 文件中启用 satellite 间同步(ISS)功能:
      disable_iss=0
      
    2. 保存配置文件并重启 httpd 服务:
      service httpd restart
      

过程 1.2. 配置辅服务器

辅 satellite 服务器是要接收与主服务器同步的内容的机器。
  1. 要安全将内容传送到辅服务器中,您需要来自主 RHN Satellite 服务器的 ORG-SSL 证书。您可通过 HTTP 在任意 Satellite 的 /pub/ 目录中下载这个证书。文件名为 RHN-ORG-TRUSTED-SSL-CERT,您可为其重命名并保存在辅 Satellite 的任意目录中,比如 /usr/share/rhn/ 目录。
  2. 以 Satellite 管理员身份登录辅 Satellite。
  3. 点击「管理」「ISS 配置」「辅设置」
  4. 在屏幕右首角落中点击 添加新主机构 链接。
  5. 填写以下信息:
    • 主完全限定域名(FQDN)
    • 默认主服务器?
    • 这个主 Satellite 的 CA 证书的文件名 - 使用此过程起始步骤中下载的 CA 证书的全路径。
  6. 点击 添加新主服务器 按钮。

过程 1.3. 执行 Satellite 间同步

配置完成主服务器和辅服务器后,您可以在二者间执行同步。
  • 然后运行 satellite-sync 命令开始同步:
    satellite-sync -c your-channel

    注意

    satellite-sync 命令的所有命令行选项都会覆盖 /etc/rhn/rhn.conf 文件的自定义设置。

过程 1.4. 将主 Satellite 中导出的机构与辅 Satellite 的机构映射

前提条件

完成前面的步骤后,将在辅 Satellite 的「管理」「ISS 配置」「辅设置」项下显示这个主 Satellite。如果没有出现,则请重新检查上述步骤。

主 Satellite 中的机构名称映射可允许在主 Satellite 中设定访问权限,并在将内容与辅 Satellite 同步时推广。不需要将所有机构和频道详情与所有辅 Satellite 映射,Satellite 管理员可以通过允许或者忽略的映射选择要同步的权限和机构。
要完成映射,请在辅 Satellite 中完成以下步骤:
  1. 以 Satellite 管理员身份登录。
  2. 点击「管理」「ISS 配置」「辅设置」
  3. 点击其名称选择主 Satellite。
  4. 使用下拉框将导出的主机构名称与辅 Satellite 中的本地机构映射。
  5. 点击 更新映射
  6. 在命令行中,为每个自定义频道使用 satellite-sync 命令以便获得正确的信托结构和频道权限:
    satellite-sync -c your-channel
    

1.3.1.2. 自动配置

spacewalk-sync-setup 允许用户指定主 Satellite 和辅 Satellite 实例,并使用配置文件设置描述主设置和辅设置的信息。如果有必要可以创建一组默认配置文件。尤其重要的是它可自动化设置并映射之前手动完成的设置。
前提条件

为使自动配置成功:

  • 需要在系统中安装可执行 spacewalk-sync-setup 命令的 spacewalk-util 软件包。
  • 必须显示主 Satellite 中有自定义权限的现有机构。
  • 必须显示有辅 Satellite 的现有机构。

过程 1.5. 配置主 Satellite 服务器

  1. /etc/rhn/rhn.conf 文件中启用 satellite 间同步(ISS)功能:
    disable_iss=0
    
  2. 保存配置文件并重启 httpd 服务:
    service httpd restart
    

过程 1.6. 配置辅服务器

辅 satellite 服务器要将其内容与主服务器同步的机器。
  1. 要安全将内容传送到辅服务器中,您需要来自主 RHN Satellite 服务器的 ORG-SSL 证书。您可通过 HTTP 在任意 Satellite 的 /pub/ 目录中下载这个证书。文件名为 RHN-ORG-TRUSTED-SSL-CERT,您可为其重命名并保存在辅 Satellite 的任意目录中,比如 /usr/share/rhn/ 目录。
  2. 以 Satellite 管理员身份登录辅 Satellite。
  3. 点击「管理」「ISS 配置」「辅设置」
  4. 在屏幕右首角落中点击 添加新主机构 链接。
  5. 填写以下信息:
    • 主完全限定域名(FQDN)
    • 默认主服务器?
    • 这个主 Satellite 的 CA 证书的文件名 - 使用此过程起始步骤中下载的 CA 证书的全路径。
  6. 点击 添加新主服务器 按钮。

过程 1.7. 使用 spacewalk-sync-setup 将主 Satellite 机构与辅 Satellite 机构映射

  1. 登录系统。它是主 Satellite、辅 Satellite 或者不同的机构都无关紧要,只要该系统可访问主 Satellite 和辅 Satellie 的公共 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 是要连接的主 Satellite 的 FQDN
    • --ml=MASTER_LOGIN, --master-login=MASTER_LOGIN 是主 Satellite 的 Satellite 管理员登录
    • --mp=MASTER_PASSWORD, --master-password=MASTER_PASSWORD 是在主 Satellite 中 Satellite 管理员登录密码
    • --ss=SLAVE, --slave-server=SLAVE 是要连接的辅 Satellite 的 FQDN。
    • --sl=SLAVE_LOGIN, --slave-login=SLAVE_LOGIN 是辅 Satellite 的 Satellite 管理员登录
    • --sp=SLAVE_PASSWORD, --slave-password=SLAVE_PASSWORD 是在辅 Satellite 中 Satellite 管理员登录密码
    • --ct, --create-templates 是为我们指向的主/辅对创建主、辅设置文件的选项
    • --apply 让 Satellite 实例在指定的 Satellite 示例中根据设置文件进行修改

    注意

    有关更多设置选项:
    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. 机构间同步

Satellite 间同步还可用来将内容导入到具体机构中,可以本地执行,也可以使用远程同步。这个功能对多个机构间断开连接的 satellite 非常有用,您可以通过频道转储搜索内容,或者从连接的 satellite 中导出,然后导入到断开连接的 satellite 中。机构间同步可用于从连接的 satellite 中导出自定义频道。它还可用于在机构间有效地移动内容。
机构间同步遵循以下明确规则以便保持源机构的完整性:
  • 如果源内容属于 NULL 机构(即红帽内容),它将默认使用 NULL 机构,即使指定了目的机构也会如此。这是要保证指定的内容总是在特许的 NULL 机构中。
  • 如果在命令行中指定一个机构,它就会从那个机构中导入内容。
  • 如果没有指定机构,则默认使用机构 1。
以下是三个在 Satellite 间使用机构 ID(orgid)同步的示例情况:

例 1.1. 从主 satellite 中向辅 satellite 中导入内容

这个示例是从主 satellite 中向辅 satellite 中导入内容:
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. 从红帽网络托管的服务器导入内容

这个示例是导入红帽网络托管的内容(假设系统已经注册并激活):
$ satellite-sync -c channel-name

1.3.3. Satellite 间同步使用案例

Satellite 间同步(ISS)可有不同的使用方法,具体要看您机构的要求。本小节提供了如何选择使用 ISS、设定方法以及操作这些案例的示例。

例 1.4. 临时 Satellite

在这个示例中,将一个 Satellite 作为临时 Satellite 使用,用它来准备内容并执行软件包质量验证以保证其可在产品中使用。当确定内容可用于产品后,该产品 satellite 可与临时 satellite 的内容同步。
  1. 运行 satellite-sync 命令与「rhn_parent」(通常为红帽网络托管)中的数据同步。
    satellite-sync -c your-channel
    
  2. 运行以下命令与临时服务器中的数据同步:
    satellite-sync --iss-parent=staging-satellite.example.com -c custom-channel

例 1.5. 同步的辅服务器

在这个示例中,主 Satellite 直接将数据提供给辅 satellite,并定期同步其更改的内容。

例 1.6. 辅自定义内容

在这个示例中,主 satellite 是开发频道,在此可将内容发送到所有产品辅 satellite 中。有些辅 satellite 有附加的内容,这些内容不会出现在主 satellite 频道中。这些软件包是保留的,但所有主 satellite 中的更改都会被同步到辅 satellite 中。

例 1.7. 双向同步

在这个环境中,两个 Red Hat Satellite 服务器互为主、辅,并可互相同步其内容。运行 satellite-sync 命令的 Satellite 服务器将从另一台 Satellite 服务器中提取内容,并根据所运行 satellite-sync 命令选项同步数据。如果未添加任何选项,则同步将尝试更新之前同步的所有内容。
有关配置主 Satellite 的详情请参考 第 1.3.1.1 节 “手动配置”。将两台服务器都配置为主服务器则会形成双向同步。

第 2 章 Red Hat Satellite 以及具体 Solaris 信息

本小节论述如何在 Solaris 系统中使用 Red Hat Satellite。

2.1. UNIX 支持指南

2.1.1. 简介

本章描述用来管理基于 UNIX 的用户端系统的红帽网络功能的安装过程以及这些功能的区别。红帽网络提供 UNIX 支持来帮助用户从 UNIX 迁移到 Linux。由于该任务有其范围限制,UNIX 用户端管理所提供的功能没有像管理其他红帽企业版 Linux 系统所有的那么全面。
下面的章节论述了支持的 UNIX 种类、UNIX 管理系统支持的红帽网络功能、使用红帽网络管理 UNIX 系统的前提条件、以及 UNIX 用户端的安装过程。

2.1.1.1. 支持的 UNIX 种类

Red Hat Satellite 支持以下 UNIX 变体、版本、以及构架:

表 2.1. 支持的 Solaris 构架和版本

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

2.1.1.2. 前提条件

要获得 UNIX 支持,您需要具备以下条件:
  • Red Hat Satellite 5.0 或之后的版本
  • 有管理授权的 Satellite 证书
  • 每个 UNIX 客户端的管理授权
  • 用于 UNIX 的红帽网络软件包,其中包括 python,pyOpenSSL 和红帽网络用户端软件包。
  • 提供支持库的 Sunfreeware 软件包。

    注意

    一些软件包可以通过 Red Hat Satellite 获得。完整列表请参阅 第 2.1.3.1 节 “下载并安装附加软件包”

2.1.1.3. 所包含的功能

UNIX 支持级别中包含以下红帽网络中包含的功能:
  • Red Hat Network Service Daemonrhnsd),它根据可配置的间隔触发 rhn_check 命令
  • Red Hat Network Configuration Clientrhncfg-client),它执行所有 Satellite 中调度的配置动作
  • Red Hat Network Configuration Managerrhncfg-manager),它允许使用命令行来管理红帽网络配置频道
  • rhn_check 程序。它使用 Satellite 服务器进行检查,并执行来自服务器的调度动作。
  • 所有管理级别的功能,如系统归类、软件包侧写比较、以及使用 System Set Manager 同时管理多个系统
  • 被称为远程命令的指配功能。只要客户端允许,它就可让用户使用 Satellite 网站在任意被管理的客户端中调度 root 级别的命令。

2.1.1.4. 功能差别

以下红帽网络功能在 UNIX 环境中有所不同:
  • UNIX 的 Red Hat Update Agent 提供的选项比 Linux 的 Red Hat Update Agent 提供的选项要少得多,并且使用操作系统的原始工具套件而不是 rpm 安装软件包,详细选项列表请参阅 第 2.1.4.2.4 节 “使用命令行更新”
  • Red Hat Network Push 应用程序也进行了类似修改来上传原始 UNIX 文件类型,包括软件包、补丁、以及补丁集合。
    由于是 Solaris 软件包,补丁和补丁集合文件与 rpm 文件不同,频道上传的方法在一定程度上也有所不同。rhnpush 软件包中有两个用于 Solaris 的应用程序:
    • solaris2mpm:是一个为每个 Solaris 软件包或补丁程序生成 MPM 文件的红帽网络应用程序。MPM 文件可以使 Satellite 理解并管理上传的文件。
    • 第二,rhnpush 的功能已经被扩展,因此它可以处理 MPM 和 RPM 文件。另外,它和 Linux 版本中的 rhnpush 操作完全一样。
  • 加强红帽网络网站的「频道」标签页以适应该存储以及原始 UNIX 文件类型安装。

2.1.1.5. 不包括在内的功能

支持 UNIX 的系统无法使用以下红帽网络功能:
  • 所有指配级别的功能,如 kickstart 和软件包恢复。唯一的例外是配置文件管理功能。
  • 所有与勘误相关的选项,这是因为在 UNIX 中无法理解勘误更新的概念。
  • 软件包的源文件
不支持 Answer 文件。计划在以后的发行版本中提供对这类文件的支持。
Solaris 系统不支持 IPv6。
另外,不支持在安装过程中重新定位 RHAT*.pkg 文件。

2.1.2. Satellite 服务器准备/配置

所需文件可以部署到客户端系统前,您需要将 Satellite 配置为支持 UNIX。具体操作根据您的系统是否安装了 Satellite 而定:
  1. 在 Satellite 安装过程中:
    在安装过程中选择“启用 Solaris 支持”在 Satellite 中启用 UNIX 支持。如图所示:
    在 Satellite 安装过程中启用 UNIX 支持

    图 2.1. 在 Satellite 安装过程中启用 UNIX 支持

  2. 安装 Satellite 后:
    安装 Satellite 后通过配置启用 UNIX 支持。在顶部菜单栏中选择「管理」,然后选择左面导航栏的「Satellite 配置」。在随后的页面中,选择「启用 Solaris 支持」。如图所示:
    安装 Satellite 后启用 UNIX 支持

    图 2.2. 安装 Satellite 后启用 UNIX 支持

    更新配置 按钮确认更改。
  3. 最后,创建您的用户端系统需要订阅的基本频道。红帽网络不提供 UNIX 的内容,您无法使用 satellite-sync 创建频道。
    要创建 Solaris 频道,请作为 Satellite 管理员或证书授权登录到 Satellite 网站界面。进入「频道」标签页,从左面导航拦中选择「管理软件频道」。在结果页的右上角点「创建新频道」。为这个新频道提供频道名和标签。根据用户端系统构架选择「Sparc Solaris」「i386 Solaris」作为构架。

2.1.3. 准备 Unix 客户端系统

在您使用 UNIX 的客户端系统可从红帽网络获益前,必须将其准备好进行连接:
  1. 下载并安装 gzip 以及所需第三方程序库。
  2. 从 Satellite 将红帽网络应用程序 tarball 下载到客户端并安装该内容。
  3. 下一步,部署安全连接所需 SSL 证书。
  4. 将客户端应用程序配置为连接到 Red Hat Satellite。
完成后,您的系统就准备好接收红帽网络更新了。后面的小节详细解释了这些步骤。

2.1.3.1. 下载并安装附加软件包

本小节将让您了解从 Satellite 下载和安装第三方应用程序以及红帽网络应用程序并安装到 UNIX 客户端的过程。
其中最重要的是 Red Hat Update Agent for UNIXup2date),它可提供您的客户端系统与红帽网络之间的链接。与它的 Linux 副本相比,Red Hat Update Agent UNIX 专用版本在功能上有一些限制,但仍然可以启用系统注册和工具软件包安装及补丁升级。有关此工具选项的详细描述请参考 第 2.1.4 节 “Unix 客户端注册和更新”

注意

第一次登录 Sloaris 客户端时,输入 bash 可能会很有用。如果 BASH shell 可用,它会使系统的行为尽可能和 Linux 相似。
2.1.3.1.1. 安装第三方软件包
如果没有以下程序和软件库,则无法进行红帽网络应用程序的安装:
  • 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. 下载帽网络客户端软件包
在您的 Satellite 的 /var/www/html/pub/ 目录中下载正确的 tarball。如果您可以使用类似 Mozilla 的 GUI 网页浏览器,请浏览 Satellite 的 /pub 目录,并将正确的 tarball 保存到您的客户端中。
http://your-satellite.example.com/pub/rhn-solaris-bootstrap-<version>-<solaris-arch>-<solaris-version>.tar.gz
如果您必须用命令行下载 tarball,应该使用 ftp 命令将该文件从 Satellite 传送到客户端中。
使用 gzip 解压缩 tarball。您应该得到如下的软件包:
  • RHATpossl
  • RHATrhnrcfg
  • RHATrhnrcfga
  • RHATrhnrcfgc
  • RHATrhnrcfgm
  • RHATrhnc
  • RHATrhnl
  • RHATrpush
  • RHATsmart
tarball 中还应该有 SMClibgccSMCosslg
2.1.3.1.4. 安装红帽网络安装软件包
切换到解压缩的目录,并使用 UNIX 本身自带的安装工具安装每个软件包。例如:在 Solaris 中,使用 pkgadd 命令。对在安装软件包的过程中出现的每个提示都回答 "yes"。
下面就是典型安装的过程:
# 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 中安装软件包失败时没有任何提示。
继续安装过程直到每个软件包都安装到红帽网络特定的路径:/opt/redhat/rhn/solaris/
2.1.3.1.5. 在 PATH 中包含红帽网络软件包
为了要让红帽网络软件包在每次登录时都可用,您会想要将它们添加到您的 PATH 中。将这些目录添加到您的登录脚本中即可:
# 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
为了可以访问红帽网络客户端命令的 man page,就要将其添加到您的 MANPATH 中。在您的登录脚本中添加下面的命令即可:
# MANPATH=$MANPATH:/opt/redhat/rhn/solaris/man
# export MANPATH
您还可以用命令行访问 man page,使用的命令如下:
# man -M /opt/redhat/rhn/solaris/man <man page>
最后,和对 libgccopensslzlib 的操作一样,将红帽软件库添加到您的 PATH 中。
crle -c /var/ld/ld.config -l <current library paths>:/opt/redhat/rhn/solaris/lib

2.1.3.2. 正在部署客户端 SSL 证书

要确定数据传送的安全,红帽强烈建议您使用 SSL。 Red Hat Satellite 可通过在安装过程中生成必要的证书来简化 SSL 的应用。服务器端的证书是自动安装到 Satellite 中的,而客户端证书的位置是在 Satellite 的网络服务器 /pub/ 目录中。
要安装该证书,请在每个客户端中执行以下步骤:
  1. 从 Red Hat Satellite 的 /var/www/html/pub/ 目录将 SSL 证书下载到客户端系统中。该证书会以类似 RHN-ORG-TRUSTED-SSL-CERT 的格式命名。通过在如下链接中的网页可访问这个证书:https://your-satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT
  2. 为您的 UNIX 变体将客户端 SSL 证书移动到红帽网络专用的目录中。对 Solaris 来说,可通过类似下面的命令来实现:
     mv /path/to/RHN-ORG-TRUSTED-SSL-CERT /opt/redhat/rhn/solaris/usr/share/rhn/ 
操作完成后,会为您的 UNIX 系统安装新的客户端证书。如果您要为红帽网络管理准备很多系统,您可以将这个过程写成脚本。
现在您必须重新配置红帽网络客户端应用程序,将其指向新安装的 SSL 证书。具体操作请参考第 2.1.3.3 节 “配置客户端”

2.1.3.3. 配置客户端

将您的用户端系统注册到红帽网络的最后一步就是将它们的红帽网络应用程序配置为使用新的 SSL 证书,并通过 Red Hat Satellite 获得更新。这些修改可通过编辑 Red Hat Update Agent 的配置文件完成,该文件可提供注册和更新功能。
在每个客户端系统中按这些步骤操作:
  1. 以 root 用户身份进入系统的红帽网络配置目录。对于 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. 保证即使在 SSL 关闭的情况下也将应用程序指向 Red Hat Satellite,这可通过将 noSSLServerURL 值设为 Satellite 实现:
    noSSLServerURL[comment]=Remote server URL without SSL
    noSSLServerURL=http://your-satellite.example.com/XMLRPC
    
  5. 如果 up2date 配置文件仍然是打开的,找到 sslCACert 条目,并将其值设为 SSL 证书的名称和位置,这些在 第 2.1.3.2 节 “正在部署客户端 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
    
您的客户端系统现在准备好在红帽网络中注册,并由您的 Satellite 管理。

2.1.4. Unix 客户端注册和更新

现在,您已经安装了红帽网络特有的软件包,采用了 SSL,并且重新配置了用户端系统以便连接到Red Hat Satellite,现在您就可以开始注册系统并获取更新了。

2.1.4.1. 注册 Unix 系统

本节描述了 UNIX 系统的红帽网络注册过程。您必须使用 rhnreg_ks 完成这项任务。使用激活码来注册是可选的。这些激活码允许您预判断红帽网络内的设置,例如基本频道和系统组,并在注册时自动应用到系统中。
因为在其他章节中详细论述了激活码的生成和使用,这部分就只集中描述在 UNIX 各类系统中应用它们时的特殊之处。
要在您的 Red Hat Satellite 中注册 UNIX 系统,请按照这个顺序完成以下步骤:
  1. 登录到 Satellite 的网站界面,点击顶部导航栏中的「系统」标签,然后点击左侧导航栏中的「激活码」。最后点击右上角的「创建新激活码」链接。
  2. 在接下来的页中选择您在 第 2.1.2 节 “Satellite 服务器准备/配置” 中创建的基本频道。
  3. 创建激活码后,在「激活码」列表中点击其名称加强其红帽网络设置,如关联软件、配置频道、以及系统组等。
  4. 在要注册的客户端系统中打开一个终端,切换成 root 用户。
  5. 使用带有 --activationkey 选项的 rhnreg_ks 命令在 Satellite 中注册该客户端。激活码的内容可以从网站的「激活码」列表中直接复制。其命令类似:
    rhnreg_ks --activationkey=b25fef0966659314ef9156786bd9f3af
    
  6. 回到网站,点击激活码的名称,确认新系统出现在「激活的系统」标签页中。

2.1.4.2. 获取更新

UNIX 中的软件包更新和在 Linux 中的处理方式不尽相同。例如,Solaris 依靠补丁集合一次性更新多个软件包,而红帽操作系统使用勘误更新关联更新和指定的软件包。此外,Solaris 使用“答复文件”(answer file)来自动处理软件包安装中过程中所需要的用户输入,而 Linux 系统不能完全理解其格式。由于这个原因,本节重点介绍了在 UNIX 系统上使用红帽网络工具的不同之处。(请注意,当前的红帽网络发行版本还不支持 Solaris 答复文件;对它的支持计划在以后的版本中提供。)
除遗留下来的差异外,如缺乏勘误,Satellite 中的红帽网络网站内的频道和软件包管理界面在 UNIX 系统上基本相同。所有为 UNIX 系统类别设计的软件频道都和《Red Hat Satellite 入门指南》中描述的定制频道几乎完全相同。最显著的区别是构架的不同。在创建一个 UNIX 软件频道时,请确定选择适用于系统的基准频道体系。
根据其性质将软件包分成基本频道和子频道。例如,在 Solaris 系统中,安装软件包应该被归入 Solaris 基本频道,而补丁和补丁集合则应该归入 Solaris 基本频道的子频道。额外的安装软件包可以被归入单独的额外子频道。
红帽网络对待补丁的方式和软件包的方式很相似。它们和普通软件包的列举和安装方式相同,并使用相同的界面。补丁被 Solaris “编号”,其名称格式类似于“patch-solaris-108434”。Solaris 补丁的版本从原始的 Solaris 元数据中抽取,发行版本总是 1。
补丁集合是作为一个单元安装的一组补丁。红帽网络跟踪记录补丁集合最后一次在系统中安装成功的信息。但是,不能象其他安装的程序一样在用户端系统中跟踪记录补丁集合。因此,补丁集合不会出现在已安装软件包或补丁列表中。补丁集合的名称格式类似于“patch-cluster-solaris-7_Recommended”。版本是日期字符串,如“20040206”,发行版本总是 1,epoch 总是 0。
2.1.4.2.1. 将软件包上传到 Satellite
红帽网络不提供 UNIX 的内容,所有 Solaris 软件包、补丁程序、补丁集合必须从用户端系统以 Satellite 可以支持的格式上传到 Satellite。然后,这些软件包就可以被管理,并分发到其他的用户端系统。红帽网络创建的 solaris2mpm 可以将 Solaris 软件包、补丁程序、补丁集合的格式转换为 Satellite 可以支持的格式。
2.1.4.2.1.1. solaris2mpm
第 2.1.1.4 节 “功能差别” 所述,solaris2mpm 是用于 Solaris 的红帽网络 Push 的一部分。要 push 到 Satellite 服务器中的 Solaris 频道的内容首先必须是 .mpm 格式。
.mpm 文件是包括了软件包或补丁程序以及对软件包数据描述信息的归档文件。solaris2mpm 命令必须在客户端系统中运行,而不要在 Satellite 中运行。

注意

solaris2mm 需要软件包本身大小的三倍的可用空间。通常情况下,/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
因为没有指定其他目录,则会在 /tmp/ 目录中写入 .mpm 文件。请注意,.mpm 的文件名中包括了创建它们的用户端系统的结构。在这个例子中是 SPARC Solaris。mpm 文件名的常规格式是:
name-version-release.arch.mpm
补丁集合是为这个集合中的每个系统创建的 "exploded" -- .mpm 文件,并且包括一个最高级别的 "meta" .mpm 文件,它包括了这个集合整体的信息。
以下是 solarismpm 的选项:

表 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 文件同时或在其被 push 后再 push,而永远不能在这之前被 push。
对您希望通过 Satellite 进行管理的软件包、补丁和补丁集合,请使用 solaris2mpm 然后使用红帽网络 Push 将其上传到为它们创建的频道中。
2.1.4.2.2. 通过网站更新
要在个别系统上安装软件包或补丁,点击「系统」类别中的系统名称,选择「软件包」「补丁」标签中的升级或安装列表中的软件包,然后点击 安装/升级选中的软件包
要在安装软件包时运行远程命令,点击 运行远程命令 而不是 确认。详细说明请参阅 第 2.1.5 节 “远程命令”
要在多个系统上一次性安装软件包或补丁,选择这些系统,然后点击左侧导航栏中的「系统集合管理器」。然后,在「软件包」标签中选择升级或安装列表中的软件包,然后点击 安装/升级软件包。要完成该动作,调度这些更新。
2.1.4.2.3. rhnsd
在红帽企业版 Linux 系统中,指导用户端系统登录到红帽网络的 rhnsd 守护进程会在引导时自动启动。在 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 分钟与红帽网络连接一次
-v, --verbose
在 syslog 中记录所有动作
-h, --help
显示这个帮助列表
-u, --usage
显示这个帮助列表
-V, --version
输出程序版本
2.1.4.2.4. 使用命令行更新
和网站一样,Red Hat Update Agent 的命令行用法也受到 UNIX 软件包管理的制约。尽管如此,多数核心功能仍可以通过 up2date 命令完成。最重要的区别是缺乏用于源码文件的所有选项。要获得 UNIX 系统可用的全部选项,请参阅 表 2.4 “更新代理命令行参数”
在 UNIX 系统中,Red Hat Update Agent 的命令行版本接受以下参数:

表 2.4. 更新代理命令行参数

参数 描述
--version 显示程序的版本信息。
-h--help 显示帮助此信息并退出。
-v, --verbose 显示详细输出。
-l, --list 列出所有已安装软件包的最新版本。
-p, --packages 更新和系统侧写关联的软件包。
--hardware 更新红帽网络中该系统的硬件侧写。
--showall 列出所有可以下载的软件包。
--show-available 列出所有目前没有安装的可用软件包。
--show-orphans 列出所有已安装,但是不在系统订阅的频道内的软件包。
--show-channels 显示频道名称以及相应的软件包。
--installall 安装所有可用的软件包。和 --channel 选项一起使用。
--channel=CHANNEL 指定使用频道标签更新的频道。
--get 在不解决相依性的情况下获取指定的软件包。

2.1.5. 远程命令

使用 UNIX 支持,红帽网络通过 Satellite 网站提供了在用户端系统中使用远程命令的灵活性。该功能几乎使您能够不必打开终端而在域内的所有系统中运行所有兼容的应用程序或脚本。

2.1.5.1. 启用命令

该工具提供的灵活性自然有其危险性。对于所有实践性目的,该功能给所有具备系统网站管理权限的人提供了 root BASH 提示符。
但是可以通过同样的 config-enable 机制对其进行控制,该机制可以决定哪些系统可以使用红帽网络管理其配置文件。
简而言之,您必须在 UNIX 系统上创建一个目录和文件来表明红帽网络可以在该机器中运行远程命令。目录名称必须是 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. 使用命令

您可以使用各种方法调度远程命令:在单独系统中调度,在多个系统中同时调度,或随同软件包动作调度。
要在单独系统中运行远程命令,请打开「系统详情」页,点击「远程命令」标签页(只有在有供应授权的系统中才会出现此页),设置命令。您可以指定用户、组、和超时时间,甚至脚本。选择要发出该命令的日期和时间,然后点击 调度远程命令 链接。
同样,您还可以通过「System Set Manager」同时在多个系统中发出远程命令。选择系统,转到「System Set Manager」页,点击「其他」标签,跳到「远程命令」部分。从这里,您可以在选中的系统中同时运行某个远程命令。
要和软件包动作一起运行某个远程命令,通过「系统详情」页的「软件包」标签来调度这个行动,确认行动时点击 运行远程命令。使用上面的单选按钮来判定命令应该在软件包行动之前还是之后运行,建立该命令的设置,然后点击 调度软件包安装/升级
注意,安装带有不同远程命令的多个软件包需要分别调度这些安装或将这些命令合并到一个脚本中。

第 3 章 Red Hat Satellite Proxy 信息

本小节论述了如何在 Red Hat Network Package Manager 中使用 Red Hat Satellite Proxy

3.1. 使用 Red Hat Network Package Manager 并通过红帽网络 Proxy 提供本地软件包

Red Hat Network Package Manager 是一个命令行工具,可允许机构通过 Red Hat Network Proxy 服务器提供与专用 RHN 频道关联的本地软件包。如果只要为 Red Hat Network Proxy 服务器更新官方红帽软件包,则不要安装 Red Hat Network Package Manager。
要使用 Red Hat Network Package Manager,需要安装 spacewalk-proxy-package-manager 及其相依软件包。
只有软件包的标头信息会被上传到红帽网络服务器。红帽网络需要标头信息来为客户端系统解决依赖性问题。实际的软件包文件(*.rpm)被保存在红帽网络 Proxy 服务器中。
Red Hat Network Package Manager 和 Proxy 使用相同的设置,这些设置在 /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 对于指定频道,只 push 那些比已经推到服务器上的软件包新的软件包。
--stdin 从 stdin 中读取软件包名。
--nosig Push 没有签注的软件包。默认情况下,Red Hat Network Package Manager 只 push 签注的软件包。
--username=USERNAME 指定您的红帽网络用户名。如果您在这个选项中没有提供用户名,会提示您输入。
--password=PASSWORD 指定您的红帽网络密码。如果您在这个选项中没有提供用户名,会提示您输入。
--source 上传源码软件包标头。
--dontcopy 在上传后的处理步骤中,不会将软件包复制到它们在软件包树中的最终位置上。
--test 只显示被 push 的软件包。
--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 Proxy 服务器提供本地软件包前,需要将其保存在专用频道中。请执行以下步骤来创建专用频道:
  1. 登录到红帽网络网站界面 https://rhn.redhat.com,或者登录网络中的 Red Hat Satellite 服务器。
  2. 点击上部浏览条中的「频道」标签。如果「管理频道」选项没有出现在左侧导航栏中,请确认这个用户有编辑频道的授权设定。您可以通过上面导航条中的「用户」类别来设置需要的权限。
  3. 点击左面浏览条中的「管理软件频道」,然后点击本页右上角的「创建新频道」按钮。
  4. 选择一个上级频道和基本频道结构,然后输入新专用频道的频道名、频道标签、总览和描述。频道标签必须最少由 6 个字符组成,以一个字母开始并只能包括小写字母、数字、破折号(-))点(.)。输入这个频道的 GPG 密钥的 URL。虽然这个项不是必需的,但为了增加安全性,我们推荐使用它。有关生成 GPG 密钥的方法,请参阅《红帽网络频道管理指南》
  5. 点击「创建频道」

3.1.2. 上传软件包

注意

要向专用红帽网络频道上传软件包,您必须是一个机构管理员。脚本会要求您输入您的红帽网络用户名和密码。
在创建专用软件频道后,将您的二进制和源 RPM 的标头上传到红帽网络服务器,并将软件包复制到红帽网络 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),会将上传的软件包标头链接到所有列出的频道。

注意

如果您没有指定频道名,软件包将不会加入到任何频道。软件包可以通过红帽网络网站界面来加入到一个频道。这个界面也可以被用来修改现有的专用频道。
在上传软件包后,您可以通过红帽网络网站界面马上验证它们。点击顶部导航条中的「频道」,在左侧导航栏中选择选定「管理软件频道」,然后点「软件包」子标签页。此时应列出所有 RPM。
您还可以在命令行中检查本地目录是否与红帽网络服务器中的这个频道的映像同步:
 rhn_package_manager -s -c "label_of_private_channel" 
使用 -s 选项会列出所有缺失的软件包(即上传到红帽网络服务器而没有出现在本地目录中的软件包)。您必须是机构管理员方可使用这个命令。该脚本将提示您输入红帽网络用户名和密码。
如果您正在使用 Red Hat Network Package Manager 更新本地软件包,您必须访问红帽网络网站来将此系统订阅到专用频道。

第 4 章 自定义软件包管理

本章提供如何构建通过红帽网络成功发布的软件包。标题覆盖面包括为什么要使用 RPM?如何为红帽网络构建软件包?以及如何正确签署软件包。

4.1. 为红帽网络构建软件包

红帽网络使用 RPM 软件包管理程序(RPM Package ManagerRPM)技术来决定每个客户端系统可应用的软件附加组件和更新。在红帽网络搜索到的软件包通常是 RPM 格式,而在红帽网络网站的「软件」标签页中提供的是完整 ISO 映像,但在 Red Hat Satellite 服务器 安装中无效。如果您的 Satellite 启用了对 Solaris 的支持,您可以使用红帽网络 Push将 Solaris 软件包上传到 Solaris 客户端使用的自定义频道中。
RPM 是一个为用户提供简单安装、卸载、升级和验证软件包的工具。它还允许软件开发者为最终用户和开发者提供源码和编译版本打包文件。

4.1.1. RPM 的优点

RPM 有以下的优点:
容易升级
使用 RPM,您可以单独升级系统的组件而不用完全重新安装。当红帽发布红帽企业版 Linux 的新版本时,用户不需要重新安装就可以进行升级。RPM 允许智能、全自动、本地升级您的系统。在升级的过程中可保留软件包中的配置文件,因此用户不会丢失他们特定的配置。安装和升级软件包的时候使用同一个 RPM 文件,因此更新软件包时不需要特殊的升级文件。
软件包查询
RPM 提供的查询选项允许您在整个 RPM 数据库中查询所有软件包或只查询特定的文件。您还可以轻松地找到文件所属软件包以及该软件包的来源。软件包中的文件位于一个压缩归档中,这个文件有一个包括这个软件包信息及其内容的自定义二进制标头。RPM 可以快速、方便地查询软件包的标头信息。
系统验证
RPM 的另一个功能是可以进行软件包验证。如果您怀疑与一个软件包关联的文件已经被删除,您可以通过检查这个软件包来确定这个文件的状态。这个验证的过程会提示您所有异常情况。如果存在错误,您可以轻松地重新安装这个文件。在重新安装的过程中将保留配置文件。
Pristine 源
RPM 的一个重要的功能就是允许使用 pristine 软件源码,它是由这个软件的原始开发者提供的。使用 RPM 可将 pristine 源码及其使用的补丁程序以及完整构建说明打包。这个功能是非常重要的。例如,当发行一个新版本时,您不需要从头开始来编译它。您可以查看补丁来决定您可能需要做什么。使用此项技术,您可以方便地查看正确构建软件所需的所有编译的默认设置和修改。
保留源 pristine 看起来可能只对开发人员有用,但实际上它也可以为最终用户提供高质量的软件。

4.1.2. 红帽网络 RPM 指南

RPM 的优势在于可以准确定义依赖关系并发现冲突。红帽网络使用 RPM 的这个功能来处理软件的依赖关系。红帽网络提供了一个自动环境,这意味着在安装一个软件包的过程中不需要人工参与。因此,当为那些需要通过红帽网络发布的软件包构建 RPM 时,以下的原则非常重要:
  1. 了解 RPM。要正确地构建软件包,了解 RPM 的基本功能是非常重要的。有关 RPM 的信息请参考以下资源:
  2. 当为一个子频道构建 RPM 时, 请在新安装的、与子频道的基本频道使用同一版本的红帽企业版 Linux 中构建软件包。请确定首先从红帽网络中应用所有更新。
  3. 在安装 RPM 软件包时一定不能使用 --force--nodeps 选项。如果您无法在您构建的系统中“干净”地安装 RPM,红帽网络将不能在系统中自动安装它。
  4. RPM 软件包的文件名必须是 NVR[name(名称)、version(版本)、release(发行)]格式且必须包括这个软件包的体系结构。正确的格式应该是 name-version-release.arch.rpm。例如,一个有效的 RPM 软件包文件名是 pkgname-0.84-1.i386.rpm,它的名称是 pkgname,版本是 0.84,发行本是 1,构架是 i386
  5. RPM 软件包应该由其维护者签注。虽然未签注的软件包也可以通过红帽网络发布,但必须将 Red Hat Update Agent 配置为强制接受它们。我们强烈推荐使用经过签注的软件包,相关的内容请参考 第 4.2 节 “红帽网络软件包的电子签名”
  6. 如果软件包被修改(包括修改了签名或重新被编译),就必须相应增大版本或发行号。换句话说,通过红帽网络发布的每个 RPM 的 NVRA(包括体系结构)必须与其唯一构建对应以避免混淆。
  7. RPM 软件包不能自己作废。
  8. 如果一个软件包被分成多个单独的软件包,需要格外小心其相依性。除非由于编译的问题,否则请不要分割现有软件包。
  9. 软件包不能接受交互式的预安装(pre-install)、安装后(post-install)、预卸载(pre-uninstall)和卸载后(post-uninstall)脚本。如果软件包需要用户的直接参与,这个软件包将无法在红帽网络中工作。
  10. 在预安装、安装后、预卸载和卸载后脚本中不要写入任何 stderr 或 stdout 内容。如果不必要,请将信息重新输出到 /dev/null,否则请将它们写入一个文件中。
  11. 创建 spec 文件时,使用 /usr/share/doc/rpm-<version>/GROUPS 中的组定义。如果没有完全匹配的项,选择最接近的一个。
  12. 使用 RPM 的相依性性能确定此程序在安装后可正常运行。

重要

请不要通过归档来创建 RPM,然后再在安装后脚本中恢复它们。这违背了 RPM 的初衷。
如果文件列表中不包含归档中的文件,您将无法验证或检查它们之间的冲突。在大多数情况下,RPM 本身可以有效地将文件打包或解压缩。例如,如果您无法或者不会没有在 %postun 项中清除,就请不要在 %post 中创建文件。

4.2. 红帽网络软件包的电子签名

所有通过红帽网络发布的软件包都应该有一个数字签名。数字签名根据唯一的私钥创建,并可使用对应的公钥验证。在创建软件包后,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 和 ElGamal。这个选项允许您创建一个数字签名并使用两种加密技术进行加密/解密。输入 2 后按 Enter 键。
  4. 选择密钥的长度,即密钥应有的长度。密钥越长,它被破解的可能性就越小。推荐您创建最短为 2048 位的密钥。
  5. 下一个选项将让您指定密钥的有效期。如果您指定了密钥过期的日期,任何使用您的公钥的用户都需要被告知过期的时间并在过期后获得新密钥。我们推荐您使用没有过期时间的设置。如果您没有选择一个过期的日期,会提示您确认您的选择:
    Key does not expire at all Is this correct (y/n)?
    
  6. y 来确认您的决定。
  7. 您的下一个任务是提供一个包括您的名称、电子邮件地址和注释(可选的)的用户 ID,其中的每项都需要独立的内容。完成后,您会看到您输入内容的总结。
  8. 确定您的选择后,您需要输入一个密码短语(passphrase)。

    注意

    和您的帐户密码一样,好的密码短语对 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 接收自定义软件包的客户端系统中。《红帽网络客户端配置指南》介绍了在一个机构的客户端系统中部属该密钥的方法。

4.2.2. 签注软件包

在您可以签注软件包前,您需要配置您的 ~/.rpmmacros 文件使其包含以下内容:
%_signature gpg
%_gpg_name B7085C8A
使用您用来签注软件包的 GPG 密钥环中的密钥 ID 值来替换 B7085C8A_gpg_name 密钥 ID 值。这个值告诉 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 命令前,请导入 pgp 密钥。有关详情请查看下一小节 第 4.3 节 “导入自定义 GPG 密钥”
您可以在输出中看到 Good signature from "Your Name",其中用与签注密钥关联的名称替换 Your Name

4.3. 导入自定义 GPG 密钥

对于要安全创建和发布其自身 RPM 的客户,我们强烈建议您使用 GNU 隐私卫士(GPG)签注所有自定义 RPM。有关生成 GPG 密钥并创建 GPG 签名的软件包的详情请参考 第 4.2.1 节 “生成 GnuPG 密钥对”
签注软件包后,必须让所有导入这些 RPM 的系统部署此公共密钥。完成此任务有两个步骤:第一,为公共密钥生成中央管理位置,以便客户端系统可以搜索此密钥;第二,为每个系统在本地 GPG 密钥环中添加此密钥。
第一步很常见,可以使用推荐用来处理红帽网络客户端系统应用程序的网站方法完成。要完成这一步,请在 web 服务器中创建一个公共的目录并将 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 密钥环中。不同的操作系统需要不同的方法。
对于红帽企业版 Linux 3 或之后的系统,使用以下命令:
rpm --import /path/to/YOUR-RPM-GPG-KEY
成功将 GPG 添加到客户端后,该系统就应该可以验证使用相应密钥签名的自定义 RPM。

注意

使用自定义 RPM 和频道时,请为这些软件包生成自定义 GPG 密钥。要在 Kickstart 侧写中添加 GPG 密钥的位置。
需要将 GPG 密钥添加到客户端系统,否则 Kickstart 安装会失败。

第 5 章 故障排除

本章提供了判断和解决与 Red Hat Satellite 相关的常见问题的方法。如果您需要额外的帮助,请通过 https://access.redhat.com/support/ 联络红帽支持。您还可通过您的 Satellite 授权帐户登录查看完整选项列表。
要开始进行一般问题的故障排除,您需要查看日志文件或者与出现问题组件相关的文件。我们的经验是使用 tail -f 命令查看所有的日志文件,然后运行 yum list。这样,您就可以检查所有新的日志条目以获得线索。
5.1. 磁盘空间
问: 我的磁盘空间很快就满了。是什么原因?我该怎么办?
5.2. 安装和更新
问: 尝试安装时 SELinux 不断给出信息。为什么?
问: 我将 /var/satellite 改为 NFS 挂载,现在 SELinux 无法正常工作。我该做什么?
问: 我的 Satellite 失败,这是为什么?
5.3. 服务
问: 为什么 Apache 网页服务器不运行?
问: 怎样获得 Red Hat Network Task Engine 状态?
问: 怎样获得 Satellite 内嵌数据库的状态?
问: 如果 Red Hat Satellite 的 pugh 功能不工作我该怎么办?
5.4. 连接性
问: 无法连接!怎样才能知道哪里出问题了?
问: 如果导入或者同步频道失败,怎样才可恢复?
问: 得到 "SSL_CONNECT" 出错信息,该怎么做?
5.5. 日志和报告
问: 不同的日志文件是什么?
问: 如何使用 spacewalk-report?
问: 怎样才能找到我使用的数据库方案版本是什么?
问: 怎样才能知道我使用的字符集类型是什么?
问: 为什么管理员无法收到电子邮件?
问: 如何更改 traceback 邮件的发件人?
5.6. 出错信息
问: 我在安装 Red Hat Satellite 时得到 "Error validating satellite certificate" 出错信息,该如何解决?
问: 在激活或者与 Red Hat Satellite 同步时得到 "ERROR: server.mount_point not set in the configuration file" 出错信息,如何解决?
问: 为什么 cobbler check 给出出错信息说它需要 yum-utils 的不同版本?
问: 激活 Red Hat Satellite 证书时得到 "unsupported version" 出错信息,如何解决?
问: 编辑 kickstart 侧写时得到 "Internal Server Error" 信息说有 ASCII 问题,这是为什么?
问: 得到 "Host Not Found" 或者 "Could Not Determine FQDN" 出错信息,该怎么办?
问: 在与 Red Hat Satellite 服务器同步时得到 "This server is not an entitled Satellite" 信息,如何解决?
5.7. Web 界面
问: 我无法使用 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. 回溯(Tracback)
问: 我收到标题为 "WEB TRACEBACK" 的电子邮件。我该怎么办?
5.10. 注册
问: 我运行 rhnreg_ks 命令时失败,显示 ERROR: unable to read system id。这是什么问题?
5.11. Kickstart 和片断
问: Kickstart 的目录结构是什么?
问: Cobbler 片断的目录结构是什么?
5.12. 监控
问: 是否有可以帮助确定监控错误的诊断工具?
问: 如何解读 rhn-runprobe 的输出?
5.13. 多机构 Satellite 以及 Satellite 证书
问: 如果我的 Satellite 证书有足够的权限,应该怎样在多机构环境中注册我的系统?
问: 我的 Satellite 证书中还有未使用的额外权限。如何处理这些权限?
5.14. Proxy 安装和配置
问: 配置 Red Hat Network Package Manager 后如何确定已将本地软件包成功添加到专用红帽网络频道?
问: 如何才能知道客户端系统是否正在与 Squid 服务器连接?
问: 客户端系统中的 Red Hat Update Agent 没有通过 Red Hat Satellite Proxy 服务器进行连接。应该如何解决这个错误?
问: 我的 Red Hat Satellite Proxy 服务器配置无法正常工作。应从哪里着手开始进行故障排除?
问: 如何解决 Red Hat Satellite Proxy 中的常规问题?
问: 我的 Red Hat Satellite Proxy 发生 "Host Not Found"/"Could not Determine FQDN" 错误。我该怎么办?
问: 出现 Red Hat Satellite Proxy 和网络连接错误。我该怎么办?
问: 出现软件包发布错误和对象崩溃信息。我该检查什么内容?

5.1. 磁盘空间

问:
我的磁盘空间很快就满了。是什么原因?我该怎么办?
答:
一个常见的问题是磁盘空间满。如果您发现日志文件突然不再写入时,比如写道一半就停止,可能意味磁盘空间已满。要确认这一点,运行这个命令并检查 Use% 栏中的数据:
# df -h
除了可以从日志文件中获得信息,您还可以通过检索 Red Hat Satellite 及其组件状态获得有用的信息,请使用以下命令:
# /usr/sbin/rhn-satellite status
另外,您还可以获得 Apache 网页服务器和 Red Hat Network Task Engine 等其他组件的状态。例如,要查看 Apache 网页服务器的状态,请运行以下命令:
# service httpd status

5.2. 安装和更新

问:
尝试安装时 SELinux 不断给出信息。为什么?
答:
如果您安装 Red Hat Satellite 时遇到问题,并出现 SELinux 信息(比如 AVC 拒绝信息),请确定 audit.log 可用,以便红帽支持人员可为您提供支持。您可在 /var/log/audit/audit.log 中找到该文件,并将其附加到您的支持 ticket 中以便工程师为您提供帮助。
问:
我将 /var/satellite 改为 NFS 挂载,现在 SELinux 无法正常工作。我该做什么?
答:
为让 SELinux 允许那个流量,就需要根据新的 NFS 挂载修改 SELinux 参数。方法是使用以下命令:
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
如果您使用的是红帽企业版 Linux 6,您还需要运行命令:
# /usr/sbin/setsebool -P cobbler_use_nfs on
问:
我的 Satellite 失败,这是为什么?
答:
不要在红帽网络中央服务器的以下子频道中订阅您的 Red Hat Satellite:
  • 红帽开发者套件(Red Hat Developer Suite)
  • 红帽应用程序服务器(Red Hat Application Server)
  • 红帽附加组件(Red Hat Extras)
  • JBoss 产品频道
订阅这些频道并更新 Satellite 可能会安装关键软件组件较新且不兼容的版本,从而导致 Satellite 失败。

5.3. 服务

问:
为什么 Apache 网页服务器不运行?
答:
如果 Apache 网页服务器没有运行,您的 /etc/hosts 文件中的条目可能有误。
问:
怎样获得 Red Hat Network Task Engine 状态?
答:
要获得 Red Hat Network Task Engine 的状态,请运行命令:
# service taskomatic status
问:
怎样获得 Satellite 内嵌数据库的状态?
答:
要获得 Satellite 内嵌数据库的状态,请运行命令:
# db-control status
问:
如果 Red Hat Satellite 的 pugh 功能不工作我该怎么办?
答:
如果 Red Hat Satellite 的 push 功能失去作用,这可能是因为旧的日志文件出了问题。删除这些文件前,请停止 jabberd 守护进程。要做到这一点,请以 root 用户的身份使用以下命令:
# service jabberd stop
# rm -f /var/lib/jabberd/db/_db*
# service jabberd start

5.4. 连接性

问:
无法连接!怎样才能知道哪里出问题了?
答:
可使用以下方法排除一般连接错误:
  • 在命令行中尝试使用 /etc/rhn/rhn.conf 中的正确连接字符串与 Red Hat Satellite 数据库连接:
    # sqlplus username/password@sid
  • 确定 Red Hat Satellite 正在使用网络时间协议(NTP),并设置为正确的时区。这适用于所有的客户端系统以及在使用独立数据库的 Red Hat Satellite 机器。
  • 确认正确的软件包:
    rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm 
    在 Red Hat Satellite 中安装,并在所有客户端系统中安装相应的 rhn-org-trusted-ssl-cert-*.noarch.rpm 或原 CA SSL 公共(客户端)证书。
  • 确认将客户端系统配置为使用恰当的证书。
  • 如果还使用一个或多个 Red Hat Satellite Proxy 服务器,确定每个 Proxy 的 SSL 证书都是正确的。Proxy 应该有它们自己的服务器 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 错误,它是由于在没有正确设定时间的机器中安装 Satellite 造成的。在 Satellite 的安装过程中,创建的 SSL 证书中有一个不准确的时间。如果修正了这个 Satellite 时间,这个证书的开始日期和时间就有可能是一个未来的时间,从而使它无效。
要排除这个故障,请在客户端系统和 Satellite 中使用以下命令检查日期/时间:
# date
所有机器的结果都会几乎完全相同并包括在这个证书的 "notBefore" 和 "notAfter" 的有效窗口中。使用以下的命令检查客户证书的日期和时间:
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
使用以下的命令检查 Satellite 服务器的证书日期和时间:
# 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 文件已满时使用 .<NUMBER> 扩展生成的日志文件,文件大小由 logrotate(8) 守护进程指定,内容写入轮转的日志文件。例如:rhn_satellite_install.log.1 包含最旧的轮转日志文件,rhn_satellite_install.log.4 包含最新的循轮转日志。

表 5.1. 日志文件

组件/任务 日志文件位置
Apache Web 服务器 /var/log/httpd/ 目录
Red Hat Satellite /var/log/rhn/ 目录
Red Hat Satellite Installation Program /var/log/rhn/rhn_satellite_install.log
数据库安装 - 内嵌数据库 /var/log/rhn/install_db.log
数据库填入 /var/log/rhn/populate_db.log
Red Hat Satellite Synchronization Tool /var/log/rhn/rhn_server_satellite.log
监控基础设施 /var/log/nocpulse/ 目录
监控通知 /var/log/notification/ 目录
Red Hat Network DB Control - 内嵌数据库 /var/log/rhn/rhn_database.log
Red Hat Network Task Engine (taskomatic) /var/log/messages
yum /var/log/yum.log
XML-RPC 交易 /var/log/rhn/rhn_server_xmlrpc.log
问:
如何使用 spacewalk-report
答:
在有些事务中管理员需要一个简明、格式化的 Red Hat Satellite 资源总结;它是否使用其授权库存;订阅系统或者用户及机构。与其手动从 Satellite 网页界面中收集这些信息,Red Hat Satellite 中有一个 spacewalk-report 命令可一次收集并显示重要的 Satellite 信息。

注意

要使用 spacewalk-report,您必须安装 spacewalk-reports 软件包
spacewalk-report 可让管理员管理并显示有关 Satellite 中内容、系统事件历史记录、系统和用户资源的报告。使用 spacewalk-report 命令您可以得到有关以下内容的报告:
  • 系统清单 - 列出所有在 Satellite 中注册的系统。
  • 授权 - 列出 Satellite 中的所有机构,并根据系统或者频道授权排序。
  • 勘误 - 列出与注册的系统关联的勘误,并根据严重性以及应用具体勘误的系统对勘误排序。
  • 用户 - 列出在 Satellite 中注册的所有用户并列出与具体用户关联的任意系统。
  • 系统历史记录 - 列出所有发生的系统事件或者子集。
要获得 CSV 格式的报告,请在您的 Satellite 服务器的命令行提示符后运行该命令。
# spacewalk-report report_name
以下报告可用:

表 5.2. spacewalk-report 报告

报告 调用 描述
系统清单 inventory 列出在服务器中注册的系统以及硬件和软件信息
授权 entitlements 列出 Satellite 中的所有机构及其系统或者频道授权
频道中的勘误 errata-channels 列出频道中的勘误
所有勘误 errata-list-all 所有勘误的完整列表
系统勘误 errata-systems 列出可用勘误以及受影响的系统
系统中的用户 users 列出所有在 Satellite 中注册的用户
管理的系统 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 及 provisioning 事件历史记录
系统历史记录软件包 system-history-packages 列出系统软件包事件历史记录
有关独立报告的详情请运行使用 --info 或者 --list-fields-info 和报告名称的 spacewalk-report 命令。这样会在报告中显示可能字段的描述和列表。
有关详情请参考 spacewalk-report(8) manpage 和 spacewalk-report 程序的 --help 参数,其中包括该程序调用及其选项的附加信息。
问:
怎样才能找到我使用的数据库方案版本是什么?
答:
要决定您的数据库机构方案版本,请运行以下命令:
# rhn-schema-version
问:
怎样才能知道我使用的字符集类型是什么?
答:
要获得您的 Satellite 数据库字符集的类型,运行以下命令:
# rhn-charsets
问:
为什么管理员无法收到电子邮件?
答:
如果管理员不能从 Red Hat Satellite 获得电子邮件,请确定在 /etc/rhn/rhn.conf 文件中正确地配置了 traceback_mail
问:
如何更改 traceback 邮件的发件人?
答:
如果这个回溯邮件是从 dev-null@rhn.redhat.com 发出的,您应该使这个地址成为一个在您的机构内有效的地址,包括 web.default_mail_from 选项并在 /etc/rhn/rhn.conf 中包括适当的值。

5.6. 出错信息

问:
我在安装 Red Hat Satellite 时得到 "Error validating satellite certificate" 出错信息,该如何解决?
答:
在 Red Hat Satellite 安装过程中的 "Error validating satellite certificate" 出错信息是由于环境中有 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. 请使用断开连接模式运行安装脚本,并跳过已经完成的数据库安装:
    # ./install.pl --disconnected --skip-db-install
    
  2. 使用您喜欢的文本编辑器打开 /etc/rhn/rhn.conf,并添加或者修改以下行:
    server.satellite.rhn_parent = satellite.rhn.redhat.com
    
    删除以下行:
    disconnected=1
    
    如果您使用代理服务器连接到红帽网络,那么您还将需要添加或者以下行以体现该代理服务器设置。
    server.satellite.http_proxy = <hostname>:<port>
    server.satellite.http_proxy_username = <username>
    server.satellite.http_proxy_password = <password>
    
  3. 在连接的模式中重新激活 Satellite,作为 root 用户使用 rhn-satellite-activate 命令,其中包含 satellite 证书的路径和文件名:
    # rhn-satellite-activate --rhn-cert=/path/to/file.cert
另外,还可在连接的模式运行 install.pl 脚本,但要使用 --answer-file=answer file 选项。确定该 answer file 中包含指定的 HTTP 代理服务器信息,如下所示:
rhn-http-proxy = <hostname>:<port>
rhn-http-proxy-username = <username>
rhn-http-proxy-password = <password>
问:
在激活或者与 Red Hat Satellite 同步时得到 "ERROR: server.mount_point not set in the configuration file" 出错信息,如何解决?
答:
如果 /etc/rhn/rhn.conf 文件的 mount_point 配置参数没有指向目录路径,或者它指向的目录路径不存在或者无权访问该目录,则会在 Red Hat Satellite 激活或者同步的过程中出现 "ERROR: server.mount_point not set in the configuration file" 出错信息。
要解决这个问题,请检查 /etc/rhn/rhn.conf 文件中的 mount_point 配置参数值,确定有 /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 Satellite 以后的版本中解决这个出错信息问题。
问:
激活 Red Hat Satellite 证书时得到 "unsupported version" 出错信息,如何解决?
答:
如果您的 Red Hat Satellite 证书被破坏,您会得到以下出错信息之一:
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
要解决这个问题,请联络红帽支持服务获得新证书。
问:
编辑 kickstart 侧写时得到 "Internal Server Error" 信息说有 ASCII 问题,这是为什么?
答:
如果您最近在您的 kickstart 侧写中添加了一些内核参数,您可能会发现当您要「查看 kickstart 侧写列表」时会得到以下内部服务器出错信息:
'ascii' codec can't encode character u'\u2013'
出现这个出错信息是因为无法正确识别该侧写中的一些文本。
要解决问题:
  1. 作为 root 用户直接 ssh 到 Satellite 服务器:
    # 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 Satellite 服务应用更新的侧写:
    # 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. 返回网页界面。请注意该界面需要一些时间方可解析该服务,但应恢复正常状态。
问:
得到 "Host Not Found" 或者 "Could Not Determine FQDN" 出错信息,该怎么办?
答:
因为红帽网络配置文件只依赖完全限定域名(FQDN), 这在主要程序将 Red Hat Satellite 名称解析为 IP 地址时至关重要。Red Hat Update AgentRed Hat Network Registration Client 和 Apache 网页服务器特别容易出现这个问题,出问题时,红帽网络程序会给出 "host not found" 出错信息,且网页服务器会在启动失败时给出 "Could not determine the server's fully qualified domain name" 信息。
这个问题通常是由 /etc/hosts 文件造成的。您应该检查 /etc/nsswitch.conf 文件,这个文件定义了域名的解析和顺序。通常情况下,应首先检查 /etc/hosts 文件,然后是网络信息服务(NIS),然后是 DNS。必须成功使用以上方法之一方可要让 Apache 网页服务器启动,且红帽网络客户应用程序可以正常工作。
要解决这个问题,检查 /etc/hosts 文件的内容,它应该与以下内容相似:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
首先,在一个文本编辑器中删除错误的机器信息,如:
127.0.0.1 localhost.localdomain.com localhost
然后,保存这个文件并重新运行红帽网络客户应用程序或 Apache 网页服务器。如果它们还无法正常运行,在文件中明确指定 Satellite 的 IP 地址,如:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
使用实际的 Satellite IP 地址来替换这里的值。这么做可能会解决这个问题。请注意,如果规定了具体的 IP 地址,则在机器获得新地址时要更新这个文件。
问:
在与 Red Hat Satellite 服务器同步时得到 "This server is not an entitled Satellite" 信息,如何解决?
答:
如果 satellite-sync 报告该服务器没有激活为 Red Hat Satellite,就不会在对应的 Red Hat Satellite 频道中订阅它。如果这是一个新安装的系统,请确定在该系统中激活这个 satellite 证书。如果之前激活了该证书,那么它已被取消激活。
检查系统的子频道查看它是否订阅到任意红帽网络的 Red Hat Satellite 频道。使用以下命令查看订阅的频道:
# yum repolist
作为 root 用户使用这个命令在您的 Satellite 中再次激活同一 Satellite 证书:
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate

5.7. Web 界面

问:
我无法使用 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 提取上述文件:
    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. 回溯(Tracback)

问:
我收到标题为 "WEB 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 证书。
  • 搜索并替换 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 子目录中,而使用向导创建的文件保存在 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. 监控

问:
是否有可以帮助确定监控错误的诊断工具?
答:
虽然所有与监控相关的动作都是通过 Satellite 界面执行的,红帽还提供了一些命令行诊断工具来帮助您找出产生错误的原因。要使用这些工具,您必须成为在 Satellite 中执行监控的 nocpulse 用户。
首先请作为 root 用户登录到 Satellite。然后使用以下命令切换到 nocpulse 用户:
su - nocpulse
为了全面诊断探测错误,首先您必须要获得它的探测 ID。您可以作为 nocpulse 用户在 Red Hat Satellite 服务器中运行 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,最后一项是探测名称(在 Satelllite 界面中输入的)。在以上示例中,探测 ID 5 与名为 HTTP 的探测对应。
另外,您可以在 rhn-catalog 中使用这个探测的 ID 以及 --commandline-c)和 --dump-d)选项获得这个探测的附加信息,如:
rhn-catalog --commandline --dump 5 
--commandline 为探测产生命令参数,而 --dump 则接收其他的所有信息,包括改变阈和通知间隔及方法。
以上命令的输出结果应类似:
5 ServiceProbe on example4.redhat.com (199.168.36.175  ):
linux:cpu usage
      Run as: Unix::CPU.pm --critical=90 --sshhost=199.168.36.175
--warn=70 --timeout=15 --sshuser=nocpulse
--shell=SSHRemoteCommandShell --sshport=4545
现在您有了 ID,使用它和 rhn-rhnprobe 来检查这个探测的输出。
问:
如何解读 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”(对所有的运行级别)和一个代表详细程度的数字来作为它的值。示例如下:
rhn-runprobe --probe=5 --log=all=4 
以上命令需要带有详细信息的 probeID 5 所有运行级别的探测输出。
更具体的,您可以提供从 rhn-catalog 中获得的命令参数,如:
rhn-runprobe 5 --log=all=4 --sshuser=nocpulse --sshport=4545 
该命令将在输出中详细显示探测的工作情况。可清楚识别错误信息。

5.13. 多机构 Satellite 以及 Satellite 证书

问:
如果我的 Satellite 证书有足够的权限,应该怎样在多机构环境中注册我的系统?
答:
有些情况是您需要释放一些授权但没有时间去做,而且自己不能访问每个机构来完成这个操作。在多机构 Satellite 中有这样一个选项可允许 Satellite 管理员减少机构授权数。这个方法要登录到管理机构中才可完成。
例如:登录到管理机构,如果您的证书是可以覆盖所有在您的 Satellite 中注册的系统的 5 个系统管理授权,那么最新在那个机构中注册的 5 个系统将取消资格。过程描述如下:
  1. /etc/rhn/rhn.conf 文件中将web.force_unentitlement 设定为 1。
  2. 重启 Satellite。
  3. 可通过每个机构的「订阅」标签或者各个授权的「机构」标签减少为您要求机构分配的授权。
  4. 机构中的很多系统现在应该处于「未授权」状态。机构中未授权系统数目应等于您从该机构删除的授权总数与该机构没有应用到系统中的授权数之差。
    例如:如果您在第三步从该机构中删除了 10 个授权,且该机构有 4 个授权未被系统使用,那么在该机构中应该有 6 个未授权的系统。
在您拥有足够数目的所需授权后,您应该可以激活新的 Satellite 证书。请注意:只在要将机构的分配授权数减小到他们正在使用的授权数以下时才有必须要修改 web.force_unentitlement 变量。如果某个机构的授权数超过其正在使用的授权数,则您不需要设定此变量将其删除。
问:
我的 Satellite 证书中还有未使用的额外权限。如何处理这些权限?
答:
如果为您发放了一个新 Satellite 证书,并且拥有比您在 Satellite 中所消耗的授权更多的授权,则会为管理机构分配额外的授权。如果您作为 Satellite 管理员登录到网页界面,那么您将可以将这些授权分配给其他机构。不会影响预先分配给其他机构的授权。

5.14. Proxy 安装和配置

问:
配置 Red Hat Network Package Manager 后如何确定已将本地软件包成功添加到专用红帽网络频道?
答:
使用 rhn_package_manager -l -c "name_of_private_channel" 命令列出 Satellite 已知的专用频道软件包。或访问 Satellite 界面。
在将专用频道中订阅注册的系统后,您可以在注册的系统中执行 yum --disablerepo="*" --enablerepo="your_repo_name" list available 命令查看专用 Satellite 频道的软件包。
问:
如何才能知道客户端系统是否正在与 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 Satellite Proxy 服务器是 Apache 的一个扩展。其日志文件位置请参考 《Red Hat Satellite Proxy 安装指南》《日志文件》一节。
问:
我的 Red Hat Satellite Proxy 服务器配置无法正常工作。应从哪里着手开始进行故障排除?
答:
确定 /etc/sysconfig/rhn/systemid 的所有者是根。apache 的权限设置是 0640。
阅读日志文件。可用日志文件列表位于 《Red Hat Satellite Proxy 安装指南》《日志文件》一节。
问:
如何解决 Red Hat Satellite Proxy 中的常规问题?
答:
对一般故障进行排除,通常从查看出现故障的部件的日志文件或相关文件开始。
一个常见的产生问题的原因是磁盘空间满。当系统出现停止向日志文件中写内容的时候,通常是没有磁盘空间了。如果在写入过程中停止进行记录,比如一个字写了一半,您的磁盘很可能已经满了。要确定它,运行这个命令并检查 Use% 栏中的值:
df -h
除了日志文件,您还可以通过查看不同组件的状态获得有用的信息。可以在 Apache Web 服务器和 Squid 中执行这个操作。
要获得 Apache Web 服务器的状态,请运行命令:
service httpd status
要获得 Squid 的状态,请运行以下命令:
service squid status
如果管理员不能从 Red Hat Satellite Proxy 获得电子邮件,请确定在 /etc/rhn/rhn.conf 文件中正确地配置了 traceback_mail
问:
我的 Red Hat Satellite Proxy 发生 "Host Not Found"/"Could not Determine FQDN" 错误。我该怎么办?
答:
因为红帽网络配置文件只依赖完全限定域名(FQDN), 这在主要程序将 Red Hat Satellite Proxy 名称解析为 IP 地址时至关重要。Red Hat Update Agent、Red Hat Network Registration Client 和 Apache 网页服务器特别容易出现这个问题,出问题时,红帽网络程序会给出 "host not found" 出错信息,且网页服务器会在启动失败时给出 "Could not determine the server's fully qualified domain name" 信息。
这个问题源自 /etc/hosts 文件。您应该检查 /etc/nsswitch.conf 文件,这个文件定义了域名的解析和顺序。通常情况下,应首先检查 /etc/hosts 文件,然后是网络信息服务(NIS),然后是 DNS。必须成功使用以上方法之一方可要让 Apache 网页服务器启动,且红帽网络客户应用程序可以正常工作。
要解决这个问题,检查 /etc/hosts 文件的内容,它应该与以下内容相似:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
使用文本编辑器中从该文件中删除该机器的主机信息,它应类似如下:
127.0.0.1 localhost.localdomain.com localhost
保存这个文件并重新运行红帽网络客户应用程序或 Apache 网页服务器。如果它们还无法正常运行,在文件中明确指定 Satellite 的 IP 地址,如:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
使用 Proxy 的实际地址替换这里的值。这应该可以解决这个问题。请记住,如果特定的 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,请保证正确准备了每个 Proxy 的 SSL 证书。如果 Red Hat Satellite Proxy 和 Red Hat Satellite 一起使用,Proxy 应该安装它自己的服务器 SSL 密钥对和 CA SSL 公共(客户端)证书,这是因为它需要提供这两种功能。请参阅《RHN 客户端配置指南》中的 SSL 证书一章获得详细的信息。
  • 如果 Red Hat Satellite Proxy 服务器是通过 HTTP Proxy 连接的,请确定列出的 URL 是有效的。例如,HTTP Proxy 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 Web 服务器: service httpd stop
  2. 停止 Squid 服务器: service squid stop
  3. 删除那个目录中的内容: rm -fv /var/cache/rhn/*
  4. 重启这两个服务:
    service squid start
    service httpd start
    
只要清除该目录并重启 squid 可达到同样的目的,且更迅速,但这个方法很可能导致大量红帽网络 traceback 信息。
Proxy 验证所使用的内部缓存机制也需要清除它的缓存内容。要完成这个任务,请运行以下命令:
 rm -fv /var/cache/rhn/* 

注意

如果您已经尝试了所有的故障排除的步骤或希望红帽网络的专业技术人员提供帮助,红帽建议您利用 Red Hat Satellite 提供的强大的支持功能。最有效的获得技术支持的方法是收集您的 Satellite 的配置参数、日志文件和数据库信息并将它们直接发送到红帽。
红帽网络提供了一个实现这个任务的命令行工具:Satellite 诊断信息收集器satellite-debug)。要使用这个工具,您只需要以 root 用户的身份运行这个命令。您会看到所收集的信息以及一个 tarball 文件,如:
# 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/ 中的新文件通过电子邮件发送到红帽客户服务代表以便及时进行诊断。
另外,红帽提供了一个名为 SoS Report 的命令行工具,一般我们知道的是其命令 sosreport。这个工具会收集您 Proxy 的配置参数、日志文件和数据库信息,并将其直接发送给红帽。
要使用这个工具获得 Red Hat Satellite 信息,您必须安装 sos 软件包。作为 root 用户在 Satellite 服务器中输入 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/ 目录中的这个新文件发送到红帽代表以便立即进行诊断。

附录 A. 探测

有监控授权的系统可以使用探测确定运行状态。本小节按命令组分类(如 Apache)列出了可用的探测。
许多探测监控您系统内部的状态,而不是处理外部的元素(如 Network Services::SSH 探测)的探测需要安装红帽网络监控守护进程(rhnmd)。这个要求会在独立探测参考中提出。
本小节中每个探测都有它自己的参考信息,这些参考信息指定了必需的项(以 * 标记)、默认值和触发警告的阈值。同样的,在每个命令组小节的开始会有适用于这个组所有命令的信息。第 A.1 节 “探测指南” 一节中包含所有探测的通用信息,其他的小节介绍了每个独立的探测。

注意

几乎所有的探测都使用传输控制协议(Transmission Control Protocol,TCP)作为其传输协议。会在独立探测参考中列出例外事项。

A.1. 探测指南

以下常规指南概括了每个探测状态的含义并为您提供了设定阈值的方法。
以下列表为每个探测状态提供了一个简明的描述:
未知
无法接收用来决定探测状态的统计数据的探测。大多数(不是全部)探测会在超时发生时进入这个状态。处于这个状态的探测也可能是由于错误的配置造成的。
等待处理(Pending)
Red Hat Satellite 还没有接收到数据的探测。这个状态对新探测非常常见。但是,如果所有的探测都进入了这个状态,监控基础设施就可能出现了问题。
确定(OK)
已经成功运行并没有出现任何错误的探测。所有的探测都应该是这个状态。
警告(Warning)
这个探测超过了它们的 WARNING 阈值。
严重(Critical)
超过 CRITICAL 阈值或因为其他原因(如一些探测会在超时后进入 critical 状态)进入 critical 状态的探测。
添加探测的时候,选择适当的探测值。当超过这些探测值的时候,您和您的系统管理员可以收到您的系统有问题的通知。除非特别注明,超时的时间是以秒为单位的。与以上规则不同的情况会在相应的探测参考中单独注明。

重要

一些探测有基于时间的阈值。为了使基于时间的 CRITICAL 和 WARNING 阈值可以正确工作,它们的值不能超过超时的时间。否则的话,在达到 CRITICAL 和 WARNING 前,会返回一个 UNKNOWN 状态,从而设空阈值。因此,红帽强烈建议您将超时的值设置为大于所有计时的阈值。
红帽建议您在为您的每个系统建立性能基线的时候,在不发送通知的情况下运行您的探测。虽然为探测提供的默认值可能会适用于您的需求,您可能还是需要根据您的具体的工作环境更改一些探测的阈值。

A.2. Apache 1.3.x 和 2.0.x

本小节介绍了与 Apache 网页服务器相关的探测。虽然这些探测的默认配置是使用 HTTP,但您可以通过将应用协议改为 https 并将端口设为 443 以便使用安全连接。

A.2.1. Apache::Processes

Apache::Processes 探测监控在 Apache 网页服务器中执行的进程并收集以下数据:
  • 每个子进程的数据传输 - 记录单独子进程传输的数据信息。子进程是指被其他进程创建或由它的父进程创建的进程。
  • 每个插槽的数据传输 - 重新启动的子进程传输的数据总量。插槽的数量是通过在 httpd.conf 文件中使用 MaxRequestsPerChild 设定的。
为了使这个探测可以正常运行,必须将 web 服务器 httpd.conf 文件中的 ExtendedStatus 设置为 On

表 A.1. Apache::Processes 设置

字段
应用程序协议* http
端口* 80
路径名* /server-status
用户代理* NOCpulse-ApacheUptime/1.0
用户名
密码
超时* 15
每个子进程传输的最大兆字节的 critical 阈值
每个子进程传输的最大兆字节的 warning 阈值
每个插槽的最大传输数据量(以兆字节为单位)的 critical 阈值
每个插槽的最大传输数据量(以兆字节为单位)的 warning 阈值

A.2.2. Apache::Traffic

Apache::Traffic 探测监控在 Apache 网页服务器中执行的进程并收集以下数据:
  • 当前的请求 - 在探测的时候正在被服务器处理的请求。
  • 请求率 - 在上一次运行探测后每秒钟访问服务器的事件数量。
  • 流量 - 在上一次运行探测后服务器每秒钟处理的数据量(以千字节为单位)。
为了使这个探测可以正常运行,必须将 web 服务器 httpd.conf 文件中的 ExtendedStatus 设置为 On

表 A.2. Apache::Traffic 设置

字段
应用程序协议* http
端口* 80
路径名* /server-status
用户代理* NOCpulse-ApacheUptime/1.0
用户名
密码
超时* 15
最大当前请求(数量)的 critical 阈值
最大当前请求(数量)的 warning 阈值
最大请求率(每秒钟的事件数量)的 critical 阈值
最大请求率(每秒钟的事件数量)的 warning 阈值
最大流量(每秒钟的千字节数量)的 critical 阈值
最大流量(每秒钟的千字节数量)的 warning 阈值

A.2.3. Apache::Uptime

Apache::Uptime 探测记录了 Web 服务器最新一次启动后的运行总时间。这个探测并不收集数据,它被用来帮助管理服务级别合同(SLA)。

表 A.3. Apache::Uptime 设置

字段
应用程序协议* http
端口* 80
路径名* /server-status
用户代理* NOCpulse-ApacheUptime/1.0
用户名
密码
超时* 15

A.3. BEA WebLogic 6.x 和更高版本

本小节介绍的探测(除去 JDBC 连接池)可以被用来监控指定的主机中运行的 BEA WebLogic 6.x 或更高的服务器(包括在集群环境中的主机)的状态。监控集群是通过将所有的 SNMP 查询发送到这个域的管理服务器中,然后查询被管理的服务器以获得独立数据。
为了获得最高级别的粒度(granularity),「BEA 域管理服务器」的参数必须用来区分管理服务器接收的 SNMP 查询和被管理的服务器正在接收的指定探测。如果管理服务器正在被探测,「BEA 域管理服务器」的参数可以为空,SNMP 查询和探测都会被发送给它。
如果被探测的主机是被管理的服务器,则应该在「BEA 域管理服务器」参数中提供管理服务器的 IP 地址;被管理的服务器的名称应该包括在「BEA 服务器名」参数中,并加到「SNMP Community String」项的后面。这样配置可以使 SNMP 查询被发送到管理服务器主机,然后根据需求将这个具体探测重新定向到被管理的服务器主机。
请注意,为了使 SMNP 查询可以从正确的服务器返回结果,为被管理的服务器主机所运行探测的 community string 必须是 community_prefix@managed_server_name 的形式。最后,必须在每个被监控的系统中都启用 SNMP。您可以通过 WebLogic Console 启用并配置 SNMP。
请参阅 BEA 服务器中的文档或 BEA 网站来获得更多关于 BEA community string 的命名规则的信息。

A.3.1. BEA WebLogic::Execute Queue

BEA WebLogic::Execute Queue 探测监控 WebLogic 的执行队列并提供以下的信息:
  • 空闲的执行线程 - 处于空闲状态的执行线程的数量。
  • 队列长度 - 在队列中的请求数量。
  • 请求率 - 每秒的请求数量。
这个探测的通讯协议是 UDP。

表 A.4. BEA WebLogic::Execute Queue 设置

字段
SNMP Community String* public
SNMP 端口* 161
SNMP 版本* 1
BEA 域管理服务器
BEA 服务器名* myserver
队列名* 默认
最大空闲执行线程的 critical 阈值
最大空闲执行线程的 warning 阈值
最大队列长度的 critical 阈值
最大队列长度的 warning 阈值
最大请求率的 critical 阈值
最大请求率的 warning 阈值

A.3.2. BEA WebLogic::Heap Free

BEA WebLogic::Heap Free 探测收集以下数据:
  • 空闲堆栈 - 空闲堆栈空间的百分比。
这个探测的通讯协议是 UDP。

表 A.5. BEA WebLogic::Heap Free 设置

字段
SNMP Community String* public
SNMP 端口* 161
SNMP 版本* 1
BEA 域管理服务器
BEA 服务器名* myserver
最大空闲堆栈的 critical 阈值
最大空闲堆栈的 warning 阈值
最小空闲堆栈的 warning 阈值
最小空闲堆栈的 critical 阈值

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 Community String* public
SNMP 端口* 161
SNMP 版本* 1
BEA 域管理服务器
BEA 服务器名* myserver
JDBC 池名称* MyJDBC Connection Pool
最大连接的 critical 阈值
最大连接的 warning 阈值
最大连接率的 critical 阈值
最大连接率的 warning 阈值
最大等待者的 critical 阈值
最大等待者的 warning 阈值

A.3.4. BEA WebLogic::Server State

BEA WebLogic::Server 状态探测监控一个 BEA Weblogic Web 服务器当前的状态。如果这个探测无法与这个服务器连接,会产生一个 CRITICAL 状态。
这个探测的通讯协议是 UDP。

表 A.7. BEA WebLogic::Server 状态设置

字段
SNMP Community String* 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 Community String* public
SNMP 端口* 161
SNMP 版本* 1
BEA 域管理服务器
BEA 服务器名* myserver
Servlet 名*
最长执行时间的 critical 阈值
最长执行时间的 warning 阈值
最大执行时间移动平均值的 critical 阈值
最大执行时间移动平均值的 warning 阈值

A.4. 常规

本小节中介绍的探测被用来监控系统的基本运行状态。在使用它们的时候请确定计时的阈值不会超过分配给超时时间段值。否则,该探测会在扩展延迟的所有事务中返回 UNKNOWN 状态,从而使阈值无效。

A.4.1. General::Remote Program

General::Remote Program 探测允许您在您的系统中运行任何命令或脚本,并获得一个状态字符串。请注意,结果信息会被限制在 1024 字节。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.9. General::Remote Program 设置

字段
命令*
OK 退出状态* 0
warning 退出状态* 1
critical 退出状态* 2
超时 15

A.4.2. General::Remote Program with Data

General::Remote Program with Data 探测允许您在系统中运行任何命令或脚本,并获得一个返回值和一个状态字符串。要使用这个探测,您必须在您的脚本中包括一些 XML 代码。这个探测支持以下的 XML tag:
  • <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 的远程程序仍然会报告这个值并返回它的状态。
要求 - 要使用这个探测,必须在被监控的系统中运行红帽网络监控守护进程(rhnmd。XML 是区分大小写的。data 项的密钥名称不能被修改,且其值必须是一个数字。

表 A.10. General::Remote Program with Data settings

字段
命令*
OK 退出状态* 0
warning 退出状态* 1
critical 退出状态* 2
超时 15

A.4.3. General::SNMP Check

General::SNMP 检查探测通过指定单一对象识别符(OID)(如1.3.6.1.2.1.1.1.0)测试您的 SNMP 服务器,且有一个阈值(threshold)与返回值关联。它收集以下数据:
  • 远程服务延迟 - SNMP 服务器响应连接请求所用的时间(以秒为单位)。
要求 - 为了执行这个探测,必须在被监控的系统中运行 SNMP。阈值只能是整数。
这个探测的通讯协议是 UDP。

表 A.11. General::SNMP 检查设置

字段
SNMP OID*
SNMP Community String* public
SNMP 端口* 161
SNMP 版本* 2
超时* 15
最大值的 critical 阈值
最大值的 warning 阈值
最小值的 warning 阈值
最小值的 critical 阈值

A.4.4. General::TCP Check

General::TCP Check 探测通过验证可以使用一个特定的端口与一个系统相连来测试您的 TCP 服务器。它收集以下数据:
  • 远程服务延迟 - TCP 服务器响应连接请求所用的时间(以秒为单位)。
这个探测会在连接的时候发送「发送」项中指定的字符串。这个探测会希望从系统中获得一个响应,这个响应应该包括「预期」项中指定的子字符串。如果没有获得的字符串,这个探测会返回一个 CRITICAL 状态。

表 A.12. General::TCP Check 设置

字段
发送
预期
端口* 1
超时* 10
最大延迟的 critical 阈值
最大延迟的 warning 阈值

A.4.5. General::UDP Check

General::UDP Check 探测通过验证可以使用一个特定的端口与一个系统相连来测试您的 UDP 服务器。它收集以下数据:
  • 远程服务延迟 - UDP 服务器响应一个连接请求所需的时间(以秒为单位)。
这个探测会在连接的时候发送「发送」项中指定的字符串。这个探测会希望从系统中获得一个响应,这个响应应该包括「预期」项中指定的子字符串。如果没有获得的字符串,这个探测会返回一个 CRITICAL 状态。
这个探测的通讯协议是 UDP。

表 A.13. General::UDP Check 设置

字段
端口* 1
发送
预期
超时* 10
最大延迟的 critical 阈值
最大延迟的 warning 阈值

A.4.6. General::Uptime (SNMP)

General::Uptime (SNMP) 探测记录从最近一次设备启动到现在的时间。它使用 SNMP object identifier(OID)来获得这个值。它唯一的错误状态是返回一个 UNKNOWN 值。
要求 - 为了执行这个探测,SNMP 必须在被监控的系统中运行并且可访问 OID。
这个探测的通讯协议是 UDP。

表 A.14. General::Uptime (SNMP) 设置

字段
SNMP Community String* public
SNMP 端口* 161
SNMP 版本* 2
超时* 15

A.5. Linux

本小节中介绍的探测可用于监控您 Linux 系统的基本状态。您可以在关键任务系统中使用它们,从而在系统出现致命错误前得到警告。 
与其他的探测组不同(它们可能需要红帽网络监控守护进程也可能不需要),这里的每一个 Linux 探测都需要在被监控的系统中运行 rhnmd 守护进程。

A.5.1. Linux::CPU Usage

Linux::CPU Usage 探测监控系统的 CPU 使用情况并收集以下数据:
  • CPU 用量百分比 - 在探测执行时每 5 秒的 CPU 用量百分比。
要求 - 为了运行这个探测,必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)。

表 A.15. Linux::CPU Usage 设置

字段
超时* 15
最大 CPU 用量百分比的 critical 阈值
最大 CPU 使用百分比的 warning 阈值

A.5.2. Linux::Disk IO Throughput

Linux::Disk IO Throughput 探测监控给定磁盘并收集以下数据:
  • 读频率 - 每秒所读的数据量(以千字节为单位)。
  • 写频率 - 每秒钟写数据的数量(以千字节为单位)。
要获得所需的「磁盘号或磁盘名」项的值,请在被监测的系统中运行 iostat 来查看您所需要的磁盘名或磁盘号。默认的值 0 通常会分配给直接连接到这个系统中的第一个硬盘。
要求 - 为了执行这个探测,必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)。另外,「磁盘号或磁盘名」参数必须与在命令行下运行 iostat 命令的输出的格式相同。如果它们的格式不同,这个配置的探测会进入一个 UNKNOWN 状态。

表 A.16. Linux::Disk IO Throughput 设置

字段
磁盘号或磁盘名称* 0
超时* 15
最大的每秒读数据的数量(以 KB 为单位)的 critical 阈值
最大的每秒读数据的数量(以 KB 为单位)的 warning 阈值
最小的每秒读数据的数量(以 KB 为单位)的 warning 阈值
最小的每秒读数据的数量(以 KB 为单位)的 critical 阈值
最大的每秒写数据的数量(以 KB 为单位)的 critical 阈值
最大的每秒写数据的数量(以 KB 为单位)的 warning 阈值
最小的每秒写数据的数量(以 KB 为单位)的 warning 阈值
最小的每秒写数据的数量(以 KB 为单位)的 critical 阈值

A.5.3. Linux::Disk Usage

Linux::Disk Usage 探测监控具体文件系统的磁盘使用空间并收集以下数据:
  • 使用的文件系统 - 当前被使用的文件系统的百分比。
  • 使用的空间 - 当前被使用的文件系统的总量(以兆字节为单位)。
  • 可用空间 - 当前可用的文件系统空间(以兆字节为单位)。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.17. Linux::Disk Usage 设置

字段
文件系统* /dev/hda1
超时* 15
最大文件系统使用百分比的 critical 阈值
最大文件系统使用百分比的 warning 阈值
最大使用空间的 critical 阈值
最大使用空间的 warning 阈值
最小可用空间的 warning 阈值
最小可用空间的 critical 阈值

A.5.4. Linux::Inodes

Linux::Inodes 探测监控具体文件系统并收集以下数据:
  • Inodes - 当前被使用的内节点百分比。
内节点是在 Linux 文件系统中保存信息的数据结构。每个文件都会有一个内节点,这个文件所在的文件系统通过文件的内节点区分每个文件。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.18. Linux::Inodes 设置

字段
文件系统* /
超时* 15
最大内节点使用百分比的 critical 阈值
最大内节点使用百分比的 warning 阈值

A.5.5. Linux::Interface Traffic

Linux::Interface Traffic 探测监控进入和离开某个具体接口(如 eth0)的数据流量并收集以下数据:
  • 输入率 - 每秒钟进入某具体接口的字节数。
  • 输出率 - 每秒钟某具体接口输出的字节数。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.19. Linux::Interface Traffic 设置

字段
接口*
超时* 30
最大输入率的 critical 阈值
最大输入率的 warning 阈值
最小输入率的 warning 阈值
最小输入率的 critical 阈值
最大输出率的 critical 阈值
最大输出率的 warning 阈值
最小输出率的 warning 阈值
最小输出率的 critical 阈值

A.5.6. Linux::Load

Linux::Load 探测监控系统的 CPU 并收集以下数据:
  • 负载 - 在一个阶段内系统 CPU 的平均负载。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.20. Linux::Load 设置

字段
超时* 15
一分钟平均 CPU 负载的 critical 阈值
一分钟平均 CPU 负载的 warning 阈值
五分钟平均 CPU 负载的 critical 阈值
五分钟平均 CPU 负载的 warning 阈值
十五分钟平均 CPU 负载的 critical 阈值
十五分钟平均 CPU 负载的 warning 阈值

A.5.7. Linux::Memory Usage

Linux::Memory Usage 探测监控系统中的内存的使用并收集以下数据:
  • 空闲 RAM - 系统中的空闲的 RAM(以兆字节为单位)。
您可以在「包括可收回内存」项中输入 yesno 将可收回的内存数据包括在收集的数据中。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.21. Linux::Memory Usage 设置

字段
包括可收回内存
超时* 15
最大空闲 RAM 的 warning 阈值
最大空闲 RAM 的 critical 阈值

A.5.8. Linux::Process Counts by State

Linux::Process 根据状态计数探测指定以下状态的进程数量:
  • 已阻塞 — 已经被切换到等待队列,状态已经被转换为等待状态的进程。
  • 不再使用 - 已经被终止(被一个信号终止(kill)或调用了 exit())但父进程在执行 wait() 系统调用时还没有收到这个进程被终止的通知的进程。
  • 已停止 - 在它可以被执行完成前已被停止的进程。
  • 休眠 - 处于 可中断 休眠状态的进程。它们可以在以后重新进入内存,并从它们离开的地方恢复执行。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.22. Linux::Process Counts by State 设置

字段
超时* 15
最大阻塞进程数量的 critical 阈值
最大阻塞进程数量的 warning 阈值
最大非现存进程数量的 critical 阈值
最大非现存进程数量的 warning 阈值
最大终止进程的 critical 阈值
最大终止进程的 warning 阈值
最大睡眠进程的 critical 阈值
最大睡眠进程的 warning 阈值
最大子进程的 critical 阈值
最大子进程的 warning 阈值

A.5.9. Linux::Process Count Total

Linux::Process Count Total 探测监控系统并收集以下数据:
  • 进程数 - 当前正在这个系统中运行的进程总数。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.23. Linux::Process Count Total 设置

字段
超时* 15
最大进程数的 critical 阈值
最大进程数的 warning 阈值

A.5.10. Linux::Process Health

Linux::Process Health 探测监控用户指定的进程并收集以下数据:
  • CPU 用量 - 指定进程的 CPU 使用率(以每秒中使用的毫秒数计算)。这个数据会出现在 ps 输出的 time 栏中,它显示了这个进程使用 CPU 积累的时间。这使得这个数据独立于探测执行的间隔,允许设置合理的阈值并产生可用的数据统计图。
  • 子进程组 - 具体进程的子进程数。子进程会从它的父进程中继承大量的属性(如打开的文件)。
  • 线程 - 具体进程的运行线程的数量。线程是 CPU 的基本使用单元,它包括一个程序计数器、一个寄存器组和一个堆栈空间。线程又叫轻加权进程。
  • 使用的物理内存 - 被指定进程使用的物理内存(或 RAM)的数(以千字节为单位)。
  • 使用的虚拟内存 - 被指定进程使用的虚拟内存的数量(以千字节为单位);或是实际内存加上交换分区中的这个进程的大小。
通过使用命令名或进程 I.D.(PID)来指定进程。输入 PID 会覆盖输入的命令名。如果没有输入命令名或 PID,则会显示 Command not found 出错信息,同时将探测设定为 CRITICAL 状态。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.24. Linux::Process Health 设置

字段
命令名
进程 ID(PID)文件
超时* 15
最大 CPU 使用的 critical 阈值
最大 CPU 使用的 warning 阈值
最大子进程组的 critical 阈值
最大子进程组的 warning 阈值
最大线程的 critical 阈值
最大线程的 warning 阈值
最大使用的物理内存的 critical 阈值
最大使用的物理内存的 warning 阈值
最大使用的虚拟内存的 critical 阈值
最大使用的虚拟内存的 warning 阈值

A.5.11. Linux::Process Running

Linux::Process Running 探测被用来验证指定的进程是否正正常运行。它会根据「进程组数」选择框的选择情况来记录进程的数量或进程组的数量。
在默认的情况下选择此选项,即这个探测应该统计独立于子进程数量的进程组领导进程的数。例如,它允许您比较两个运行的 Apache 网页服务器实例而不用考虑它们的子进程的(动态)数量。如果它没有被选择,这个探测就会统计与指定的进程匹配的进程数量(包括子进程和领导进程)。
通过命令名或进程 ID(PID)指定进程。输入 PID 会覆盖输入的命令名。如果没有输入命令名或 PID,则会显示 Command not found 出错信息,且探测会成为 CRITICAL 状态。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.25. Linux::Process Running 设置

字段
命令名
PID 文件
进程组数 (选定)
超时* 15
最大运行数量的 critical 阈值
最小运行数量的 critical 阈值

A.5.12. Linux::Swap Usage

Linux::Swap Usage 探测监控系统的 swap 分区的使用情况并收集以下数据:
  • 空闲的 swap 分区 - 当前空闲的 swap 分区的百分比。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.26. Linux::Swap Usage 设置

字段
超时* 15
最小空闲交换分区的 warning 阈值
最小空闲交换分区的 critical 阈值

A.5.13. Linux::TCP Connections by State

Linux::TCP Connections by State 探测指定所有的 TCP 连接数和每个 TCP 连接中的处于以下状态的连接数:
  • TIME_WAIT - 在关闭远程停机传输后 socket 等待的时间。在这段时间内,它还可以处理已经存在在网络中的数据包。
  • CLOSE_WAIT - 远程部分已经终止,等待关闭 socket。
  • FIN_WAIT - socket 已关闭,正在关闭该连接。
  • ESTABLISHED - 已经建立了到 socket 的连接。
  • SYN_RCVD - 已经从网络上收到了连接请求。
这个探测可以帮助查找并隔离指定 IP 地址的网络流量;或检查到被监控系统的网络连接。
这个探测的过滤参数可以帮助您减小探测的范围。这个探测使用 netstat -ant 命令收集数据。「本地 IP 地址」「本地端口」参数使用输出中的「本地地址」栏中的数据;「远程 IP 地址」「远程端口」参数使用输出中的「外部地址」栏中的信息。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.27. Linux::TCP Connections by State 设置

字段
本地的 IP 地址过滤器特征列表
本地端口过滤器
远程的 IP 地址过滤器特征列表
远程端口过滤器
超时* 15
最大连接数量的 critical 阈值
最大连接数量的 warning 阈值
最大 TIME_WAIT 连接的 critical 阈值
最大 TIME_WAIT 连接的 warning 阈值
最大 CLOSE_WAIT 连接的 critical 阈值
最大 CLOSE_WAIT 连接的 warning 阈值
最大 FIN_WAIT 连接的 critical 阈值
最大 FIN_WAIT 连接的 warning 阈值
最大 ESTABLISHED 连接的 critical 阈值
最大 ESTABLISHED 连接的 warning 阈值
最大 SYN_RCVD 连接的 critical 阈值
最大 SYN_RCVD 连接的 warning 阈值

A.5.14. Linux::Users

Linux::Users 探测监控系统中的用户并收集以下数据:
  • 用户 - 当前登录的用户数量。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.28. Linux::Users 设置

字段
超时* 15
最大用户数的 critical 阈值
最大用户数的 warning 阈值

A.5.15. Linux::Virtual Memory

Linux::Virtual Memory 探测监控系统内存总量并收集以下数据:
  • 虚拟内存 - 空闲的总内存(包括 RAM 和交换分区)的百分比。
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.29. Linux::Virtual Memory 设置

字段
超时* 15
最小空闲虚拟内存的 warning 阈值
最小空闲虚拟内存的 critical 阈值

A.6. 日志代理

本小节中介绍的探测会被用来监控您系统中的日志文件。您可以使用它们根据具体条件查询系统日志,同时监控日志文件的大小。要运行 LogAgent 探测,nocpulse 用户必须有对您的日志文件的读权限。
请注意,在第一次运行这些探测的时候所收集的数据不会被用来和阈值比较来产生警告。这是因为在第一次运行探测时所收集的数据并不完整,这可能会导致一些不正确的数据。数据比较会从第二次运行探测时开始。

A.6.1. LogAgent::Log Pattern Match

LogAgent::Log Pattern Match 探测使用正则表达式匹配被监控的日志文件中的内容并收集以下数据:
  • 正则表达式匹配 - 从这个探测最新一次运行后匹配的数量。
  • 正则表达式匹配率 - 从这个探测最新一次运行后每分钟的匹配数量。
要求 - 为了运行这个探测,必须在被监控的系统中运行红帽网络监控守护进程(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)+

警告

请不要在 expression 中包括单引号(')。单引号会导致 egrep 无法正常工作并使探测超时。

表 A.30. LogAgent::Log Pattern Match 设置

字段
日志文件* /var/log/messages
基本正则表达式*
超时* 45
最大匹配的 critical 阈值
最大匹配的 warning 阈值
最小匹配的 warning 阈值
最小匹配的 critical 阈值
最大匹配率的 critical 阈值
最小匹配率的 warning 阈值
最小匹配率的 warning 阈值
最大匹配率的 critical 阈值

A.6.2. LogAgent::Log Size

LogAgent::Log Size 探测监测日志文件的增长情况并收集以下数据:
  • 大小 - 从探测最新一次运行后日志文件大小的变化。
  • 输出率 - 从探测最新一次运行后日志文件每分钟增长的字节数。
  • 行数 - 从探测最新一次运行后写入到日志文件中的行的数。
  • 行率 - 从探测最新一次运行后每分钟写入到日志文件中的行的数量。
要求 - 为了运行这个探测,必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)。另外,nocpulse 用户必须有访问您的日志文件的权限。

表 A.31. LogAgent::Log Size 设置

字段
日志文件* /var/log/messages
超时* 20
最大文件大小的 critical 阈值
最大文件大小的 warning 阈值
最小文件大小的 warning 阈值
最小文件大小的 critical 阈值
最大输出率的 critical 阈值
最大输出率的 warning 阈值
最小输出率的 warning 阈值
最小输出率的 critical 阈值
最大行数量的 critical 阈值
最大行数量的 warning 阈值
最小行数量的 warning 阈值
最小行数量的 critical 阈值
最大行率的 critical 阈值
最大行率的 warning 阈值
最小行率的 warning 阈值
最小行率的 critical 阈值

A.7. MySQL 3.23 - 3.33

本小节中的探测被用来监控使用 mysqladmin 的 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
超时 15

A.7.2. MySQL::Opened Tables

The MySQL::Opened Tables 探测监控 MySQL 服务器并收集以下数据:
  • 打开的表 - 从服务器启动后已被打开的表。

表 A.33. MySQL::Opened Tables 设置

字段
用户名
密码
MySQL 端口* 3306
超时 15
最大打开项数量的 critical 阈值
最大打开项数量的 warning 阈值
最小打开项数量的 warning 阈值
最小打开项数量的 critical 阈值

A.7.3. MySQL::Open Tables

MySQL::Open Tables 探测监控 MySQL 服务器并收集以下数据:
  • 打开的表 - 探测运行时打开的表的数量。

表 A.34. MySQL::Open Tables 设置

字段
用户名
密码
MySQL 端口* 3306
超时 15
最大打开项数量的 critical 阈值
最大打开项数量的 warning 阈值
最小打开项数量的 warning 阈值
最小打开项数量的 critical 阈值

A.7.4. MySQL::Query Rate

MySQL::Query Rate 探测监控 MySQL 服务器并收集以下数据:
  • 查询率 - 每个服务器每秒的平均查询数量。

表 A.35. MySQL::Query Rate 设置

字段
用户名
密码
MySQL 端口* 3306
超时 15
最大查询率的 critical 阈值
最大查询率的 warning 阈值
最小查询率的 warning 阈值
最小查询率的 critical 阈值

A.7.5. MySQL::Threads Running

MySQL::Threads Running 探测监控 MySQL 服务器并收集以下数据:
  • 运行的线程 - 在数据库中运行的线程总数。

表 A.36. MySQL::Threads Running 设置

字段
用户名
密码
MySQL 端口* 3306
超时 15
最大运行线程数量的 critical 阈值
最大运行线程数量的 warning 阈值
最小运行线程数量的 warning 阈值
最小运行线程数量的 critical 阈值

A.8. 网络服务

本小节介绍的探测被用来监控集成在网络中的不同的服务。当应用它们的时候,确定与时间相关的阈值没有超过相应的超时时限。否则,在没有到达阈值的时候就可能返回 UNKNOWN 状态。

A.8.1. Network Services::DNS Lookup

Network Services::DNS Lookup 探测使用 dig 命令来检查是否可以解决域名服务请求,或「用来查找的主机或地址」项中是否有该域名。它收集以下数据:
  • 查询时间 - 执行 dig 请求所需的时间(以毫秒为单位)。
它对监控您的 DNS 服务器状态非常有用。要监控您的 DNS 服务器,请提供大家熟悉的主机/域名,如大型的搜索引擎或公司网站。

表 A.37. Network Services::DNS Lookup 设置

字段
用来查询的主机或地址
超时* 10
最大查询时间的 critical 阈值
最大查询时间的 warning 阈值

A.8.2. Network Services::FTP

Network Services::FTP 探测使用网络 socket 来测试 FTP 端口的可用性。它收集以下的数据:
  • 远程服务延迟 - FTP 服务器响应连接请求所用的时间(以秒为单位)。
这个探测支持用户验证。要使用这个功能,在相关的项中输入用户名和密码。可选的「预期」值是用来在成功地与 FTP 服务器连接后进行匹配的字符串。如果没有找到预期的字符串,这个探测会返回一个 CRITICAL 状态。

表 A.38. Network Services::FTP 设置

字段
预期 FTP
用户名
密码
FTP 端口* 21
超时* 10
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

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
预期* 确定(OK)
超时* 5
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

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
超时* 10
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

A.8.5. Network Services::Ping

Network Services::Ping 探测决定 Red Hat Satellite 服务器是否可以 ping 被监控的系统或者指定的 IP 地址。它还会检查数据包的丢失情况并使用平均的往返时间值与 Warning 阈值和 Critical 阈值相比较。在这里需要的「发送的数据包」值可让您控制发送到该系统的 ICMP ECHO 数据包数。这个探测收集以下数据:
  • 平均往返时间 - ICMP ECHO 数据包从被发出到从被监控的系统返回的时间(以毫秒为单位)。
  • 丢失的数据包 - 在传输过程中丢失的数据包的百分比。
虽然「IP 地址」项是可选的,但它在收集有多个 IP 地址的系统的数据时会被使用。例如,将系统配置为有多个虚拟 IP 地址或使用网络地址转换(NAT)以便支持内部和外部的 IP 地址,这个选择就可以被用来检查从属 IP 地址,而不是检查与主机名关联的主 IP 地址。
注:这个探测只在 Red Hat Satellite 服务器中执行 ping 命令,而不是在被监控的系统中执行。因此,它并不检查系统和指定 IP 地址是否可以连接,而是检查 Red Hat Satellite 服务器和这个 IP 地址是否可以连接。因此,在不同的系统中为 Ping 探测输入相同的 IP 地址可以完成同样的任务。要在被监控的系统中 ping 一个 IP 地址,您需要使用远程 Ping 探测。详情请参阅 第 A.8.7 节 “Network Services::Remote Ping”

表 A.41. Network Services::Ping 设置

字段
IP 地址(默认系统 IP)
发送的数据包* 20
超时* 10
最大平均往返时间的 critical 阈值
最大平均往返时间的 warning 阈值
最大数据包丢失数量的 critical 阈值
最大数据包丢失数量的 warning 阈值

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
超时* 10
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

A.8.7. Network Services::Remote Ping

Network Services::Remote Ping 探测被用来检查被监控的系统是否可以 ping 指定的 IP 地址。它还会监控数据包的丢失情况并使用平均往返时间值与 Warning 阈值和 Critical 阈值进行比较。在这里需要的「发送的数据包」值可让您控制发送到该地址的 ICMP ECHO 数据包数。这个探测收集以下数据:
  • 平均往返时间 - 从 ICMP ECHO 数据包发出到从指定的 IP 地址返回的时间(以毫秒为单位)。
  • 丢失的数据包 - 在传输过程中丢失的数据包的百分比。
「IP 地址」项确定被 ping 的准确 IP 地址。在标准的 Ping 探测中这个选项是可选的,而在这个探测中这个项是必需的。被监控的系统将直接 ping 一个第三方地址而不是 Red Hat Satellite 服务器。因为远程 Ping 探测测试检测被监控系统本身的可连接性,所以必须指定另外一个 IP 地址。要从红帽网络服务器 ping 一个系统或一个 IP 地址,请使用标准的 Ping 探测。请参阅 第 A.8.5 节 “Network Services::Ping”
要求 - 必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)方可执行这个探测。

表 A.43. Network Services::Remote Ping 设置

字段
IP 地址*
发送的数据包* 20
超时* 10
最大平均往返时间的 critical 阈值
最大平均往返时间的 warning 阈值
最大数据包丢失数量的 critical 阈值
最大数据包丢失数量的 warning 阈值

A.8.8. Network Services::RPCService

Network Services::RPCService 探测测试给定 IP 地址中远程过程调用(RPC)程序的可用性。它收集以下数据:
  • 远程服务延迟 - RPC 服务器响应连接请求所用的时间(以秒为单位)。
可通过 RPC 网络提供功能调用的 RPC 服务器程序可通过提供程序 ID 和程序名称在 RPC 网络中注册。NFS 是一个使用 RPC 机制提供服务的实例。
要使用 RPC 服务器程序资源的客户端程序可通过让该服务器程序所在机器提供对 RPC 程序数或者程序名中的 RPC 功能的访问达到目的。它们之间的对话是通过 TOC 或 UDP(多数使用 UDP)实现。
这个探测允许您测试简单程序的可用情况。您需要指定程序名或程序号、对话所需的协议和通常的超时时间。

表 A.44. Network Services::RPCService 设置

字段
协议 (TCP/UDP) udp
服务名* nfs
超时* 10
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

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

Network Services::Secure Web Server (HTTPS) 探测决定安全 Web 服务器的可用情况,并收集以下数据:
  • 远程服务延迟 - HTTPS 服务器响应连接请求所用的时间(以秒为单位)。
这个探测确认它可以连接到指定主机的 HTTPS 端口并可以获得指定的 URL。如果没有指定 URL,这个探测会获取 root 文档。如果您没有改变协议的值,探测会在系统中查看 HTTP/1. 信息;指定另外的端口号会覆盖默认的端口443。
这个探测支持用户验证。要使用这个功能,您需要在适当的项中输入用户名和密码信息。与其他探测不同,如果这个探测在超时的时间范围内无法和系统连接,它将返回一个 CRITICAL 状态。

表 A.45. Network Services::Secure Web Server (HTTPS) 设置

字段
URL 路径 /
预期的标头 HTTP/1
预期的内容
用户代理* NOCpulse-check_http/1.0
用户名
密码
超时* 10
HTTPS 端口* 443
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

A.8.10. Network Services::SSH

Network Services::SSH 探测检查具体端口中的 SSH 是否可用,它收集以下信息:
  • 远程服务延迟 - SSH 服务器响应一个连接请求所需的时间(以秒为单位)。
在成功地连接到 SSH 服务器并收到一个有效的响应后,这个探测会显示协议和服务器版本信息。如果探测收到无效的响应,它将显示从服务器返回的信息并产生一个 WARNING 状态。

表 A.46. Network Services::SSH 设置

字段
SSH 端口* 22
超时* 5
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

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

Network Services::Web Server(HTTP)探测检查 Web 服务器的可用性并收集以下的信息:
  • 远程服务延迟 - HTTP 服务器响应连接请求所用的时间(以秒为单位)。
这个探测确认它可以连接到指定主机的 HTTP 端口并获得指定的 URL。如果没有指定 URL,这个探测会获取 root 文档。如果您没有指定其他的值,这个探测会查看系统中的 HTTP/1. 信息。指定其他的端口号会覆盖默认的端口值 80。与其他的探测不同,如果在超时的时间范围内不能和系统相连,这个探测会返回一个 CRITICAL 状态。
这个探测支持用户身份验证。在相关页中输入用户名和密码使用这个功能。另外,如果您需要监控同一物理主机中以一个独立服务器的形式出现的文档集合,您可以使用可选的虚拟主机项。如果您没有将 Web 服务器配置为使用虚拟主机,则不需要在这个项中输入内容。如果您配置了虚拟主机,请在这里输入第一个主机的域名。请根据需要添加监控该机器中所有虚拟机的探测。

表 A.47. Network Services::Web Server (HTTP) 设置

字段
URL 路径 /
虚拟主机
预期的标头 HTTP/1
预期的内容
用户代理* NOCpulse-check_http/1.0
用户名
密码
超时* 10
HTTP 端口* 80
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

A.9. Oracle 8i、9i、10g 和 11g

本小节中介绍的探测可用于与所支持版本匹配的 Oracle 数据库事务。Oracle 探测需要配置数据库并通过运行以下命令使其关联:
$ORACLE_HOME/rdbms/admin/catalog.sql
另外,为了使这些探测可以正常工作,在探测中配置的用户必须最少有 CONNECT 和 SELECT_CATALOG_ROLE 特权。
有些 Oracle 探测是特别用于调试设备以获得长期性能而不是避免运行中断。因此,红帽推荐您将它们的执行频率减小,设为每小时到每两天。这样的设置可以获得好的统计数据而不会被一些无关的、短期的数据所干扰。这个原则适用于以下探测:Buffer Cache、Data Dictionary Cache、Disk Sort Ratio、Library Cache 和 Redo Log。
要使基于时间的 CRITICAL 和 WARNING 阈值起到作用,它们的值一定不能超过超时时间值。否则会在达到阈值前就返回一个 UNKNOWN 状态。因此,红帽强烈推荐您将超时时间值设为大于所有的基于时间的阈值。这个原则对这一节中介绍的 TNS Ping 探测尤其重要。
最后,如果用户需要使用针对 Oracle 的多线程服务器(Multi-Threaded Server (MTS))数据库的探测,请联系红帽支持部门将相应的项加入红帽网络服务器的 /etc/hosts 文件中。这样就可以保证正确解析 DNS 名。

A.9.1. Oracle::Active Sessions

Oracle::Active Sessions 探测监控 Oracle 事务并收集以下数据:
  • 活跃会话 - 基于 V$PARAMETER.PROCESSES 值的活跃会话的数量。
  • 可用会话 - 基于 V$PARAMETER.PROCESSES 值的可用活跃会话百分比。

表 A.48. Oracle::Active Sessions 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30
最大活跃会话数量的 critical 阈值
最大活跃会话数量的 warning 阈值
最大已使用活跃会话数量的 critical 阈值
最大已使用活跃会话数量的 warning 阈值

A.9.2. Oracle::Availability

Oracle::Availability 探测决定 Red Hat Satellite 中的数据库可用性。

表 A.49. Oracle::Availability 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30

A.9.3. Oracle::Blocking Sessions

Oracle::Blocking Sessions 探测监控 Oracle 事务并收集以下数据:
  • 阻塞会话 - 防止其他会话向该 Oracle 数据库提交更改的会话数,该数值由您提供的所需 阻塞的时间 值决定。只有那些不能在此期间(以秒计)内执行的会话才会被计为阻塞会话。

表 A.50. Oracle::Blocking Sessions 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
阻塞的时间(秒)* 20
超时* 30
最大阻塞会话的 critical 阈值
最大阻塞会话的 warning 阈值

A.9.4. Oracle::Buffer Cache

Oracle::Buffer Cache 探测计算缓冲区缓存点中率,优化系统全局区域(SGA)数据库缓冲区缓存的大小。它收集以下的数据:
  • 数据库块 Gets - 经过单独的块 gets(而不是通过 consistent get 方法)存取的块数量。
  • Consistent Gets - 在 consistent 模式中获取数据的、并放入到块缓冲区中的存取数量。
  • 物理读取 - 从磁盘中读出的块的数量。
  • 缓冲区缓存点中率 - 从缓冲区中获得数据而不是从硬盘上获得数据的比率。如果这个比率较低,则应添加更多的 RAM。

表 A.51. Oracle::Buffer Cache 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口 1521
超时* 30
最小缓冲区缓存点中率的 warning 阈值
最小缓冲区缓存点中率的 critical 阈值

A.9.5. Oracle::Client Connectivity

Oracle::Client Connectivity 探测决定数据库是否正在运行并可以从被监控的系统中接收连接。这个探测会打开到系统的 rhnmd 连接并在被监控的系统中运行 sqlplus connect 命令。
「预期的数据库名」参数是 V$DATABASE.NAME 的预期值。这个值是区分大小写的。如果这个值没有找到,将会返回一个 CRITICAL 状态。
要求 - 为了运行这个探测,必须在被监控的系统中运行红帽网络监控守护进程(rhnmd)。另外,nocpulse 用户必须有访问您的日志文件的权限。

表 A.52. Oracle::Client Connectivity 设置

字段
Oracle 主机名或 IP 地址*
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
ORACLE_HOME* /opt/oracle
预期的数据库名*
超时* 30

A.9.6. Oracle::Data Dictionary Cache

Oracle::Data Dictionary Cache 探测计算数据字典缓存点中率(Data Dictionary Cache Hit Ratio)优化 init.ora 中的 SHARED_POOL_SIZE。它收集以下的数据:
  • 数据字典点中率 - 在数据字典缓存中找到需要的数据的比率。换句话说,数据库从字典中获得数据而不是从硬盘中获得数据的比率。如果这个比率较低,则要添加更多的 RAM。
  • Gets - 经过单独的块 gets(而不是通过 consistent get 方法)存取的块数。
  • 缺失的缓存 - 块缓冲区从 consistent 模式中获得数据的访问数量。

表 A.53. Oracle::Data Dictionary Cache 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30
最小数据字典缓存点中率的 warning 阈值
最小数据字典缓存点中率的 critical 阈值

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
超时* 30
最大磁盘排序率的 critical 阈值
最大磁盘排序率的 warning 阈值

A.9.8. Oracle::Idle Sessions

Oracle::Idle Sessions 探测监控 Oracle 事务并收集以下的数据:
  • 空闲会话 - 根据您所提供的 空闲时间 值,处于空闲状态的 Oracle 会话数。只有已经空闲了一定时间(空闲时间中的值,以秒为单位)的会话才会被统计为空闲会话。

表 A.55. Oracle::Idle Sessions 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
空闲时间(秒)* 20
超时* 30
最大空闲会话数的 critical 阈值
最大空闲会话数的 warning 阈值

A.9.9. Oracle::Index Extents

Oracle::Index Extents 探测监控 Oracle 事务并收集以下数据:
  • 分配的扩展 - 为任何索引分配的扩展数。
  • 可用的扩展 - 任何索引可用的扩展百分比。
在所需「索引名」项中会包括默认的 % 值匹配任意索引名称。

表 A.56. Oracle::Index Extents 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
索引拥有者* %
索引名* %
超时* 30
最大分配的扩展数的 critical 阈值
最大分配的扩展数的 warning 阈值
最大可用扩展的 critical 阈值
最大的可用扩展的 warning 阈值

A.9.10. Oracle::Library Cache

Oracle::Library Cache 探测计算库缓存未点中率来优化 init.ora 中的 SHARED_POOL_SIZE。它收集以下的数据:
  • 库缓存未点中率 - 库缓存未被点中的比率。当会话要执行已经被解析的说明,而这个说明已经不在共享池中时,会出现这种情况。
  • 执行 - 这个命名空间项需要 pin 的次数。
  • 缺失的缓存 - 现在必须检索磁盘对象的 pin 数目。这些 pin 与之前从创建句柄开始后形成的 pin 组成对象。

表 A.57. Oracle::Library Cache 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30
最大库缓存未点中率的 critical 阈值
最大库缓存未点中率的 warning 阈值

A.9.11. Oracle::Locks

Oracle::Locks 探测监控 Oracle 数据库事务并收集以下数据:
  • 活跃的锁定 - 由 v$locks 表决定的当前活跃的锁定数。当数据库事务中出现了大量的定锁时,数据库管理员应该注意这个情况。
锁定被用来在多个用户或进程对同一个数据进行更新时防止数据冲突的。这个探测可以会在具体数据库事务中有大量的锁定时向数据库管理员发出警告。

表 A.58. Oracle::Locks 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30
最大活跃锁定数的 critical 阈值
最大活跃锁定数的 warning 阈值

A.9.12. Oracle::Redo Log

Oracle::Redo Log 探测监控 Oracle 数据库事务并收集以下数据:
  • 重复日志空间请求率 - 在服务器启动后,每分钟重复日志空间请求的平均数量。
  • 重复重新尝试分配缓冲区率 - 从服务器启动后每分钟重复重新分配缓冲区的平均次数。
返回的统计数据以及它们的阈值是代表了每分钟事件改变率的数值。应该监控这个改变率,因为如果这些值增长得非常快则意味着可能出现了问题。

表 A.59. Oracle::Redo Log 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
超时* 30
最大重复日志空间请求率的 critical 阈值
最大重复日志空间请求率的 warning 阈值
最大重复缓冲区重新尝试分配率的 critical 阈值
最大重复缓冲区重新尝试分配率的 warning 阈值

A.9.13. Oracle::Table Extents

Oracle::Table Extents 探测监控 Oracle 数据库事务并收集以下数据:
  • 分配的扩展(任意表) - 任意表扩展的总数。
  • 可用的扩展(任意表) - 任意表可用扩展的百分比。
在 Oracle 中,表扩展被用来对一个表进行扩展。当表满的时候,它会根据在表创建时配置的空间数量进行 扩展。扩展是基于每个表配置的,它有扩展的大小和最大的扩展数量。
例如,一个开始有 10MB 空间的表,将其配置为扩展的大小是 1MB、最大的扩展数是 10。这样,这样就可将其最大扩展为 20MB(10MB+10*1MB)。这个探测可以被配置为(1)警告被分配的扩展(例如,“当表的扩展超过 5 时进入 critical 状态”)或(2)这个表已经被扩展超过了它的最大扩展的具体百分比(例如:“当这个表已经使用了 80% 的它所允许的最大扩展数时进入 critical 状态”)。
必需的「表拥有者」「表名称」项包括默认值:%。这个值会与任何表所有者或表名称匹配。

表 A.60. Oracle::Table Extents 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
表拥有者* %
表名称* %
超时* 30
最大分配扩展的 critical 阈值
最大分配扩展的 warning 阈值
最大有效扩展的 critical 阈值
最大有效扩展的 warning 阈值

A.9.14. Oracle::Tablespace Usage

Oracle::Tablespace Usage 探测监控 Oracle 数据库事务并收集以下数据:
  • 使用的有效空间 - 在每个表空间中已经被使用的可用空间。
表空间是一组表可以共同生存、共享的空间池。这个探测会在可用空间小于阈值的时候向用户发警告信息。表空间是以字节为单位的,因此扩展并不直接影响它(虽然每个扩展会使用掉一定的共享池空间)。
所需的「表空间名」项是区分大小写的并包括默认的值 % 与任意表名相匹配。

表 A.61. Oracle::Tablespace Usage 设置

字段
Oracle SID*
Oracle 用户名*
Oracle 密码*
Oracle 端口* 1521
表空间名* %
超时* 30
最大使用的有效空间的 critical 阈值
最大使用的有效空间的 warning 阈值

A.9.15. Oracle::TNS Ping

Oracle::TNS Ping 决定是否 Oracle 侦听程序是否还工作并收集以下数据:
  • 远程服务延迟 - Oracle 服务器响应连接请求所用的时间(以秒为单位)。

表 A.62. Oracle::TNS Ping 设置

字段
TNS Listener 端口* 1521
超时* 15
最大远程服务延迟的 critical 阈值
最大远程服务延迟的 warning 阈值

A.10. Red Hat Satellite

本小节中介绍的探测适用于 Red Hat Satellite 本身监控其运行状况和性能。因为这些探测都是在本地运行的,所以不需要特定的应用程序或通信协议。

A.10.1. Red Hat Satellite::Disk Space

Red Hat Satellite::Disk Space 探测监控 Satellite 服务器中的剩余磁盘空间并收集以下数据:
  • 使用的文件系统 - 目前被使用的文件系统的百分比。
  • 使用的空间 - 当前的文件系统使用的文件大小。
  • 可用空间 - 当前的文件系统可用的文件大小。

表 A.63. Red Hat Satellite::Disk Space 设置

字段
设备路径名* /dev/hda1
最大使用的文件系统的 critical 阈值
最大使用的文件系统的 warning 阈值
最大使用空间的 critical 阈值
最大使用空间的 warning 阈值
最大可用空间的 critical 阈值
最大可用空间的 warning 阈值

A.10.2. Red Hat Satellite::Execution Time

Red Hat Satellite::Execution Time 探测监控 Satellite 中运行的探测的运行时间并收集以下数据:
  • 探测平均执行时间 - 完全执行一个探测所需的时间(以秒为单位)。

表 A.64. Red Hat Satellite::Execution Time 设置

字段
最大探测平均执行时间的 critical 阈值
最大探测平均执行时间的 warning 阈值

A.10.3. Red Hat Satellite::Interface Traffic

Red Hat Satellite::Interface Traffic 探测监控 Satellite 中网络接口的流量并收集以下数据:
  • 输入率 - 这个设备每秒接收的字节数。
  • 输出率 - 这个设备每秒发送的字节数。

表 A.65. Red Hat Satellite::Interface Traffic 设置

字段
接口* eth0
超时(seconds)* 30
最大输入率的 critical 阈值
最大输出率的 critical 阈值

A.10.4. Red Hat Satellite::Latency

Red Hat Satellite::Latency 探测监控 Satellite 中探测的延迟并收集以下数据:
  • 探测平均延迟 - 从探测可以运行到探测实际运行所需的时间。在通常情况下,这个时间会小于一秒。当 Satellite 有非常大的负载时,这个时间会延长。

表 A.66. Red Hat Satellite::Latency 设置

字段
最大平均探测延迟的 critical 阈值
最大平均探测延迟的 warning 阈值

A.10.5. Red Hat Satellite::Load

Red Hat Satellite::Latency 探测监控 Satellite 中 CPU 延迟并收集以下数据:
  • 负载 - 在 1 分钟、5 分钟和 15 分钟内的 CPU 平均负载。

表 A.67. Red Hat Satellite::Load 设置

字段
最大 1 分钟平均负载的 critical 阈值
最大 1 分钟平均负载的 warning 阈值
最大 5 分钟平均负载的 critical 阈值
最大 5 分钟平均负载的 warning 阈值
最大 15 分钟平均负载的 critical 阈值
最大 15 分钟平均负载的 warning 阈值

A.10.6. Red Hat Satellite::Probe Count

Red Hat Satellite::Latency 探测监控 Satellite 中探测数并收集以下数据:
  • 探测 - 在 Satellite 服务器中运行的独立探测数量。

表 A.68. Red Hat Satellite::Probe Count 设置

字段
最大探测数量的 critical 阈值
最大探测数量的 warning 阈值

A.10.7. Red Hat Satellite::Process Counts

Red Hat Satellite::Process Counts 探测监控 Satellite 服务器中进程的数量并收集以下数据:
  • 阻塞的进程 - 已经被转换到等待队列和等待状态的进程数量。
  • 子进程 - 由已经在这台机器中运行的另一个进程生成的进程数。
  • 不再使用的 - 已经被终止(可能被一个信号终止或调用了 exit())但它的父进程在执行 wait() 系统调用而还没有接收到它们已被终止的进程的数量。
  • 停止的 - 在它们的执行过程还没有完成前就已经被停止的进程的数量。
  • 休眠 - 处于 可中断 休眠状态的进程。它们可以在以后重新进入内存,并从它们离开的地方恢复执行。

表 A.69. Red Hat Satellite::Process Counts 设置

字段
最大阻塞进程数量的 critical 阈值
最大阻塞进程数量的 warning 阈值
最大子进程的 critical 阈值
最大子进程的 warning 阈值
最大非现存进程数量的 critical 阈值
最大非现存进程数量的 warning 阈值
最大终止进程的 critical 阈值
最大终止进程的 warning 阈值
最大睡眠进程的 critical 阈值
最大睡眠进程的 warning 阈值

A.10.8. Red Hat Satellite::Processes

Red Hat Satellite::Process 探测监控 Satellite 服务器中进程的数量并收集以下数据:
  • 进程 - 在这台机器中同时运行的进程数。

表 A.70. Red Hat Satellite::Processes 设置

字段
最大进程数量的 critical 阈值
最大进程数量的 warning 阈值

A.10.9. Red Hat Satellite::Process Health

Red Hat Satellite::Process Health 探测监控具体客户进程并收集以下数据:
  • CPU 用量 - 指定进程的 CPU 用量。
  • 子进程组 - 具体进程的子进程数。子进程会从它的父进程中继承大量的属性(如打开的文件)。
  • 线程 - 具体进程的运行线程的数量。线程是 CPU 的基本使用单元,它包括一个程序计数器、一个寄存器组和一个堆栈空间。线程又叫轻加权进程。
  • 使用的物理内存 - 被指定进程使用的物理内存数(以千字节为单位)。
  • 使用的虚拟内存 - 被指定进程使用的虚拟内存的数量(以千字节为单位);或是实际内存加上交换分区中的这个进程的大小。
通过使用命令名或进程 I.D.(PID)来指定进程。输入 PID 会覆盖输入的命令名。如果没有输入命令名或 PID,则会显示 Command not found 出错信息,同时将探测设定为 CRITICAL 状态。

表 A.71. Red Hat Satellite::Process Health 设置

字段
命令名
进程 ID(PID)文件
超时* 15
最大 CPU 使用的 critical 阈值
最大 CPU 使用的 warning 阈值
最大子进程组的 critical 阈值
最大子进程组的 warning 阈值
最大线程的 critical 阈值
最大线程的 warning 阈值
最大使用的物理内存的 critical 阈值
最大使用的物理内存的 warning 阈值
最大使用的虚拟内存的 critical 阈值
最大使用的虚拟内存的 warning 阈值

A.10.10. Red Hat Satellite::Process Running

Red Hat Satellite::Process Running 探测验证指定的进程正在运行。这个进程通过命令名或进程 I.D.(PID)指定。输入一个 PID 会覆盖输入的命令名。如果这个探测无法验证这个命令或 PID,将会得到一个 Critical 状态。

表 A.72. Red Hat Satellite::Process Running 设置

字段
命令名
进程 ID(PID)文件
最大进程运行数量的 critical 阈值
最小进程运行数量的 critical 阈值

A.10.11. Red Hat Satellite::Swap

Red Hat Satellite::Swap 探测监控 Satellite 服务器中可用交换空间百分比。如果这个值低于 critical 阈值,会得到一个 CRITICAL 状态;如果这个值低于 warning 阈值,会得到一个 WARNING 状态。

表 A.73. Red Hat Satellite::Swap 设置

字段
最小空闲交换分区百分比的 critical 阈值
最小空闲交换分区百分比的 warning 阈值

A.10.12. Red Hat Satellite::Users

Red Hat Satellite::Users 探测监控当前登录到 Satellite 服务器的用户数量。如果这个数量超过了 critical 阈值,会得到一个 CRITICAL 状态;如果这个数量超过了 warning 阈值,会得到一个 WARNING 的状态。

表 A.74. Red Hat Satellite::Users 设置

字段
最大用户数的 critical 阈值
最大用户数的 warning 阈值

附录 B. 修订历史

修订历史
修订 4-32.2.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
修订 4-32.2Fri Aug 30 2013Leah Liu
Translation for zh-CN completed
修订 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
I执行 BZ#1001385 中的反馈
修订 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 在本书中添加 satellite 间同步信息。
修订 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 中的 "buy" 链接
修订 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 手册
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
为翻译修改条目
BZ#683466 - Monitoring
修订 1-28Thu March 24 2011Lana Brindley
BZ#679621 - 为翻译修改条目
BZ#681788 - 通知
修订 1-27Mon Feb 14 2011Lana Brindley
BZ#658127 - API 访问
修订 1-26Wed Feb 9 2011Lana Brindley
BZ#658120 - 删除e RHEL 2.1 参考
BZ#658131 - API 访问
BZ#669166 - 虚拟化
修订 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.