Red Hat Training
A Red Hat training course is available for Red Hat Satellite
参考指南
Red Hat Satellite 高级功能的指南
版 1
John Ha
Lana Brindley
Daniel Macpherson
Athene Chan
David O'Brien
摘要
前言
1. 读者
第 1 章 Red Hat Satellite 信息
1.1. 命令行配置管理工具
注意
/var/lib/rhncfg/backups/
目录中生成之前的文件及其完整路径的备份。这个备份会和原来的文件有相同的文件名,只是增加了一个 .rhn-cfg-backup
扩展名。
1.1.1. Red Hat Network Actions Control
rhn-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 | 显示帮助信息后退出 |
rhn-actions-control --enable-all
是一个通用选项。
1.1.2. Red Hat Network Configuration Client
rhncfg-client
)是在单独的用户端系统中安装并运行的。在此您可以了解红帽网络如何在用户端中部署配置文件。
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
rhncfg-manager
)是用来维护红帽网络的配置文件和频道中央库,而不是那些用户端系统中的配置文件和频道。这个工具提供命令行工具,与在 RHN 网站进行的管理功能相同,并可以将部分或者全部相关维护任务编写成脚本。
/etc/sysconfig/rhn/rhncfg-manager.conf
或 ~/.rhncfgrc
中的 [rhncfg-manager] 项中指定该用户名。
~/.rhncfgrc
文件中进行配置更改。这个会话文件会临时保存在 ~/.rhncfg-manager-session
缓存中,这样就不需要在运行每个命令时都进行登录。
/etc/rhn/rhn.conf
文件中添加 server.session_lifetime
选项和新的值到更改这个时间,如:
server.session_lifetime = 120
rhncfg-manager mode --help
rhncfg-manager diff-revisions --help
rhncfg-manager add
的选项” 中看到 add 模式的选项列表。
1.1.3.1. 创建配置频道
rhncfg-manager create-channel channel-label
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 | 显示帮助信息后退出 |
注意
/etc/rhn/rhn.conf
文件中找到或者创建下面这一行:
web.maximum_config_file_size=128
/etc/rhn/rhn.conf
文件中查找或者创建以下行:
maximum_config_file_size=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. 获得文件的内容
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_override
或 server_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. 决定文件修订本号
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. 监控
1.2.1. 前提条件
- 监控授权 - 所有要被监控的系统都需要这个授权。只有红帽企业版 Linux 系统支持监控。
- 有监控授权的 RHN Satellite - 监控系统必须连接到使用红帽企业版 Linux 5 或者之后版本基本操作系统的 Satellite。
- 监控管理员 - 只有分配了这个角色的用户才可安装探测、创建通知方法或以任何形式更改监控设施。(请记住,Satellite 管理员会自动继承您机构内所有其他角色的功能,因此可以执行这些任务。)。您可以通过「用户详情」页为用户分配这个角色。
- Red Hat Network monitoring daemon - 被监控的系统需要这个守护进程和用于侦察的 SSH 密钥以便执行内部进程监控。但您可以使用系统现有 SSH 守护进程(
sshd
)运行这些探测。安装步骤以及需要这个安全连接的侦测的列表请参阅 第 1.2.2 节 “配置红帽网络监控守护进程(rhnmd
)”。完整可用探测列表请参考 附录 A, 探测。
启用监控
- 作为有 Satellite 管理员特权的用户登录并导航至「管理」 → 「Red Hat Satellite 配置」。点击「启用监控」,然后点击「更新」按钮保存。
- 重启服务使更改生效。进入「重启」标签重启该 Satellite。这将导致 Satellite 离线几分钟。
- 检查「 Red Hat Satellite 配置」中的「监控」标签是否可用以便确定启用了监控。
- 导航至「管理」 → 「 Red Hat Satellite 配置」 → 「监控」。点击「启用监控侦查」启用该侦查。点击 更新配置 保存。
注意
1.2.2. 配置红帽网络监控守护进程(rhnmd
)
rhnmd
可让 Satellite 与用户端系统建立一个安全的连接来访问内部的进程并搜索探测状态。
sshd
避免使用这个端口并安装这个守护进程。详情请参阅 第 1.2.2.2 节 “配置 SSH”。
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
1.2.2.1. 安装 Red Hat Network Monitoring Daemon
rhnmd
识别的探测监控系统。请注意,如果您想要使用 sshd
允许红帽网络监控基础设施与监控的系统之间的安全连接,则本小节中的步骤是可选的。具体步骤请参考 第 1.2.2.2 节 “配置 SSH”。
rhnmd
软件包。请使用以下方法安装:
- 在与该系统关联的红帽网络工具频道中订阅要监控的系统。您可以在「系统详情」 → 「频道」 → 「软件」子标签中单独订阅系统,或者也可以在「频道详情」 → 「目标系统」中一次订阅多个系统。
- 订阅后请打开 「频道详情」 → 「软件包」 标签并找到
rhnmd
软件包(在 'R' 下)。 - 点软件包的名称打开「软件包详情」页。进入「目标系统」标签页,选择需要的系统后点 安装软件包。
- 如 第 1.2.2.3 节 “安装 SSH 密钥” 所述中在所有需要被监控的客户端系统中安装 SSH 公共密钥。
- 使用以下命令在所有的客户端系统中启动 Red Hat Network monitoring daemon。
service rhnmd start
- 当添加探测需要这个守护进程时,接受「RHNMD 用户」和「RHNMD 端口」的默认值:分别为
nocpulse
和4545
。
1.2.2.2. 配置 SSH
sshd
提供系统和红帽网络间的加密连接。如果您已经运行了 sshd
,则更需要这种方法。要配置用于监控的守护进程,请:
- 确定在需要被监控的系统中安装了 SSH 软件包:
rpm -qi openssh-server
- 使用该守护进程识别关联的用户。这可以是系统中任意有效用户,只要可将所需的 SSH 密钥写入这个客户端
~/.ssh/authorized_keys
文件中即可。 - 如 第 1.2.2.3 节 “安装 SSH 密钥” 所述中在所有需要被监控的客户端系统中安装 SSH 公共密钥。
- 使用以下命令在所有的客户端系统中启动
sshd
。service sshd start
- 当添加探测需要这个守护进程时,在「RHNMD 用户」和「RHNMD 端口」字段输入从第 2 和第 3 步中得到的值。
1.2.2.3. 安装 SSH 密钥
rhnmd
还是 sshd
,您都必须在被监控的系统中安装红帽网络监控守护进程公共 SSH 密钥来完成安全连接。要安装它:
- 复制字符串(以 ssh-dss 开始并以 Satellite 的主机名结束)。
- 在左侧导航栏中选择「系统」,并点击您想要向其发送该 SSH 密钥的系统旁边的选择框。点击顶部的「管理」按钮完成。
- 在「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
- 设定您要执行此动作的日期和时间,然后点击「调度远程命令」。
ssh
连接。然后您就可以根据新配置的系统调度运行需要监控守护进程的探测。
1.2.3. 为探测配置 mysql
软件包
mysql
软件包。所有可用探测的列表请参考 附录 A, 探测。
up2date
、yum
或者红帽网络托管安装 mysql
软件包。
1.2.4. 启用通知
1.2.4.1. 生成通知的方法
- 以 Satellite 管理员或监控管理员的身份登录到 Satellite。
- 导航至「用户」并选择该用户名。在「用户详情」页面中点击「通知方法」 → 「创建新方法」。
- 为这个方法名输入一个描述性的标签,如
DBA day email
,以及正确的电子邮件地址。请记住,所有通知方法的标签会在生成探测的过程中以单一的列表出现,因此它们应该在您的机构内是唯一的。 - 如果您希望将简化信息发送到该电子邮件地址,您需要选择这个选择框。这个简单格式只包括探测状态、系统主机名、探测名、信息的时间和发送 ID。标准的详细格式会显示额外的信息标头、系统和探测的详情以及回应的步骤。
- 完成后点击 创建方法。此时应在「用户详情」 → 「通知方法」标签以及「监控」分类项下的「通知」页面中显示新的方法。点击名称就可以编辑或者删除它。
- 在添加侦测的时候,请选择「探测通知」选择框,并从下拉菜单中选择新创建的通知方法。在它们与探测的联系被删除前,通知方法不能被删除。
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
注意
1.2.4.3. 重定向通知
/etc/aliases
文件并添加以下行即可启用电子邮件回复重定向:
rogerthat01: "| /etc/smrsh/ack_queuer.pl"
- ACK METOO - 将通知发送到默认目的地址之外的 重定向目的地。
- ACK SUSPEND - 在指定的时间段内暂时停止通知。
- ACK AUTOACK - 不更改通知的目的地,但在匹配的通知发出后立即自动确认。
- ACK REDIR - 将通知发送到重定义的目的地而不是默认目的地。
ACK METOO host 1h boss@domain.com
注意
ack suspend host
的命令答复通知邮件来停止或重导向。不过,您不能够使用 ack suspend host
或其他重导向答复来停止 Satellite 探测通知。这些探测需要您在 Satellite 网页界面内更改通知。
1.2.4.4. 删除通知方法
- 以 Satellite 管理员或监控管理员的身份登录到 Satellite。
- 导航至「监控」 → 「通知」页面并点击要删除的方法名称。
- 在「用户」 → 「用户详情」 → 「通知方法」标签中点击「删除方法」。如果该方法未与任何探测关联,则会为您显示确认页面。点击 确认删除。此时会删除该方法。
注意
因为通知方法的名称和地址都是可编辑的,您可以考虑使用更新方法而不是删除方法。这样做的好处是,它可以在不编辑每个探测并创建一个新通知方法的情况下,为使用这个方法的探测重定向通知。 - 如果这个方法与一个或多个探测相关联,您将不会看到确认页。一个使用这个方法的侦测和连接到这个探测的系统列表会出现。点探测的名字可以进入「系统详情」 → 「探测」标签。
- 选择另一个通知并点击 更新探测。
- 返回到「监控」 → 「通知」页面并删除该通知方法。
1.2.5. 关于探测
1.2.5.1. 管理探测
- 作为该系统的 Satellite 管理员或者系统组管理员登录到 Satellite。
- 导航至「系统详情」 → 「探测」标签并点击「创建新探测」。
- 在「创建系统探测」页中,输入所有所需信息。首先,选择探测命令组。这可改变可用的探测列表和其他字段及要求。附录 A, 探测 中包括了命令行探测的完整列表。请记住,有些探测需要在用户端系统中安装红帽网络监控守护进程。
- 选择需要的探测命令和监控侦察,通常是
Red Hat Monitoring Satellite
,但也可能是 Red Hat Satellite Proxy 服务器。为这个探测输入唯一的描述。 - 选择「探测通知」选择框来在探测状态改变时接收通知。使用「探测检查间隔」下拉菜单来选择发送通知的间隔。选择
1 分钟
(和「探测通知」选择框)意味着当探测超过了它的 CRITICAL 或 WARNING 界限的时候,您每分钟都会接收到通知。请参阅 第 1.2.4 节 “启用通知” 了解如何创建通知方法和确认它们的信息。 - 当它们出现的时候,使用「RHNMD 用户」和「RHNMD 端口」字段强制让探测使用
sshd
通讯,而不使用红帽网络监控守护进程。详情请参阅 第 1.2.2.2 节 “配置 SSH”。否则,请分别接受默认值:nocpulse
和4545
。 - 如果出现「超时」字段,检查默认的设置并调整它来满足您的要求。大多数超时(不是全部)都会形成一个 UNKNOWN 状态。如果这个探测的统计数据是基于时间的,请确保超时的值小于设定的界限值。否则的话,这些统计数据就没有任何用处,因为在达到界限值前,探测就超时了。
- 使用其他的项建立这个探测的警告阈。CRITICAL 和 WARNING 的值决定了在哪一点探测的状态发生了改变。详情请参阅 第 1.2.5.2 节 “设定阈(threshold)”。
- 完成后,点「创建探测」。请记住,您必须在「侦察配置 Push」页中提交您的监控配置更改后方可生效。
1.2.5.2. 设定阈(threshold)
1.2.5.3. 监控 Satellite 服务器
注意
1.2.6. 监控
1.2.6.1. 探测状态
重要
-- 严重(Critical) - 探测已经超过 CRITICAL 界限。
-- 警告(Warning) - 探测已经超过 WARNING 界限。
-- 未知(Unknown) - 探测无法准确报告度量或者状态数据。
-- 等待处理(Pending) - 已经计划探测但还没有运行或者无法运行。
-- 确定(OK) - 探测成功运行。
- 探测状态
- 所有给出状态(OK, WARN, UNKNOWN, CRITICAL, PENDING)的探测
- 探测事件历史记录
1.2.6.1.1. 探测状态 ⇒ Critical
重要
1.2.6.1.3. 探测状态 ⇒ Unknow
重要
1.2.6.1.4. 探测状态 ⇒ Pending
重要
1.2.6.1.7. 当前状态
重要
1.2.6.2. 通知
重要
1.2.6.2.1. 通知 ⇒ 过滤器
1.2.6.2.1.1. 通知 ⇒ 通知过滤器 ⇒ 活跃的过滤器
- 描述:为这个过滤输入值来和其他的过滤区分。
- 类型:决定这个过滤将执行什么行动:重定向、确认收到、暂时停止或补充收到的通知。
- 发送到:第二步中的选项「重定向通知」和「补充通知」 需要一个发送的电子邮件地址。其他的选项不需要电子邮件地址。
- 范围:决定将该过滤器用于哪个监控组件。
- 机构/侦察/探测:这个选项允许您选择这个过滤对哪些机构、侦察或探测适用。要从这个列表中选择多个项,在点项的名称的时候按住 Ctrl 键。要选择连续的一组项时,按住 Shift 键后点第一个项和最后一个项。
- 属于这个状态的探测:选择这个过滤适用于哪些探测状态。例如,您可以选择只为严重状态的探测生成补充通知。对于那些您希望该过滤器忽略的状态,请取消选择其左侧的选择框。
- 通知发送到:在没有过滤器的情况下,通知将要发送到的方法。例如,如果在通常情况下接收通知的用户正在休假,您可以将这个用户接收的通知重定向到其他的地址,而其他探测通知将不会改变。
- 匹配输出:在这里输入正则表达式来选择准确的输出。如果通知的 "Message:" 部分与正则表达式不匹配,则将不会使用这个过滤器。
- 重复:选择过滤器是持续运行还是重复运行。重复运行的过滤器在比过滤器的时间段较短的时间范围内运行多次。例如,重复过滤器可以在过滤器启动和结束的时间段内每小时运行10分钟。非重复的过滤器在过滤器启动和结束间持续运行。
- 开始:输入这个过滤器开始执行的日期和时间。
- 结束:输入这个过滤器结束的日期和时间。
- 重复周期:循环过滤器的激活时间。该字段仅应用于循环过滤器,在以上指定的「开始」时间开始。对于可以重复使用的过滤器,在这个重复时间段外产生的通知将不会被过滤。
- 重复频率:过滤器被重复使用的频率。
1.2.6.2.1.2. 通知 ⇒ 通知过滤器 ⇒ 过期的过滤器
1.2.6.3. 探测套件
- 在监控 ⇒ 探测套件页中选择「创建新探测套件」链接。为这个探测套件输入一个容易区别的名称。您可以选择添加这个套件的简单描述。点 创建探测套件 按钮继续。
- 您必须现在就添加组成这个套件的探测。点右上方的「创建新探测」链接。
- 配置这个探测并点右下方的 创建探测 按钮。重复这个过程直到添加完所有探测。
注意
您必须在 Red Hat Satellite 中正确配置 Sendmail,并在每个应用了该探测套件的用户端系统中安装并运行rhnmd
守护进程。详情请参阅《 Red Hat Satellite 安装指南》。 - 在“系统”标签中添加使用探测套件的系统。点这个屏幕右上方的「将系统添加到探测套件」链接。
- 下一页显示了有监控授权的所有系统的列表。点击您希望应用探测套件的系统左侧选择框并点 将系统添加到探测套件 按钮来完成探测套件的创建。
- 在监控 ⇒ 探测套件页中点您需要修改的探测套件的名称。
- 选择「探测」子标签页。
- 选择您想删除的探测旁的选择框。
- 点 从探测套件中删除探测 按钮。
- 在「监控」⇒ 「探测套件」页中点您需要修改的探测套件的名称。
- 选择「系统」子标签页。
- 选择您想从探测套件中删除的系统旁的选择框。
- 点 从探测套件中分离系统 按钮。
注意
- 在监控 ⇒ 探测套件页中点您需要修改的探测套件的名称。
- 选择「系统」子标签页。
- 选择您想从探测套件中删除的系统旁的选择框。
- 点 从探测套件中删除系统 按钮。
1.2.6.4. 侦察配置 Push
重要
1.2.6.5. 常规监测配置
重要
1.3. 多个 Satellite
注意
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-sync
操作将使用这个信息为与具体主机构映射的辅机构分配自定义频道拥有者。它还可以映射显露的主机构与映射的辅机构之间的信托关系,创建辅机构间的平等关系。
- Web 界面中:
- 以 Satellite 管理员身份登录。
- 点击「管理」 → 「ISS 配置」 → 「主设置」。
- 在屏幕右首角落中点击 添加新辅机构 链接。
- 填写以下信息:
- 辅完全限定域名(FQDN)
- 允许辅服务器同步?- 选择这个字段将允许辅 Satellite 访问这个主 Satellite。否则访问这个辅 Satellite 将会被拒绝。
- 将所有机构与辅机构公布?- 选中这个字段会将所有机构与辅 Satellite 同步。
注意
在主服务器设置页面中选择「将所有机构与辅服务器同步?」选项将覆盖所有在以下本地机构表格中所选机构。 - 点击 创建 按钮。
- (可选)点击所有要导出到辅 Satellite 的本地机构。
- 点击 允许机构 按钮。
注意
在 Satellite 5.5 中,主 Satellite 使用/etc/rhn/rhn.conf
文件中的iss_slaves
参数识别哪个辅 Satellite 可以与主 Satellite 联络。Satellite 5.6 则使用主 Satellite 设置页面确定这个信息。
- 在命令行中:
- 在
/etc/rhn/rhn.conf
文件中启用 satellite 间同步(ISS)功能:disable_iss=0
- 保存配置文件并重启
httpd
服务:service httpd restart
过程 1.2. 配置辅服务器
- 要安全将内容传送到辅服务器中,您需要来自主 RHN Satellite 服务器的
ORG-SSL
证书。您可通过 HTTP 在任意 Satellite 的/pub/
目录中下载这个证书。文件名为RHN-ORG-TRUSTED-SSL-CERT
,您可为其重命名并保存在辅 Satellite 的任意目录中,比如/usr/share/rhn/
目录。 - 以 Satellite 管理员身份登录辅 Satellite。
- 点击「管理」 → 「ISS 配置」 → 「辅设置」。
- 在屏幕右首角落中点击 添加新主机构 链接。
- 填写以下信息:
- 主完全限定域名(FQDN)
- 默认主服务器?
- 这个主 Satellite 的 CA 证书的文件名 - 使用此过程起始步骤中下载的 CA 证书的全路径。
- 点击 添加新主服务器 按钮。
过程 1.3. 执行 Satellite 间同步
- 然后运行
satellite-sync
命令开始同步:satellite-sync -c your-channel
注意
satellite-sync
命令的所有命令行选项都会覆盖/etc/rhn/rhn.conf
文件的自定义设置。
过程 1.4. 将主 Satellite 中导出的机构与辅 Satellite 的机构映射
完成前面的步骤后,将在辅 Satellite 的「管理」 → 「ISS 配置」 → 「辅设置」项下显示这个主 Satellite。如果没有出现,则请重新检查上述步骤。
- 以 Satellite 管理员身份登录。
- 点击「管理」 → 「ISS 配置」 → 「辅设置」。
- 点击其名称选择主 Satellite。
- 使用下拉框将导出的主机构名称与辅 Satellite 中的本地机构映射。
- 点击 更新映射。
- 在命令行中,为每个自定义频道使用
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 服务器
- 在
/etc/rhn/rhn.conf
文件中启用 satellite 间同步(ISS)功能:disable_iss=0
- 保存配置文件并重启
httpd
服务:service httpd restart
过程 1.6. 配置辅服务器
- 要安全将内容传送到辅服务器中,您需要来自主 RHN Satellite 服务器的
ORG-SSL
证书。您可通过 HTTP 在任意 Satellite 的/pub/
目录中下载这个证书。文件名为RHN-ORG-TRUSTED-SSL-CERT
,您可为其重命名并保存在辅 Satellite 的任意目录中,比如/usr/share/rhn/
目录。 - 以 Satellite 管理员身份登录辅 Satellite。
- 点击「管理」 → 「ISS 配置」 → 「辅设置」。
- 在屏幕右首角落中点击 添加新主机构 链接。
- 填写以下信息:
- 主完全限定域名(FQDN)
- 默认主服务器?
- 这个主 Satellite 的 CA 证书的文件名 - 使用此过程起始步骤中下载的 CA 证书的全路径。
- 点击 添加新主服务器 按钮。
过程 1.7. 使用 spacewalk-sync-setup 将主 Satellite 机构与辅 Satellite 机构映射
- 登录系统。它是主 Satellite、辅 Satellite 或者不同的机构都无关紧要,只要该系统可访问主 Satellite 和辅 Satellie 的公共 XMLRPC API 即可。
- 在命令行界面中执行
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
- 在命令行中,为每个自定义频道使用
satellite-sync
命令以便获得正确的信托结构和频道权限:satellite-sync -c your-channel
1.3.2. 机构间同步
- 如果源内容属于
NULL
机构(即红帽内容),它将默认使用NULL
机构,即使指定了目的机构也会如此。这是要保证指定的内容总是在特许的NULL
机构中。 - 如果在命令行中指定一个机构,它就会从那个机构中导入内容。
- 如果没有指定机构,则默认使用机构 1。
orgid
)同步的示例情况:
例 1.1. 从主 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 间同步使用案例
例 1.4. 临时 Satellite


- 运行
satellite-sync
命令与「rhn_parent」(通常为红帽网络托管)中的数据同步。satellite-sync -c your-channel
- 运行以下命令与临时服务器中的数据同步:
satellite-sync --iss-parent=staging-satellite.example.com -c custom-channel
例 1.5. 同步的辅服务器

例 1.6. 辅自定义内容

例 1.7. 双向同步
satellite-sync
命令的 Satellite 服务器将从另一台 Satellite 服务器中提取内容,并根据所运行 satellite-sync
命令选项同步数据。如果未添加任何选项,则同步将尝试更新之前同步的所有内容。

第 2 章 Red Hat Satellite 以及具体 Solaris 信息
2.1. UNIX 支持指南
2.1.1. 简介
2.1.1.1. 支持的 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. 前提条件
- Red Hat Satellite 5.0 或之后的版本
- 有管理授权的 Satellite 证书
- 每个 UNIX 客户端的管理授权
- 用于 UNIX 的红帽网络软件包,其中包括 python,pyOpenSSL 和红帽网络用户端软件包。
- 提供支持库的 Sunfreeware 软件包。
注意
一些软件包可以通过 Red Hat Satellite 获得。完整列表请参阅 第 2.1.3.1 节 “下载并安装附加软件包”。
2.1.1.3. 所包含的功能
- Red Hat Network Service Daemon(
rhnsd
),它根据可配置的间隔触发rhn_check
命令 - Red Hat Network Configuration Client(
rhncfg-client
),它执行所有 Satellite 中调度的配置动作 - Red Hat Network Configuration Manager(
rhncfg-manager
),它允许使用命令行来管理红帽网络配置频道 rhn_check
程序。它使用 Satellite 服务器进行检查,并执行来自服务器的调度动作。- 所有管理级别的功能,如系统归类、软件包侧写比较、以及使用 System Set Manager 同时管理多个系统
- 被称为远程命令的指配功能。只要客户端允许,它就可让用户使用 Satellite 网站在任意被管理的客户端中调度 root 级别的命令。
2.1.1.4. 功能差别
- 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. 不包括在内的功能
- 所有指配级别的功能,如 kickstart 和软件包恢复。唯一的例外是配置文件管理功能。
- 所有与勘误相关的选项,这是因为在 UNIX 中无法理解勘误更新的概念。
- 软件包的源文件
RHAT*.pkg
文件。
2.1.2. Satellite 服务器准备/配置
- 在 Satellite 安装过程中:在安装过程中选择“启用 Solaris 支持”在 Satellite 中启用 UNIX 支持。如图所示:
图 2.1. 在 Satellite 安装过程中启用 UNIX 支持
- 安装 Satellite 后:安装 Satellite 后通过配置启用 UNIX 支持。在顶部菜单栏中选择「管理」,然后选择左面导航栏的「Satellite 配置」。在随后的页面中,选择「启用 Solaris 支持」。如图所示:
图 2.2. 安装 Satellite 后启用 UNIX 支持
点 更新配置 按钮确认更改。 - 最后,创建您的用户端系统需要订阅的基本频道。红帽网络不提供 UNIX 的内容,您无法使用
satellite-sync
创建频道。要创建 Solaris 频道,请作为 Satellite 管理员或证书授权登录到 Satellite 网站界面。进入「频道」标签页,从左面导航拦中选择「管理软件频道」。在结果页的右上角点「创建新频道」。为这个新频道提供频道名和标签。根据用户端系统构架选择「Sparc Solaris」或「i386 Solaris」作为构架。
2.1.3. 准备 Unix 客户端系统
- 下载并安装
gzip
以及所需第三方程序库。 - 从 Satellite 将红帽网络应用程序 tarball 下载到客户端并安装该内容。
- 下一步,部署安全连接所需 SSL 证书。
- 将客户端应用程序配置为连接到 Red Hat Satellite。
2.1.3.1. 下载并安装附加软件包
up2date
),它可提供您的客户端系统与红帽网络之间的链接。与它的 Linux 副本相比,Red Hat Update Agent UNIX 专用版本在功能上有一些限制,但仍然可以启用系统注册和工具软件包安装及补丁升级。有关此工具选项的详细描述请参考 第 2.1.4 节 “Unix 客户端注册和更新”。
注意
bash
可能会很有用。如果 BASH shell 可用,它会使系统的行为尽可能和 Linux 相似。
2.1.3.1.1. 安装第三方软件包
gzip
libgcc
openssl
zlib
gzip
程序由 SUNW gzip 软件包提供,并可在 http://www.sunfreeware.com 下载。
SUNWgccruntime
SUNWopenssl*
SUNWzlib
SMClibgcc
或者SMCgcc
SMCossl
SMCzlib
pkginfo
命令验证是否在该客户端中安装了某个软件包。例如:要查看名称中含有 "zlib" 的软件包,请运行如下命令:
# pkginfo | grep zlib
注意
libgcc<version>-sol<solaris-version>-sparc-local.gz
在安装后就变成 SMClibgcc。
2.1.3.1.2. 配置程序库搜索路径
# crle -c /var/ld/ld.config
-l
选项是重新设定值,而不是添加值,因此如果已经为您的系统设定了一个值,您可将其附加到 -l 参数中。
# crle -c /var/ld/ld.config -l /other/existing/path:/lib:/usr/lib:/usr/local/lib
# crle -c /var/ld/ld.config -l /other/existing/path:/lib:/usr/lib:/usr/local/lib:/usr/sfw/lib
2.1.3.1.3. 下载帽网络客户端软件包
/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
ftp
命令将该文件从 Satellite 传送到客户端中。
gzip
解压缩 tarball。您应该得到如下的软件包:
RHATpossl
RHATrhnrcfg
RHATrhnrcfga
RHATrhnrcfgc
RHATrhnrcfgm
RHATrhnc
RHATrhnl
RHATrpush
RHATsmart
SMClibgcc
和 SMCosslg
。
2.1.3.1.4. 安装红帽网络安装软件包
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:/opt/redhat/rhn/solaris/bin # PATH=$PATH:/opt/redhat/rhn/solaris/usr/bin # PATH=$PATH:/opt/redhat/rhn/solaris/usr/sbin # export PATH
# MANPATH=$MANPATH:/opt/redhat/rhn/solaris/man # export MANPATH
# man -M /opt/redhat/rhn/solaris/man <man page>
libgcc
、openssl
和 zlib
的操作一样,将红帽软件库添加到您的 PATH 中。
crle -c /var/ld/ld.config -l <current library paths>:/opt/redhat/rhn/solaris/lib
2.1.3.2. 正在部署客户端 SSL 证书
/pub/
目录中。
- 从 Red Hat Satellite 的
/var/www/html/pub/
目录将 SSL 证书下载到客户端系统中。该证书会以类似RHN-ORG-TRUSTED-SSL-CERT
的格式命名。通过在如下链接中的网页可访问这个证书:https://your-satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT
。 - 为您的 UNIX 变体将客户端 SSL 证书移动到红帽网络专用的目录中。对 Solaris 来说,可通过类似下面的命令来实现:
mv /path/to/RHN-ORG-TRUSTED-SSL-CERT /opt/redhat/rhn/solaris/usr/share/rhn/
2.1.3.3. 配置客户端
- 以 root 用户身份进入系统的红帽网络配置目录。对于 Solaris 来说,完整路径为
/opt/redhat/rhn/solaris/etc/sysconfig/rhn/
。 - 在文本编辑器中打开
up2date
配置文件。 - 找到
serverURL
条目,并将其值设为您的 Red Hat Satellite 完全限定域名(FQDN):serverURL[comment]=Remote server URL serverURL=https://your-satellite.example.com/XMLRPC
- 保证即使在 SSL 关闭的情况下也将应用程序指向 Red Hat Satellite,这可通过将
noSSLServerURL
值设为 Satellite 实现:noSSLServerURL[comment]=Remote server URL without SSL noSSLServerURL=http://your-satellite.example.com/XMLRPC
- 如果
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
2.1.4. Unix 客户端注册和更新
2.1.4.1. 注册 Unix 系统
rhnreg_ks
完成这项任务。使用激活码来注册是可选的。这些激活码允许您预判断红帽网络内的设置,例如基本频道和系统组,并在注册时自动应用到系统中。
- 登录到 Satellite 的网站界面,点击顶部导航栏中的「系统」标签,然后点击左侧导航栏中的「激活码」。最后点击右上角的「创建新激活码」链接。
- 在接下来的页中选择您在 第 2.1.2 节 “Satellite 服务器准备/配置” 中创建的基本频道。
- 创建激活码后,在「激活码」列表中点击其名称加强其红帽网络设置,如关联软件、配置频道、以及系统组等。
- 在要注册的客户端系统中打开一个终端,切换成 root 用户。
- 使用带有
--activationkey
选项的rhnreg_ks
命令在 Satellite 中注册该客户端。激活码的内容可以从网站的「激活码」列表中直接复制。其命令类似:rhnreg_ks --activationkey=b25fef0966659314ef9156786bd9f3af
- 回到网站,点击激活码的名称,确认新系统出现在「激活的系统」标签页中。
2.1.4.2. 获取更新
2.1.4.2.1. 将软件包上传到 Satellite
solaris2mpm
可以将 Solaris 软件包、补丁程序、补丁集合的格式转换为 Satellite 可以支持的格式。
2.1.4.2.1.1. solaris2mpm
solaris2mpm
是用于 Solaris 的红帽网络 Push 的一部分。要 push 到 Satellite 服务器中的 Solaris 频道的内容首先必须是 .mpm 格式。
注意
/tmp/
用于这个目的。但是,您可以使用 --tempdir
选项指定其他目录。
# 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
name-version-release.arch.mpm
表 2.2. solaris2mpm 选项
选项 | 描述 |
---|---|
--version
|
显示程序的版本号并推出
|
-h, --help
|
显示这个选项并推出
|
-?, --usage
|
输出程序使用信息并推出
|
--tempdir=<tempdir>
|
指定临时工作目录
|
--select-arch=<arch>
|
为多体系机构软件包选择体系机构(i386 或 SPARC)。
|
2.1.4.2.1.2. 带有 .mpm 文件的 rhnpush
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
注意
2.1.4.2.2. 通过网站更新
2.1.4.2.3. rhnsd
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. 使用命令行更新
up2date
命令完成。最重要的区别是缺乏用于源码文件的所有选项。要获得 UNIX 系统可用的全部选项,请参阅 表 2.4 “更新代理命令行参数”。
表 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. 远程命令
2.1.5.1. 启用命令
script
,文件名称必须是 run
,而且它们都必须位于为您的 UNIX 变体指定的 /etc/sysconfig/rhn/allowed-actions/
目录中。
mkdir -p /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script
touch /opt/redhat/rhn/solaris/etc/sysconfig/rhn/allowed-actions/script/run
2.1.5.2. 使用命令
第 3 章 Red Hat Satellite Proxy 信息
3.1. 使用 Red Hat Network Package Manager 并通过红帽网络 Proxy 提供本地软件包
spacewalk-proxy-package-manager
及其相依软件包。
*.rpm
)被保存在红帽网络 Proxy 服务器中。
/etc/rhn/rhn.conf
配置文件中定义。
rhn_package_manager
所有命令行选项的小结:
表 3.1. rhn_package_manager
选项
选项 | 描述 |
---|---|
-v , --verbose | 输出详细信息。 |
-d DIR, --dir= DIR | 从目录 DIR 中获得软件包。 |
-c CHANNEL, --channel= CHANNEL | 管理这个频道 - 可以指定多个频道。 |
-n NUMBER, --count= NUMBER | 每次调用只处理这里指定的数量的头信息 - 默认值是 32。 |
-l , --list | 列出指定频道中的每个软件包的软件包名、版本号、发行版本和体系结构。 |
-s , --sync | 检查本地目录是否与服务器同步。 |
-p , --printconf | 打印当前的配置并退出。 |
-X PATTERN, --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 -c CHANNEL--copyonly /PATH/TO/MISSING/FILE。 |
-h ,--help | 显示有选项列表的帮助屏幕。 |
注意
rhn_package_manager
的 man page 中找到:man rhn_package_manager
。
- 创建一个专用频道
- 将本地软件包上传到该频道。
3.1.1. 创建专用频道
- 登录到红帽网络网站界面 https://rhn.redhat.com,或者登录网络中的 Red Hat Satellite 服务器。
- 点击上部浏览条中的「频道」标签。如果「管理频道」选项没有出现在左侧导航栏中,请确认这个用户有编辑频道的授权设定。您可以通过上面导航条中的「用户」类别来设置需要的权限。
- 点击左面浏览条中的「管理软件频道」,然后点击本页右上角的「创建新频道」按钮。
- 选择一个上级频道和基本频道结构,然后输入新专用频道的频道名、频道标签、总览和描述。频道标签必须最少由 6 个字符组成,以一个字母开始并只能包括小写字母、数字、破折号(-))点(.)。输入这个频道的 GPG 密钥的 URL。虽然这个项不是必需的,但为了增加安全性,我们推荐使用它。有关生成 GPG 密钥的方法,请参阅《红帽网络频道管理指南》。
- 点击「创建频道」。
3.1.2. 上传软件包
注意
rhn_package_manager -c "label_of_private_channel" pkg-list
/var/spool/rhn-proxy/rhn
。
pkg-list
是要上传的软件包列表。另外,您还可以使用 -d
选项来指定要加入到这个频道的软件包所在的本地目录。请确定指定的目录只包括要上传的软件包,而不包括其它文件。Red Hat Network Package Manager 也可以从标准输入中(使用 --stdin
)读取软件包列表。
rhn_package_manager -c "label_of_private_channel" --source pkg-list
-c
或 --channel
),会将上传的软件包标头链接到所有列出的频道。
注意
rhn_package_manager -s -c "label_of_private_channel"
-s
选项会列出所有缺失的软件包(即上传到红帽网络服务器而没有出现在本地目录中的软件包)。您必须是机构管理员方可使用这个命令。该脚本将提示您输入红帽网络用户名和密码。
第 4 章 自定义软件包管理
4.1. 为红帽网络构建软件包
4.1.1. RPM 的优点
- 容易升级
- 使用 RPM,您可以单独升级系统的组件而不用完全重新安装。当红帽发布红帽企业版 Linux 的新版本时,用户不需要重新安装就可以进行升级。RPM 允许智能、全自动、本地升级您的系统。在升级的过程中可保留软件包中的配置文件,因此用户不会丢失他们特定的配置。安装和升级软件包的时候使用同一个 RPM 文件,因此更新软件包时不需要特殊的升级文件。
- 软件包查询
- RPM 提供的查询选项允许您在整个 RPM 数据库中查询所有软件包或只查询特定的文件。您还可以轻松地找到文件所属软件包以及该软件包的来源。软件包中的文件位于一个压缩归档中,这个文件有一个包括这个软件包信息及其内容的自定义二进制标头。RPM 可以快速、方便地查询软件包的标头信息。
- 系统验证
- RPM 的另一个功能是可以进行软件包验证。如果您怀疑与一个软件包关联的文件已经被删除,您可以通过检查这个软件包来确定这个文件的状态。这个验证的过程会提示您所有异常情况。如果存在错误,您可以轻松地重新安装这个文件。在重新安装的过程中将保留配置文件。
- Pristine 源
- RPM 的一个重要的功能就是允许使用 pristine 软件源码,它是由这个软件的原始开发者提供的。使用 RPM 可将 pristine 源码及其使用的补丁程序以及完整构建说明打包。这个功能是非常重要的。例如,当发行一个新版本时,您不需要从头开始来编译它。您可以查看补丁来决定您可能需要做什么。使用此项技术,您可以方便地查看正确构建软件所需的所有编译的默认设置和修改。保留源 pristine 看起来可能只对开发人员有用,但实际上它也可以为最终用户提供高质量的软件。
4.1.2. 红帽网络 RPM 指南
- 了解 RPM。要正确地构建软件包,了解 RPM 的基本功能是非常重要的。有关 RPM 的信息请参考以下资源:
- 当为一个子频道构建 RPM 时, 请在新安装的、与子频道的基本频道使用同一版本的红帽企业版 Linux 中构建软件包。请确定首先从红帽网络中应用所有更新。
- 在安装 RPM 软件包时一定不能使用
--force
或--nodeps
选项。如果您无法在您构建的系统中“干净”地安装 RPM,红帽网络将不能在系统中自动安装它。 - RPM 软件包的文件名必须是 NVR[name(名称)、version(版本)、release(发行)]格式且必须包括这个软件包的体系结构。正确的格式应该是
name-version-release.arch.rpm
。例如,一个有效的 RPM 软件包文件名是pkgname-0.84-1.i386.rpm
,它的名称是 pkgname,版本是 0.84,发行本是 1,构架是 i386。 - RPM 软件包应该由其维护者签注。虽然未签注的软件包也可以通过红帽网络发布,但必须将 Red Hat Update Agent 配置为强制接受它们。我们强烈推荐使用经过签注的软件包,相关的内容请参考 第 4.2 节 “红帽网络软件包的电子签名”。
- 如果软件包被修改(包括修改了签名或重新被编译),就必须相应增大版本或发行号。换句话说,通过红帽网络发布的每个 RPM 的 NVRA(包括体系结构)必须与其唯一构建对应以避免混淆。
- RPM 软件包不能自己作废。
- 如果一个软件包被分成多个单独的软件包,需要格外小心其相依性。除非由于编译的问题,否则请不要分割现有软件包。
- 软件包不能接受交互式的预安装(pre-install)、安装后(post-install)、预卸载(pre-uninstall)和卸载后(post-uninstall)脚本。如果软件包需要用户的直接参与,这个软件包将无法在红帽网络中工作。
- 在预安装、安装后、预卸载和卸载后脚本中不要写入任何 stderr 或 stdout 内容。如果不必要,请将信息重新输出到
/dev/null
,否则请将它们写入一个文件中。 - 创建 spec 文件时,使用
/usr/share/doc/rpm-<version>/GROUPS
中的组定义。如果没有完全匹配的项,选择最接近的一个。 - 使用 RPM 的相依性性能确定此程序在安装后可正常运行。
重要
4.2. 红帽网络软件包的电子签名
4.2.1. 生成 GnuPG 密钥对
- 请作为 root 用户在 shell 提示符后输入以下命令:
gpg --gen-key
非 root 用户无法生成 GPG 密钥对。与非 root 用户不同哦功能,root 用户可以锁定内存页,就是说永远无法在磁盘中写入信息。 - 在执行了生成一个密钥对的命令后,您将会看到与以下类似的、包括了密钥选项的引导屏幕:
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?
- 选择选项:(2) DSA 和 ElGamal。这个选项允许您创建一个数字签名并使用两种加密技术进行加密/解密。输入
2
后按 Enter 键。 - 选择密钥的长度,即密钥应有的长度。密钥越长,它被破解的可能性就越小。推荐您创建最短为 2048 位的密钥。
- 下一个选项将让您指定密钥的有效期。如果您指定了密钥过期的日期,任何使用您的公钥的用户都需要被告知过期的时间并在过期后获得新密钥。我们推荐您使用没有过期时间的设置。如果您没有选择一个过期的日期,会提示您确认您的选择:
Key does not expire at all Is this correct (y/n)?
- 按 y 来确认您的决定。
- 您的下一个任务是提供一个包括您的名称、电子邮件地址和注释(可选的)的用户 ID,其中的每项都需要独立的内容。完成后,您会看到您输入内容的总结。
- 确定您的选择后,您需要输入一个密码短语(passphrase)。
注意
和您的帐户密码一样,好的密码短语对 GnuPG 的安全性非常重要。在您的密码短语中使用混和的大小写字母、数字和标点符号将会增加其安全性。 - 在输入并验证了您的密码短语后,就生成了您的密钥。此时会出现一个类似如下的信息:
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 用户所生成密钥的默认位置。
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_name
密钥 ID 值。这个值告诉 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 密钥”。
4.3. 导入自定义 GPG 密钥
cp /some/path/YOUR-RPM-GPG-KEY /var/www/html/pub/
wget -O- -q http://your_proxy_or_sat.your_domain.com/pub/YOUR-RPM-GPG-KEY
-O-
选项会将结果发送到标准输出中,而使用 -q
选项的 Wget 不会输出结果。请记住,使用您的密钥文件名替换 YOUR-RPM-GPG-KEY。
rpm --import /path/to/YOUR-RPM-GPG-KEY
注意
第 5 章 故障排除
tail -f
命令查看所有的日志文件,然后运行 yum list
。这样,您就可以检查所有新的日志条目以获得线索。
- 5.1. 磁盘空间
- 5.2. 安装和更新
- 5.3. 服务
- 5.4. 连接性
- 5.5. 日志和报告
- 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 界面
- 5.8. Anaconda
- 5.9. 回溯(Tracback)
- 5.10. 注册
- 5.11. Kickstart 和片断
- 5.12. 监控
- 5.13. 多机构 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. 磁盘空间
# df -h
# /usr/sbin/rhn-satellite status
# service httpd status
5.2. 安装和更新
audit.log
可用,以便红帽支持人员可为您提供支持。您可在 /var/log/audit/audit.log
中找到该文件,并将其附加到您的支持 ticket 中以便工程师为您提供帮助。
/var/satellite
改为 NFS 挂载,现在 SELinux 无法正常工作。我该做什么?
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
# /usr/sbin/setsebool -P cobbler_use_nfs on
- 红帽开发者套件(Red Hat Developer Suite)
- 红帽应用程序服务器(Red Hat Application Server)
- 红帽附加组件(Red Hat Extras)
- JBoss 产品频道
5.3. 服务
/etc/hosts
文件中的条目可能有误。
# service taskomatic status
# db-control status
# 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
注意
/var/rhn-sat-import/
指定为临时目录。
SSL_CONNECT
错误,它是由于在没有正确设定时间的机器中安装 Satellite 造成的。在 Satellite 的安装过程中,创建的 SSL 证书中有一个不准确的时间。如果修正了这个 Satellite 时间,这个证书的开始日期和时间就有可能是一个未来的时间,从而使它无效。
# date
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
5.5. 日志和报告
/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
?
spacewalk-report
命令可一次收集并显示重要的 Satellite 信息。
注意
spacewalk-report
,您必须安装 spacewalk-reports
软件包
spacewalk-report
可让管理员管理并显示有关 Satellite 中内容、系统事件历史记录、系统和用户资源的报告。使用 spacewalk-report
命令您可以得到有关以下内容的报告:
- 系统清单 - 列出所有在 Satellite 中注册的系统。
- 授权 - 列出 Satellite 中的所有机构,并根据系统或者频道授权排序。
- 勘误 - 列出与注册的系统关联的勘误,并根据严重性以及应用具体勘误的系统对勘误排序。
- 用户 - 列出在 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
# rhn-charsets
/etc/rhn/rhn.conf
文件中正确地配置了 traceback_mail
。
web.default_mail_from
选项并在 /etc/rhn/rhn.conf
中包括适当的值。
5.6. 出错信息
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
- 请使用断开连接模式运行安装脚本,并跳过已经完成的数据库安装:
# ./install.pl --disconnected --skip-db-install
- 使用您喜欢的文本编辑器打开
/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>
- 在连接的模式中重新激活 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>
/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
reposync
软件包问题。这个出错信息是伪信息,可忽略。会在 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
'ascii' codec can't encode character u'\u2013'
- 作为 root 用户直接 ssh 到 Satellite 服务器:
# ssh root@satellite.fqdn.com
- 查看
/var/lib/cobbler/config/profiles.d
中的数据并找到最新编辑的文件,这样可找到造成这个问题的 kickstart 文件:# ls -l /var/lib/cobbler/config/profiles.d/
- 使用您喜欢的文本编辑器打开该侧写,并找到以下文本:
\u2013hostname
更改要读取的条目:--hostname
- 保存对该侧写的更改并关闭文件。
- 重启 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.
- 返回网页界面。请注意该界面需要一些时间方可解析该服务,但应恢复正常状态。
/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
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
satellite-sync
报告该服务器没有激活为 Red Hat Satellite,就不会在对应的 Red Hat Satellite 频道中订阅它。如果这是一个新安装的系统,请确定在该系统中激活这个 satellite 证书。如果之前激活了该证书,那么它已被取消激活。
# yum repolist
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate
5.7. Web 界面
/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
。是什么问题,该如何修复?
--url
参数从 Red Hat Satellite 中提取内容。例如:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
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)
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
taskomatic
服务沟通时有问题。尝试检查如下内容:
- 确定
httpd
正在运行:# service httpd status
- 确定
cobblerd
正在运行:# service cobblerd status
- 确定没有阻止
localhost
连接的防火墙规则
5.10. 注册
rhnreg_ks
命令时失败,显示 ERROR: unable to read system id
。这是什么问题?
%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 中注册也会出现这些出错信息。
5.11. 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
/var/lib/rhn/kickstarts/snippets
。Cobbler 使用符号链接 /var/lib/cobbler/snippets/spacewalk
访问片断。
Snippets: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
重要
5.12. 监控
nocpulse
用户。
nocpulse
用户:
su - nocpulse
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
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
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
rhn-catalog
中获得的命令参数,如:
rhn-runprobe 5 --log=all=4 --sshuser=nocpulse --sshport=4545
5.13. 多机构 Satellite 以及 Satellite 证书
- 在
/etc/rhn/rhn.conf
文件中将web.force_unentitlement
设定为 1。 - 重启 Satellite。
- 可通过每个机构的「订阅」标签或者各个授权的「机构」标签减少为您要求机构分配的授权。
- 机构中的很多系统现在应该处于「未授权」状态。机构中未授权系统数目应等于您从该机构删除的授权总数与该机构没有应用到系统中的授权数之差。例如:如果您在第三步从该机构中删除了 10 个授权,且该机构有 4 个授权未被系统使用,那么在该机构中应该有 6 个未授权的系统。
web.force_unentitlement
变量。如果某个机构的授权数超过其正在使用的授权数,则您不需要设定此变量将其删除。
5.14. Proxy 安装和配置
rhn_package_manager -l -c "name_of_private_channel"
命令列出 Satellite 已知的专用频道软件包。或访问 Satellite 界面。
yum --disablerepo="*" --enablerepo="your_repo_name" list available
命令查看专用 Satellite 频道的软件包。
/var/log/squid/access.log
文件记录了所有与 Squid 服务器的连接。
yum update yum
命令,或者在 http://www.redhat.com/support/errata/ 获得最新版本。
/etc/sysconfig/rhn/systemid
的所有者是根。apache 的权限设置是 0640。
df -h
service httpd status
service squid status
/etc/rhn/rhn.conf
文件中正确地配置了 traceback_mail
。
/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
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
- 确认正确的软件包:
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 安装指南》 中《附加条件》一节所述。
/var/spool/squid/
。要清除它,请:
- 停止 Apache Web 服务器:
service httpd stop
- 停止 Squid 服务器:
service squid stop
- 删除那个目录中的内容:
rm -fv /var/cache/rhn/*
- 重启这两个服务:
service squid start service httpd start
rm -fv /var/cache/rhn/*
注意
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/
中的新文件通过电子邮件发送到红帽客户服务代表以便及时进行诊断。
sosreport
。这个工具会收集您 Proxy 的配置参数、日志文件和数据库信息,并将其直接发送给红帽。
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. 探测
rhnmd
)。这个要求会在独立探测参考中提出。
注意
A.1. 探测指南
- 未知
- 无法接收用来决定探测状态的统计数据的探测。大多数(不是全部)探测会在超时发生时进入这个状态。处于这个状态的探测也可能是由于错误的配置造成的。
- 等待处理(Pending)
- Red Hat Satellite 还没有接收到数据的探测。这个状态对新探测非常常见。但是,如果所有的探测都进入了这个状态,监控基础设施就可能出现了问题。
- 确定(OK)
- 已经成功运行并没有出现任何错误的探测。所有的探测都应该是这个状态。
- 警告(Warning)
- 这个探测超过了它们的 WARNING 阈值。
- 严重(Critical)
- 超过 CRITICAL 阈值或因为其他原因(如一些探测会在超时后进入 critical 状态)进入 critical 状态的探测。
重要
A.2. Apache 1.3.x 和 2.0.x
https
并将端口设为 443
以便使用安全连接。
A.2.1. Apache::Processes
- 每个子进程的数据传输 - 记录单独子进程传输的数据信息。子进程是指被其他进程创建或由它的父进程创建的进程。
- 每个插槽的数据传输 - 重新启动的子进程传输的数据总量。插槽的数量是通过在
httpd.conf
文件中使用MaxRequestsPerChild
设定的。
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
- 当前的请求 - 在探测的时候正在被服务器处理的请求。
- 请求率 - 在上一次运行探测后每秒钟访问服务器的事件数量。
- 流量 - 在上一次运行探测后服务器每秒钟处理的数据量(以千字节为单位)。
httpd.conf
文件中的 ExtendedStatus
设置为 On
。
表 A.2. Apache::Traffic 设置
字段 | 值 |
---|---|
应用程序协议* | http |
端口* | 80 |
路径名* | /server-status |
用户代理* | NOCpulse-ApacheUptime/1.0 |
用户名 | |
密码 | |
超时* | 15 |
最大当前请求(数量)的 critical 阈值 | |
最大当前请求(数量)的 warning 阈值 | |
最大请求率(每秒钟的事件数量)的 critical 阈值 | |
最大请求率(每秒钟的事件数量)的 warning 阈值 | |
最大流量(每秒钟的千字节数量)的 critical 阈值 | |
最大流量(每秒钟的千字节数量)的 warning 阈值 |
A.3. BEA WebLogic 6.x 和更高版本
community_prefix@managed_server_name
的形式。最后,必须在每个被监控的系统中都启用 SNMP。您可以通过 WebLogic Console 启用并配置 SNMP。
A.3.1. BEA WebLogic::Execute Queue
- 空闲的执行线程 - 处于空闲状态的执行线程的数量。
- 队列长度 - 在队列中的请求数量。
- 请求率 - 每秒的请求数量。
表 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
- 空闲堆栈 - 空闲堆栈空间的百分比。
表 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
- 连接 - 到 JDBC 的连接数。
- 连接率 - 与 JDBC 相连接的速度(每秒的连接数量)。
- 等待者 - 等待连接到 JDBC 的会话数量。
表 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
表 A.7. BEA WebLogic::Server 状态设置
字段 | 值 |
---|---|
SNMP Community String* | public |
SNMP 端口* | 161 |
SNMP 版本* | 1 |
BEA 域管理服务器 | |
BEA 服务器名* |
A.3.5. BEA WebLogic::Servlet
- 最长执行时间 - 在这个系统被启动后这个 servlet 被执行的最长时间(以毫秒为单位)
- 最短执行时间 - 在这个系统被启动后这个 servlet 被执行的最短时间(以毫秒为单位)
- 执行时间移动平均值 - 执行时间的一个移动的平均值。
- 平均执行时间 - 一个标准的平均执行时间。
- 重新加载率 - 指定的每分钟重新加载 servlet 的次数。
- 调用率 - 指定的每分钟调用 servlet 的次数。
表 A.8. BEA WebLogic::Servlet 设置
字段 | 值 |
---|---|
SNMP Community String* | public |
SNMP 端口* | 161 |
SNMP 版本* | 1 |
BEA 域管理服务器 | |
BEA 服务器名* | myserver |
Servlet 名* | |
最长执行时间的 critical 阈值 | |
最长执行时间的 warning 阈值 | |
最大执行时间移动平均值的 critical 阈值 | |
最大执行时间移动平均值的 warning 阈值 |
A.4. 常规
A.4.1. General::Remote Program
rhnmd
)方可执行这个探测。
表 A.9. General::Remote Program 设置
字段 | 值 |
---|---|
命令* | |
OK 退出状态* | 0 |
warning 退出状态* | 1 |
critical 退出状态* | 2 |
超时 | 15 |
A.4.2. General::Remote Program with Data
- <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
1.3.6.1.2.1.1.1.0
)测试您的 SNMP 服务器,且有一个阈值(threshold)与返回值关联。它收集以下数据:
- 远程服务延迟 - SNMP 服务器响应连接请求所用的时间(以秒为单位)。
表 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
- 远程服务延迟 - TCP 服务器响应连接请求所用的时间(以秒为单位)。
表 A.12. General::TCP Check 设置
字段 | 值 |
---|---|
发送 | |
预期 | |
端口* | 1 |
超时* | 10 |
最大延迟的 critical 阈值 | |
最大延迟的 warning 阈值 |
A.4.5. General::UDP Check
- 远程服务延迟 - UDP 服务器响应一个连接请求所需的时间(以秒为单位)。
表 A.13. General::UDP Check 设置
字段 | 值 |
---|---|
端口* | 1 |
发送 | |
预期 | |
超时* | 10 |
最大延迟的 critical 阈值 | |
最大延迟的 warning 阈值 |
A.5. Linux
rhnmd
守护进程。
A.5.1. Linux::CPU Usage
- CPU 用量百分比 - 在探测执行时每 5 秒的 CPU 用量百分比。
rhnmd
)。
表 A.15. Linux::CPU Usage 设置
字段 | 值 |
---|---|
超时* | 15 |
最大 CPU 用量百分比的 critical 阈值 | |
最大 CPU 使用百分比的 warning 阈值 |
A.5.2. 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
- 使用的文件系统 - 当前被使用的文件系统的百分比。
- 使用的空间 - 当前被使用的文件系统的总量(以兆字节为单位)。
- 可用空间 - 当前可用的文件系统空间(以兆字节为单位)。
rhnmd
)方可执行这个探测。
表 A.17. Linux::Disk Usage 设置
字段 | 值 |
---|---|
文件系统* | /dev/hda1 |
超时* | 15 |
最大文件系统使用百分比的 critical 阈值 | |
最大文件系统使用百分比的 warning 阈值 | |
最大使用空间的 critical 阈值 | |
最大使用空间的 warning 阈值 | |
最小可用空间的 warning 阈值 | |
最小可用空间的 critical 阈值 |
A.5.4. Linux::Inodes
- Inodes - 当前被使用的内节点百分比。
rhnmd
)方可执行这个探测。
表 A.18. Linux::Inodes 设置
字段 | 值 |
---|---|
文件系统* | / |
超时* | 15 |
最大内节点使用百分比的 critical 阈值 | |
最大内节点使用百分比的 warning 阈值 |
A.5.5. Linux::Interface Traffic
- 输入率 - 每秒钟进入某具体接口的字节数。
- 输出率 - 每秒钟某具体接口输出的字节数。
rhnmd
)方可执行这个探测。
表 A.19. Linux::Interface Traffic 设置
字段 | 值 |
---|---|
接口* | |
超时* | 30 |
最大输入率的 critical 阈值 | |
最大输入率的 warning 阈值 | |
最小输入率的 warning 阈值 | |
最小输入率的 critical 阈值 | |
最大输出率的 critical 阈值 | |
最大输出率的 warning 阈值 | |
最小输出率的 warning 阈值 | |
最小输出率的 critical 阈值 |
A.5.6. Linux::Load
- 负载 - 在一个阶段内系统 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
- 空闲 RAM - 系统中的空闲的 RAM(以兆字节为单位)。
yes
或 no
将可收回的内存数据包括在收集的数据中。
rhnmd
)方可执行这个探测。
表 A.21. Linux::Memory Usage 设置
字段 | 值 |
---|---|
包括可收回内存 | 否 |
超时* | 15 |
最大空闲 RAM 的 warning 阈值 | |
最大空闲 RAM 的 critical 阈值 |
A.5.8. Linux::Process Counts by State
- 已阻塞 — 已经被切换到等待队列,状态已经被转换为
等待
状态的进程。 - 不再使用 - 已经被终止(被一个信号终止(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
- 进程数 - 当前正在这个系统中运行的进程总数。
rhnmd
)方可执行这个探测。
表 A.23. Linux::Process Count Total 设置
字段 | 值 |
---|---|
超时* | 15 |
最大进程数的 critical 阈值 | |
最大进程数的 warning 阈值 |
A.5.10. Linux::Process Health
- CPU 用量 - 指定进程的 CPU 使用率(以每秒中使用的毫秒数计算)。这个数据会出现在
ps
输出的 time 栏中,它显示了这个进程使用 CPU 积累的时间。这使得这个数据独立于探测执行的间隔,允许设置合理的阈值并产生可用的数据统计图。 - 子进程组 - 具体进程的子进程数。子进程会从它的父进程中继承大量的属性(如打开的文件)。
- 线程 - 具体进程的运行线程的数量。线程是 CPU 的基本使用单元,它包括一个程序计数器、一个寄存器组和一个堆栈空间。线程又叫轻加权进程。
- 使用的物理内存 - 被指定进程使用的物理内存(或 RAM)的数(以千字节为单位)。
- 使用的虚拟内存 - 被指定进程使用的虚拟内存的数量(以千字节为单位);或是实际内存加上交换分区中的这个进程的大小。
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
rhnmd
)方可执行这个探测。
表 A.25. Linux::Process Running 设置
字段 | 值 |
---|---|
命令名 | |
PID 文件 | |
进程组数 | (选定) |
超时* | 15 |
最大运行数量的 critical 阈值 | |
最小运行数量的 critical 阈值 |
A.5.12. Linux::Swap Usage
- 空闲的 swap 分区 - 当前空闲的 swap 分区的百分比。
rhnmd
)方可执行这个探测。
表 A.26. Linux::Swap Usage 设置
字段 | 值 |
---|---|
超时* | 15 |
最小空闲交换分区的 warning 阈值 | |
最小空闲交换分区的 critical 阈值 |
A.5.13. Linux::TCP Connections by State
- TIME_WAIT - 在关闭远程停机传输后 socket 等待的时间。在这段时间内,它还可以处理已经存在在网络中的数据包。
- CLOSE_WAIT - 远程部分已经终止,等待关闭 socket。
- FIN_WAIT - socket 已关闭,正在关闭该连接。
- ESTABLISHED - 已经建立了到 socket 的连接。
- SYN_RCVD - 已经从网络上收到了连接请求。
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.6. 日志代理
nocpulse
用户必须有对您的日志文件的读权限。
A.6.1. 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)+
警告
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
- 大小 - 从探测最新一次运行后日志文件大小的变化。
- 输出率 - 从探测最新一次运行后日志文件每分钟增长的字节数。
- 行数 - 从探测最新一次运行后写入到日志文件中的行的数。
- 行率 - 从探测最新一次运行后每分钟写入到日志文件中的行的数量。
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
表 A.32. MySQL::Database Accessibility 设置
字段 | 值 |
---|---|
用户名* | |
密码 | |
MySQL 端口 | 3306 |
数据库* | mysql |
超时 | 15 |
A.7.2. MySQL::Opened Tables
- 打开的表 - 从服务器启动后已被打开的表。
表 A.33. MySQL::Opened Tables 设置
字段 | 值 |
---|---|
用户名 | |
密码 | |
MySQL 端口* | 3306 |
超时 | 15 |
最大打开项数量的 critical 阈值 | |
最大打开项数量的 warning 阈值 | |
最小打开项数量的 warning 阈值 | |
最小打开项数量的 critical 阈值 |
A.7.3. MySQL::Open Tables
- 打开的表 - 探测运行时打开的表的数量。
表 A.34. MySQL::Open Tables 设置
字段 | 值 |
---|---|
用户名 | |
密码 | |
MySQL 端口* | 3306 |
超时 | 15 |
最大打开项数量的 critical 阈值 | |
最大打开项数量的 warning 阈值 | |
最小打开项数量的 warning 阈值 | |
最小打开项数量的 critical 阈值 |
A.8. 网络服务
A.8.1. Network Services::DNS Lookup
dig
命令来检查是否可以解决域名服务请求,或「用来查找的主机或地址」项中是否有该域名。它收集以下数据:
- 查询时间 - 执行
dig
请求所需的时间(以毫秒为单位)。
表 A.37. Network Services::DNS Lookup 设置
字段 | 值 |
---|---|
用来查询的主机或地址 | |
超时* | 10 |
最大查询时间的 critical 阈值 | |
最大查询时间的 warning 阈值 |
A.8.2. Network Services::FTP
- 远程服务延迟 - FTP 服务器响应连接请求所用的时间(以秒为单位)。
表 A.38. Network Services::FTP 设置
字段 | 值 |
---|---|
预期 | FTP |
用户名 | |
密码 | |
FTP 端口* | 21 |
超时* | 10 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.3. Network Services::IMAP Mail
- 远程服务延迟 - IMAP 服务器响应连接请求所用的时间(以秒为单位)。
表 A.39. Network Services::IMAP Mail 设置
字段 | 值 |
---|---|
IMAP 端口* | 143 |
预期* | 确定(OK) |
超时* | 5 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.4. Network Services::Mail Transfer(SMTP)
- 远程服务延迟 - SMTP 服务器响应一个连接请求所需的时间(以秒为单位)。
表 A.40. Network Services::Mail Transfer (SMTP) 设置
字段 | 值 |
---|---|
SMTP 端口* | 25 |
超时* | 10 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.5. Network Services::Ping
ping
被监控的系统或者指定的 IP 地址。它还会检查数据包的丢失情况并使用平均的往返时间值与 Warning 阈值和 Critical 阈值相比较。在这里需要的「发送的数据包」值可让您控制发送到该系统的 ICMP ECHO 数据包数。这个探测收集以下数据:
- 平均往返时间 - ICMP ECHO 数据包从被发出到从被监控的系统返回的时间(以毫秒为单位)。
- 丢失的数据包 - 在传输过程中丢失的数据包的百分比。
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
- 远程服务延迟 - POP 服务器响应一个连接请求所需的时间(以秒为单位)。
+OK
。如果预期的字符串没有找到,这个探测会返回一个 CRITICAL 状态。
表 A.42. Network Services::POP Mail 设置
字段 | 值 |
---|---|
端口* | 110 |
预期* | +OK |
超时* | 10 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.7. Network Services::Remote Ping
ping
指定的 IP 地址。它还会监控数据包的丢失情况并使用平均往返时间值与 Warning 阈值和 Critical 阈值进行比较。在这里需要的「发送的数据包」值可让您控制发送到该地址的 ICMP ECHO 数据包数。这个探测收集以下数据:
- 平均往返时间 - 从 ICMP ECHO 数据包发出到从指定的 IP 地址返回的时间(以毫秒为单位)。
- 丢失的数据包 - 在传输过程中丢失的数据包的百分比。
rhnmd
)方可执行这个探测。
表 A.43. Network Services::Remote Ping 设置
字段 | 值 |
---|---|
IP 地址* | |
发送的数据包* | 20 |
超时* | 10 |
最大平均往返时间的 critical 阈值 | |
最大平均往返时间的 warning 阈值 | |
最大数据包丢失数量的 critical 阈值 | |
最大数据包丢失数量的 warning 阈值 |
A.8.8. Network Services::RPCService
- 远程服务延迟 - RPC 服务器响应连接请求所用的时间(以秒为单位)。
表 A.44. Network Services::RPCService 设置
字段 | 值 |
---|---|
协议 (TCP/UDP) | udp |
服务名* | nfs |
超时* | 10 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.9. Network Services::Secure Web Server (HTTPS)
- 远程服务延迟 - HTTPS 服务器响应连接请求所用的时间(以秒为单位)。
表 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
- 远程服务延迟 - SSH 服务器响应一个连接请求所需的时间(以秒为单位)。
表 A.46. Network Services::SSH 设置
字段 | 值 |
---|---|
SSH 端口* | 22 |
超时* | 5 |
最大远程服务延迟的 critical 阈值 | |
最大远程服务延迟的 warning 阈值 |
A.8.11. Network Services::Web Server (HTTP)
- 远程服务延迟 - HTTP 服务器响应连接请求所用的时间(以秒为单位)。
表 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_HOME/rdbms/admin/catalog.sql
A.9.1. Oracle::Active Sessions
- 活跃会话 - 基于
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
表 A.49. Oracle::Availability 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
A.9.3. Oracle::Blocking Sessions
- 阻塞会话 - 防止其他会话向该 Oracle 数据库提交更改的会话数,该数值由您提供的所需 阻塞的时间 值决定。只有那些不能在此期间(以秒计)内执行的会话才会被计为阻塞会话。
表 A.50. Oracle::Blocking Sessions 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
阻塞的时间(秒)* | 20 |
超时* | 30 |
最大阻塞会话的 critical 阈值 | |
最大阻塞会话的 warning 阈值 |
A.9.4. Oracle::Buffer Cache
- 数据库块 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
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
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 排序的比率。
表 A.54. Oracle::Disk Sort Ratio 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大磁盘排序率的 critical 阈值 | |
最大磁盘排序率的 warning 阈值 |
A.9.8. Oracle::Idle Sessions
- 空闲会话 - 根据您所提供的 空闲时间 值,处于空闲状态的 Oracle 会话数。只有已经空闲了一定时间(空闲时间中的值,以秒为单位)的会话才会被统计为空闲会话。
表 A.55. Oracle::Idle Sessions 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
空闲时间(秒)* | 20 |
超时* | 30 |
最大空闲会话数的 critical 阈值 | |
最大空闲会话数的 warning 阈值 |
A.9.9. Oracle::Index Extents
- 分配的扩展 - 为任何索引分配的扩展数。
- 可用的扩展 - 任何索引可用的扩展百分比。
%
值匹配任意索引名称。
表 A.56. Oracle::Index Extents 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
索引拥有者* | % |
索引名* | % |
超时* | 30 |
最大分配的扩展数的 critical 阈值 | |
最大分配的扩展数的 warning 阈值 | |
最大可用扩展的 critical 阈值 | |
最大的可用扩展的 warning 阈值 |
A.9.10. 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
- 活跃的锁定 - 由 v$locks 表决定的当前活跃的锁定数。当数据库事务中出现了大量的定锁时,数据库管理员应该注意这个情况。
表 A.58. Oracle::Locks 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大活跃锁定数的 critical 阈值 | |
最大活跃锁定数的 warning 阈值 |
A.9.12. Oracle::Redo Log
- 重复日志空间请求率 - 在服务器启动后,每分钟重复日志空间请求的平均数量。
- 重复重新尝试分配缓冲区率 - 从服务器启动后每分钟重复重新分配缓冲区的平均次数。
表 A.59. Oracle::Redo Log 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
超时* | 30 |
最大重复日志空间请求率的 critical 阈值 | |
最大重复日志空间请求率的 warning 阈值 | |
最大重复缓冲区重新尝试分配率的 critical 阈值 | |
最大重复缓冲区重新尝试分配率的 warning 阈值 |
A.9.13. Oracle::Table Extents
- 分配的扩展(任意表) - 任意表扩展的总数。
- 可用的扩展(任意表) - 任意表可用扩展的百分比。
%
。这个值会与任何表所有者或表名称匹配。
表 A.60. Oracle::Table Extents 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
表拥有者* | % |
表名称* | % |
超时* | 30 |
最大分配扩展的 critical 阈值 | |
最大分配扩展的 warning 阈值 | |
最大有效扩展的 critical 阈值 | |
最大有效扩展的 warning 阈值 |
A.9.14. Oracle::Tablespace Usage
- 使用的有效空间 - 在每个表空间中已经被使用的可用空间。
%
与任意表名相匹配。
表 A.61. Oracle::Tablespace Usage 设置
字段 | 值 |
---|---|
Oracle SID* | |
Oracle 用户名* | |
Oracle 密码* | |
Oracle 端口* | 1521 |
表空间名* | % |
超时* | 30 |
最大使用的有效空间的 critical 阈值 | |
最大使用的有效空间的 warning 阈值 |
A.10. Red Hat Satellite
A.10.1. Red Hat Satellite::Disk Space
- 使用的文件系统 - 目前被使用的文件系统的百分比。
- 使用的空间 - 当前的文件系统使用的文件大小。
- 可用空间 - 当前的文件系统可用的文件大小。
表 A.63. Red Hat Satellite::Disk Space 设置
字段 | 值 |
---|---|
设备路径名* | /dev/hda1 |
最大使用的文件系统的 critical 阈值 | |
最大使用的文件系统的 warning 阈值 | |
最大使用空间的 critical 阈值 | |
最大使用空间的 warning 阈值 | |
最大可用空间的 critical 阈值 | |
最大可用空间的 warning 阈值 |
A.10.2. Red Hat Satellite::Execution Time
- 探测平均执行时间 - 完全执行一个探测所需的时间(以秒为单位)。
表 A.64. Red Hat Satellite::Execution Time 设置
字段 | 值 |
---|---|
最大探测平均执行时间的 critical 阈值 | |
最大探测平均执行时间的 warning 阈值 |
A.10.3. Red Hat Satellite::Interface Traffic
- 输入率 - 这个设备每秒接收的字节数。
- 输出率 - 这个设备每秒发送的字节数。
表 A.65. Red Hat Satellite::Interface Traffic 设置
字段 | 值 |
---|---|
接口* | eth0 |
超时(seconds)* | 30 |
最大输入率的 critical 阈值 | |
最大输出率的 critical 阈值 |
A.10.4. Red Hat Satellite::Latency
- 探测平均延迟 - 从探测可以运行到探测实际运行所需的时间。在通常情况下,这个时间会小于一秒。当 Satellite 有非常大的负载时,这个时间会延长。
表 A.66. Red Hat Satellite::Latency 设置
字段 | 值 |
---|---|
最大平均探测延迟的 critical 阈值 | |
最大平均探测延迟的 warning 阈值 |
A.10.5. Red Hat Satellite::Load
- 负载 - 在 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
- 探测 - 在 Satellite 服务器中运行的独立探测数量。
表 A.68. Red Hat Satellite::Probe Count 设置
字段 | 值 |
---|---|
最大探测数量的 critical 阈值 | |
最大探测数量的 warning 阈值 |
A.10.7. Red Hat Satellite::Process Counts
- 阻塞的进程 - 已经被转换到等待队列和等待状态的进程数量。
- 子进程 - 由已经在这台机器中运行的另一个进程生成的进程数。
- 不再使用的 - 已经被终止(可能被一个信号终止或调用了
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
- 进程 - 在这台机器中同时运行的进程数。
表 A.70. Red Hat Satellite::Processes 设置
字段 | 值 |
---|---|
最大进程数量的 critical 阈值 | |
最大进程数量的 warning 阈值 |
A.10.9. Red Hat Satellite::Process Health
- CPU 用量 - 指定进程的 CPU 用量。
- 子进程组 - 具体进程的子进程数。子进程会从它的父进程中继承大量的属性(如打开的文件)。
- 线程 - 具体进程的运行线程的数量。线程是 CPU 的基本使用单元,它包括一个程序计数器、一个寄存器组和一个堆栈空间。线程又叫轻加权进程。
- 使用的物理内存 - 被指定进程使用的物理内存数(以千字节为单位)。
- 使用的虚拟内存 - 被指定进程使用的虚拟内存的数量(以千字节为单位);或是实际内存加上交换分区中的这个进程的大小。
表 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
表 A.72. Red Hat Satellite::Process Running 设置
字段 | 值 |
---|---|
命令名 | |
进程 ID(PID)文件 | |
最大进程运行数量的 critical 阈值 | |
最小进程运行数量的 critical 阈值 |
附录 B. 修订历史
修订历史 | ||||||||
---|---|---|---|---|---|---|---|---|
修订 4-32.2.400 | 2013-10-31 | Rüdiger Landmann | ||||||
| ||||||||
修订 4-32.2 | Fri Aug 30 2013 | Leah Liu | ||||||
| ||||||||
修订 4-32.1 | Fri Aug 30 2013 | Terry Chuang | ||||||
| ||||||||
修订 4-32 | Thu Aug 29 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-31 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-30 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-29 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-28 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-27 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-26 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-25 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-24 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-23 | Tue Aug 27 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-22 | Thu Aug 15 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-21 | Sun Jul 28 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-20 | Wed Jul 24 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-19 | Tue Jul 23 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-18 | Thu Jul 12 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-17 | Thu Jul 12 2013 | Dan Macpherson | ||||||
| ||||||||
修订 4-16 | Thu Jul 11 2013 | Athene Chan | ||||||
| ||||||||
修订 4-15 | Fri Jul 5 2013 | Athene Chan | ||||||
| ||||||||
修订 4-14 | Fri Jul 5 2013 | Athene Chan | ||||||
| ||||||||
修订 4-13 | Fri June 28 2013 | Athene Chan | ||||||
| ||||||||
修订 4-12 | Tue June 4 2013 | Athene Chan | ||||||
| ||||||||
修订 4-11 | Fri May 17 2013 | Athene Chan | ||||||
| ||||||||
修订 4-10 | Thu Apr 25 2013 | Athene Chan | ||||||
| ||||||||
修订 4-9 | Thu Feb 28 2013 | Athene Chan | ||||||
| ||||||||
修订 4-8 | Wed Jan 2 2013 | Athene Chan | ||||||
| ||||||||
修订 4-7 | Wed Sept 19 2012 | Dan Macpherson | ||||||
| ||||||||
修订 4-6 | Thu Aug 16 2012 | Athene Chan | ||||||
| ||||||||
修订 4-5 | Thu Aug 16 2012 | Athene Chan | ||||||
| ||||||||
修订 4-4 | Wed Aug 15 2012 | Athene Chan | ||||||
| ||||||||
修订 4-3 | Thu Aug 9 2012 | Athene Chan | ||||||
| ||||||||
修订 3-2 | Fri Aug 3 2012 | Athene Chan | ||||||
| ||||||||
修订 3-1 | Tue Jun 17 2012 | Athene Chan | ||||||
| ||||||||
修订 3-0 | Thurs May 24 2012 | Athene Chan | ||||||
| ||||||||
修订 2-6 | Mon Jan 9 2012 | Lana Brindley | ||||||
| ||||||||
修订 2-5 | Wed Jan 4 2012 | Lana Brindley | ||||||
| ||||||||
修订 2-4 | Fri Sep 23 2011 | Lana Brindley | ||||||
| ||||||||
修订 2-3 | Mon Aug 15 2011 | Lana Brindley | ||||||
| ||||||||
修订 2-2 | Wed Jun 15 2011 | Lana Brindley | ||||||
| ||||||||
修订 2-1 | Fri May 27 2011 | Lana Brindley | ||||||
| ||||||||
修订 2-0 | Fri May 6 2011 | Lana Brindley | ||||||
| ||||||||
修订 1-29 | Fri March 25 2011 | Lana Brindley | ||||||
| ||||||||
修订 1-28 | Thu March 24 2011 | Lana Brindley | ||||||
| ||||||||
修订 1-27 | Mon Feb 14 2011 | Lana Brindley | ||||||
| ||||||||
修订 1-26 | Wed Feb 9 2011 | Lana Brindley | ||||||
| ||||||||
修订 1-25 | Mon Jan 31 2011 | Lana Brindley | ||||||
|