47 收集系统信息以供支持所用 #
为了让用户快速概览计算机的所有系统相关信息,SUSE Linux Enterprise Server 提供了 hostinfo
软件包。该软件包还可以帮助系统管理员检查污染的(不支持的)内核,或者计算机上安装的任何第三方软件包。
出现问题时,可以使用 supportconfig
命令行工具或 YaST 模块创建详细的系统报告。这两种方法都会收集系统的相关信息,包括当前内核版本、硬件、已安装软件包、分区设置及其他信息。最后会生成一个包含多个文件的 TAR 存档。在建立服务请求 (SR) 后,您可以将该 TAR 存档上载至全球技术支持。该存档有助于找出您报告的问题,并帮助您解决问题。
此外,您可以分析 supportconfig
输出来发现已知问题,以帮助快速解决问题。为此,SUSE Linux Enterprise Server 提供了一个设备和一个命令行工具用于进行 Supportconfig Analysis
(SCA)。
47.1 显示当前系统信息 #
在登录到服务器时,要想快速方便地大致了解所有相关系统信息,请使用软件包 hostinfo
。在计算机上安装该软件包后,控制台将会向登录到该计算机的任何 root
用户显示以下信息:
root
身份登录时的 hostinfo
输出 #Welcome to SUSE Linux Enterprise Server 15 SP2 Snapshot8 (x86_64) - Kernel \r (\l).
Distribution: SUSE Linux Enterprise Server 15 SP6
Current As Of: Mon 11 March 2024 10:11:51 AM CET
Hostname: localhost
Kernel Version: 6.4.0-150600.9-default
Architecture: x86_64
Installed: Fri 08 March 2024 04:45:50 PM CET
Status: Not Tainted
Last Installed Package: Mon 11 March 2024 10:02:13 AM CET
Patches Needed: 0
Security: 0
3rd Party Packages: 6
Network Interfaces
eth0: 192.168.2/24 2002:c0a8:20a::/64
Memory
Total/Free/Avail: 7.4Gi/6.4Gi/6.8Gi (91% Avail)
CPU Load Average: 7 (3%) with 2 CPUs
如果输出显示 tainted
内核状态,请参见第 47.6 节 “内核模块支持”以了解更多细节。
47.2 使用 Supportconfig 收集系统信息 #
要创建包含详细系统信息的 TAR 存档,以提交给全球技术支持,请使用:
supportconfig
命令,或者YaST
模块。
该命令行工具由默认安装的软件包 supportutils
提供。YaST 模块也基于该命令行工具。
某些软件包集成了 Supportconfig 插件。执行 Supportconfig 时,还会执行所有插件,并创建该存档的一个或多个结果文件。这样做的好处是,只有包含特定插件的主题才会被选中。Supportconfig 插件存储在 /usr/lib/supportconfig/plugins/
目录中。
47.2.1 创建服务请求编号 #
系统随时都可以生成 Supportconfig 存档。但是,要将 Supportconfig 数据提交给全球技术支持,首先需要生成一个服务请求编号。上载存档以获取支持时,需要使用此编号。
要创建服务请求,请访问 https://scc.suse.com/support/requests 并遵照屏幕上的说明操作。记下服务请求编号。
SUSE 将系统报告视为机密数据。有关我们在隐私方面所做承诺的详细信息,请参见 https://www.suse.com/company/policies/privacy/。
47.2.2 上载目标 #
在创建服务请求编号后,可以根据过程 47.1 “使用 YaST 向支持部门提交信息”或过程 47.2 “从命令行向支持部门提交信息”中所述将 Supportconfig 存档上载到全球技术支持站点。使用下列上载目标之一:
EMEA(欧洲、中东和非洲):FTP ftp://support-ftp.emea.suse.com/incoming
或者,可以使用以下服务请求 URL 手动将该 TAR 存档附加到您的服务请求:https://scc.suse.com/support/requests。
47.2.3 使用 YaST 创建 supportconfig 存档 #
要使用 YaST 收集系统信息,请执行以下步骤:
启动 YaST 并打开
模块。单击
。在随后出现的窗口中,从单选按钮列表中选择一个 Supportconfig 选项。系统默认会预先选择
。如果要先测试报告功能,请使用 。有关其他选项的更多信息,请参考supportconfig
手册页。单击
。输入您的联系信息。此信息将保存在
basic-environment.txt
文件中,并会包含在创建的存档中。要将存档提交到全球技术支持,请提供所需的第 47.2.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。
。YaST 会自动推荐一个上载服务器。要修改该服务器,请参考要在以后再提交存档,请将
留空。单击
启动信息收集过程。该过程完成后,单击
。要查看收集的数据,请从
中选择所需的文件,以在 YaST 中查看其内容。在将 TAR 存档提交到支持部门之前,如果要去除该存档中的某个文件,请使用 。按 。保存该 TAR 存档。如果您以
root
用户身份启动了 YaST 模块,YaST 会提示您将该存档保存到/var/log
(否则将保存到您的主目录)。文件名格式为scc_HOST_DATE_TIME.tbz
。要直接将该存档上载到支持部门,请确保步骤 5 中 YaST 推荐的上载目标。要修改上载目标,请在第 47.2.2 节 “上载目标”中检查有哪些可用的上载服务器。
已激活。此处显示的 是要跳过上载步骤,请停用
。确认更改以关闭 YaST 模块。
47.2.4 从命令行创建 supportconfig 存档 #
下面的过程显示了如何创建 Supportconfig 存档,但不将它直接提交给支持人员。要上载该存档,需要根据过程 47.2 “从命令行向支持部门提交信息”中所述,结合某些选项运行命令。
打开外壳并切换为
root
用户。运行
supportconfig
.一般情况下,运行此工具时可以不使用任何选项。不过,也可以使用以下最常见的选项:-E MAIL
,-N NAME
,-O COMPANY
,-P PHONE
设置您的联系数据:电子邮件地址 (
-E
)、公司名称 (-O
)、您的姓名 (-N
) 和电话号码 (-P
)。-i KEYWORDS
,-F
限制检查的功能。KEYWORDS 占位符是区分大小写的关键字的逗号分隔列表。使用
supportconfig -F
可获得所有关键字列表。-r SRNUMBER
定义上载生成的 TAR 存档时所用的服务请求编号。
等待工具完成操作。
默认的存档位置为
/var/log
,文件名格式为scc_HOST_DATE_TIME.tbz
47.2.5 了解 supportconfig
的输出 #
不管您是通过 YaST 还是直接运行 supportconfig
,该脚本都会显示其已执行操作的摘要。
Support Utilities - Supportconfig Script Version: 3.0-98 Script Date: 2017 06 01 [...] Gathering system information Data Directory: /var/log/scc_d251_180201_1525 1 Basic Server Health Check... Done 2 RPM Database... Done 2 Basic Environment... Done 2 System Modules... Done 2 [...] File System List... Skipped 3 [...] Command History... Excluded 4 [...] Supportconfig Plugins: 1 5 Plugin: pstree... Done [...] Creating Tar Ball ==[ DONE ]=================================================================== Log file tar ball: /var/log/scc_d251_180201_1525.txz 6 Log file size: 732K Log file md5sum: bf23e0e15e9382c49f92cbce46000d8b =============================================================================
47.2.6 常用的 supportconfig 选项 #
supportconfig
实用程序在调用时通常不带任何选项。使用 supportconfig
-h
显示所有选项的列表或参见手册页。下面简要列出了常见的使用情形:
- 减少所收集信息的大小
使用最少量选项 (
-m
):>
sudo
supportconfig -m- 将信息限制为特定的主题
如果已确定问题所在,并发现该问题只与特定的区域或功能集相关,则您在下次运行
supportconfig
时,应限制针对特定的区域收集信息。例如,如果您检测到 LVM 出现问题,想要测试最近对 LVM 配置所做的更改。在这种情况下,合适的做法是只收集有关 LVM 的最少量 Supportconfig 信息:>
sudo
supportconfig -i LVM可通过逗号分隔额外的关键字。例如,额外的磁盘测试:
>
sudo
supportconfig -i LVM,DISK要查看可用于将所收集信息限制为特定区域的功能关键字的完整列表,请运行:
>
sudo
supportconfig -F- 在输出中包含其他联系信息:
>
sudo
supportconfig -E tux@example.org -N "Tux Penguin" -O "Penguin Inc." ...(在一行中输入所有命令)
- 收集已经过轮转的日志文件
>
sudo
supportconfig -l这对日志记录量较大的环境,或重引导后 syslog 轮换日志文件时发生内核崩溃的情况尤为有用。
47.2.7 存档内容概述 #
TAR 存档包含各功能的所有结果。您可通过 -i
选项来限制功能集(请参见第 47.2.6 节 “常用的 supportconfig 选项”)。
要列出存档的内容,请使用以下 tar
命令:
#
tar
xf /var/log/scc_earth_180131_1545.tbz
TAR 存档中始终包含以下文件名:
basic-environment.txt
包含执行此脚本的日期和系统信息(如发行套件版本)、超级管理程序信息等。
basic-health-check.txt
包含基本的健康检查(如正常运行时间、虚拟内存统计信息、可用内存和硬盘)、僵尸进程检查等。
hardware.txt
包含基本硬件检查(如有关 CPU 体系结构的信息)、所有已连接硬件的列表、中断、I/O 端口、内核引导消息等。
messages.txt
包含系统日记中的日志消息。
rpm.txt
包含所有已安装的 RPM 软件包、名称、来源及其版本的列表。
summary.xml
包含 XML 格式的信息,如发行套件、版本和产品特定的分段。
supportconfig.txt
包含有关
supportconfig
脚本本身的信息。y2log.txt
包含 YaST 特定的信息,如特定的软件包、配置文件和日志文件。
表 47.1 “TAR 存档中的功能和文件名对照”列出了所有可用的功能及其文件名。后续的服务包或插件将会补充到列表中。
功能 | 文件名 |
---|---|
APPARMOR | security-apparmor.txt |
AUDIT | security-audit.txt |
AUTOFS | fs-autofs.txt |
BOOT | boot.txt |
BTRFS | fs-btrfs.txt |
DAEMONS | systemd.txt |
CIMOM | cimom.txt |
CRASH | crash.txt |
CRON | cron.txt |
DHCP | dhcp.txt |
DISK | fs-diskio.txt |
DNS | dns.txt |
DOCKER | docker.txt |
DRBD | drbd.txt |
ENV | env.txt |
ETC | etctxt |
HA | ha.txt |
HAPROXY | haproxy.txt |
HISTORY | shell_history.txt |
IB | ib.txt |
IMAN | novell-iman.txt |
ISCSI | fs-iscsi.txt |
LDAP | ldap.txt |
LIVEPATCH | kernel-livepatch.txt |
LVM | lvm.txt |
MEM | memory.txt |
MOD | modules.txt |
MPIO | mpio.txt |
NET | network-*.txt |
NFS | nfs.txt |
NTP | ntp.txt |
NVME | nvme.txt |
OCFS2 | ocfs2.txt |
OFILES | open-files.txt |
print.txt | |
PROC | proc.txt |
SAR | sar.txt |
SLERT | slert.txt |
SLP | slp.txt |
SMT | smt.txt |
SMART | fs-smartmon.txt |
SMB | samba.txt |
SRAID | fs-softraid.txt |
SSH | ssh.txt |
SSSD | sssd.txt |
SYSCONFIG | sysconfig.txt |
SYSFS | sysfs.txt |
TRANSACTIONAL | transactional-update.txt |
TUNED | tuned.txt |
UDEV | udev.txt |
UFILES | fs-files-additional.txt |
UP | updates.txt |
WEB | web.txt |
X | x.txt |
47.3 将信息提交到全球技术支持部门 #
可以使用 YaST supportconfig
命令行实用程序向全球技术支持提交系统信息。如果您遇到服务器问题并想要获得支持人员的帮助,则首先需要建立一个服务请求。有关详细信息,请参见第 47.2.1 节 “创建服务请求编号”。
以下示例使用 12345678901 作为服务请求编号的占位符。请将 12345678901 替换为您在第 47.2.1 节 “创建服务请求编号”中创建的服务请求编号。
下面的过程假设您已创建某个 Supportconfig 存档,但尚未将其上载。请确保已按第 47.2.3 节 “使用 YaST 创建 supportconfig 存档”中的步骤 4 所述在存档中包含了您的联系信息。有关如何一步生成并提交 Supportconfig 存档的说明,请参见第 47.2.3 节 “使用 YaST 创建 supportconfig 存档”。
启动 YaST 并打开
模块。单击
。在
中,指定现有 Supportconfig 存档的路径,或者单击 找到该存档。YaST 会自动推荐一个上载服务器。要修改该服务器,请参考第 47.2.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。
单击
继续。单击
。
下面的过程假设您已创建某个 Supportconfig 存档,但尚未将其上载。有关如何一步生成并提交 Supportconfig 存档的说明,请参见第 47.2.3 节 “使用 YaST 创建 supportconfig 存档”。
具有互联网连接的服务器:
要使用默认上载目标,请运行:
>
sudo
supportconfig -ur 12345678901对于安全上载目标,请使用以下命令:
>
sudo
supportconfig -ar 12345678901
不具有互联网连接的服务器:
运行以下命令:
>
sudo
supportconfig -r 12345678901将
/var/log/scc_SR12345678901*tbz
存档手动上载到我们的其中一个 FTP 服务器。要使用哪个服务器取决于您所在的位置。有关概览,请参见第 47.2.2 节 “上载目标”。
将 TAR 存档上载到我们 FTP 服务器的接收目录后,它会自动附加到您的服务请求中。
47.4 分析系统信息 #
您可以分析使用 supportconfig
创建的系统报告来发现已知问题,以帮助快速解决问题。为此,SUSE Linux Enterprise Server 提供了一个设备和一个命令行工具用于进行 Supportconfig Analysis
(SCA)。SCA 设备是一个非交互式服务器端工具。SCA 工具(sca-server-report 软件包提供的 scatool
)在客户端运行,并通过命令行执行。这两个工具都能分析来自受影响服务器的 Supportconfig 存档。初始服务器分析在 SCA 设备或运行 scatool
的工作站上进行。生产服务器上不发生任何分析周期。
此外,该设备和命令行工具还需要产品特定的模式,这样它们才能分析关联产品的 Supportconfig 输出。每个模式就是一个脚本,用于针对某个已知问题分析和评估 Supportconfig 存档。模式以 RPM 软件包的形式提供。
您也可以根据第 47.4.3 节 “开发自定义分析模式”中的简述开发自己的模式。
47.4.1 SCA 命令行工具 #
借助 SCA 命令行工具,您可以使用 supportconfig
以及本地计算机上安装的特定产品的分析模式来分析本地计算机。该工具将创建一份 HTML 报告来显示分析结果。有关示例,请参见图 47.1 “SCA 工具生成的 HTML 报告”。
scatool
命令由 sca-server-report 软件包提供。默认情况下不会安装该软件包。此外,您还需要 sca-patterns-base 软件包,以及满足以下条件的任何产品特定的 sca-patterns-* 软件包:与您想要在其上运行 scatool
命令的计算机上安装的产品匹配。
以 root
用户身份或者结合 sudo
执行 scatool
命令。在调用 SCA 工具时,可以分析现有的 supportconfig
TAR 存档,或者一步即让该工具生成并分析新的存档。该工具还提供具有 Tab 补全功能的交互控制台。您可以在外部计算机上运行 supportconfig
,在本地计算机上执行后续分析。
下面提供了一些示例命令:
sudo scatool
-s
调用
supportconfig
,并在本地计算机上生成新的 Supportconfig 存档。通过应用与所安装产品匹配的 SCA 分析模式来分析存档以发现已知问题。显示基于分析结果生成的 HTML 报告的路径。该报告将写入到 Supportconfig 存档所在的同一目录中。sudo scatool
-s
-o
/opt/sca/reports/与
sudo scatool
-s
类似,唯一的差别在于,HTML 报告将写入到-o
指定的路径。sudo scatool
-a
PATH_TO_TARBALL_OR_DIR分析指定的 Supportconfig 存档文件(或者指定用于存放解压缩的 Supportconfig 存档的目录)。生成的 HTML 报告保存在 Supportconfig 存档或目录所在的位置。
sudo scatool
-a
SLES_SERVER.COMPANY.COM建立与外部服务器 SLES_SERVER.COMPANY.COM 的 SSH 连接,并在该服务器上运行
supportconfig
。Supportconfig 存档随后将复制回本地计算机,并在该处进行分析。生成的 HTML 报告保存在默认的/var/log
目录中。(SLES_SERVER.COMPANY.COM 上只创建 Supportconfig 存档)。sudo scatool
-c
启动
scatool
的交互式控制台。按 →| 两次可查看可用命令。
有关其他选项和信息,请运行 sudo scatool -h
或参见 scatool
手册页。
47.4.2 SCA 设备 #
如果您决定使用 SCA 设备来分析 Supportconfig 存档,请配置一台服务器(或虚拟机)作为专用的 SCA 设备服务器。然后,可以使用该 SCA 设备服务器,对企业中运行 SUSE Linux Enterprise Server 或 SUSE Linux Enterprise Desktop 的所有计算机上的 Supportconfig 存档进行分析。您只需要将 Supportconfig 存档上载到设备服务器,等待它执行分析。此过程无需任何交互。在 MariaDB 数据库中,SCA 设备将会跟踪已分析的所有 Supportconfig 存档。您可以直接从设备 Web 界面阅读 SCA 报告。或者,可以让设备通过电子邮件将 HTML 报告发送给任何管理用户。有关详细信息,请参见第 47.4.2.5.4 节 “通过电子邮件发送 SCA 报告”。
47.4.2.1 安装快速入门 #
要通过命令行快速安装和设置 SCA 设备,请按照此处的说明操作。该过程适用于专家用户,主要通过单纯的安装与设置命令来完成。有关更多信息,请参考第 47.4.2.2 节 “先决条件”到第 47.4.2.3 节 “安装和基本设置”中的详细说明。
Web 和 LAMP 模式
Web 和脚本编写模块(您必须注册计算机才能选择此模块)。
root
特权
下面过程中的所有命令必须以 root
身份来运行。
设置并运行设备后,无需任何人工交互。因此,对于使用 cron 作业创建和上载 Supportconfig 存档的情形,非常适合使用这种方法来设置设备。
在要安装设备的计算机上,登录到控制台并执行以下命令(确保接受推荐的软件包):
>
sudo
zypper install sca-appliance-* sca-patterns-* \ vsftpd yast2 yast2-ftp-server>
sudo
systemctl enable apache2>
sudo
systemctl start apache2>
sudo
systemctl enable vsftpd>
sudo
systemctl start vsftpd>
sudo
yast ftp-server在 YaST FTP 服务器中,选择
› › › › ,以 。执行以下命令:
>
sudo
systemctl enable mysql>
sudo
systemctl start mysql>
sudo
mysql_secure_installation>
sudo
setup-sca -fmysql_secure_installation 将创建 MariaDB
root
口令。
这种设置设备的方法需要在键入 SSH 口令时进行人工交互。
在安装设备的计算机上,登录到控制台。
执行以下命令:
>
sudo
zypper install sca-appliance-* sca-patterns-*>
sudo
systemctl enable apache2>
sudo
systemctl start apache2>
sudo
sudo systemctl enable mysql>
sudo
systemctl start mysql>
sudo
mysql_secure_installation>
sudo
setup-sca
47.4.2.2 先决条件 #
要运行 SCA 设备服务器,需要满足以下先决条件:
所有
sca-appliance-*
软件包。sca-patterns-base
软件包。此外,需要针对您要使用该设备分析的 Supportconfig 存档类型安装任意产品特定的sca-patterns-*
。Apache
PHP
MariaDB
匿名 FTP 服务器(可选)
47.4.2.3 安装和基本设置 #
如第 47.4.2.2 节 “先决条件”中所列,SCA 设备与其他软件包存在若干依赖项。因此,在安装和设置 SCA 设备服务器之前,需要做一些准备工作:
对于 Apache 和 MariaDB,请安装
Web
和LAMP
安装软件集。设置 Apache 和 MariaDB,并有选择性地设置一个匿名 FTP 服务器。有关详细信息,请参见第 42 章 “Apache HTTP 服务器”和第 43 章 “使用 YaST 设置 FTP 服务器”。
将 Apache 和 MariaDB 配置为在引导时启动:
>
sudo
systemctl enable apache2 mysql启动这两个服务:
>
sudo
systemctl start apache2 mysql
现在,您便可以根据过程 47.5 “安装和配置 SCA 设备”中所述安装和设置 SCA 设备。
安装这些软件包后,可以使用 setup-sca
脚本来对 SCA 设备使用的 MariaDB 管理与报告数据库进行基本的配置。
使用该脚本可以配置以下选项,以便将 Supportconfig 存档从您的计算机上载到 SCA 设备:
scp
匿名 FTP 服务器
安装设备和 SCA 基本模式库:
>
sudo
zypper install sca-appliance-* sca-patterns-base此外,请针对您要分析的 Supportconfig 存档类型安装模式软件包。例如,如果您的环境中安装了 SUSE Linux Enterprise Server 12 和 SUSE Linux Enterprise Server 15 服务器,请安装
sca-patterns-sle12
和sca-patterns-sle15
这两个软件包。安装所有可用模式:
>
sudo
zypper install sca-patterns-*要对 SCA 设备进行基本的设置,请使用
setup-sca
脚本。如何调用该命令取决于您要如何将 Supportconfig 存档上载到 SCA 设备服务器:如果您配置了使用
/srv/ftp/upload
目录的匿名 FTP 服务器,请结合-f
选项执行设置脚本。按照屏幕上的说明操作:>
sudo
setup-sca -f注意:使用其他目录的 FTP 服务器如果 FTP 服务器使用的目录不是
/srv/ftp/upload
,请先调整以下配置文件,使其指向正确的目录:/etc/sca/sdagent.conf
和/etc/sca/sdbroker.conf
。要想通过
scp
将 Supportconfig 文件上载到 SCA 设备服务器的/tmp
目录,请不带任何参数调用该设置脚本。按照屏幕上的说明操作:>
sudo
setup-sca
该设置脚本将会根据它的要求运行一些检查,并配置所需的组件。它会提示您输入两个口令:您设置的 MariaDB 的 MySQL
root
口令,以及用于登录 SCA 设备 Web 界面的 Web 用户口令。输入现有的 MariaDB
root
口令。SCA 设备将使用该口令连接到 MariaDB。定义 Web 用户的口令。该口令将写入
/srv/www/htdocs/sca/web-config.php
,并设置为用户scdiag
的口令。以后,您可随时更改用户名和口令,请参见第 47.4.2.5.1 节 “Web 界面的口令”。
在成功完成安装和设置后,便可以开始使用 SCA 设备,请参见第 47.4.2.4 节 “使用 SCA 设备”。但是,您应该修改一些选项,例如更改 Web 界面的口令,更改 SCA 模式更新源,启用存档模式,或者配置电子邮件通知。有关细节,请参见第 47.4.2.5 节 “自定义 SCA 设备”。
由于 SCA 设备服务器上的报告包含安全相关信息,因此,必须保护好 SCA 设备服务器上的数据,以防未经授权的人员访问。
47.4.2.4 使用 SCA 设备 #
您可以将现有的 Supportconfig 存档手动上载到 SCA 设备,也可以一步即完成创建新 Supportconfig 存档并上载到 SCA 设备的操作。可以通过 FTP 或 SCP 来上载存档。对于这两种上载方式,您需要知道可用来访问 SCA 设备的 URL。要通过 FTP 上载,需要为 SCA 设备配置一台 FTP 服务器,请参见过程 47.5 “安装和配置 SCA 设备”。
47.4.2.4.1 将 supportconfig 存档上载到 SCA 设备 #
要创建 Supportconfig 存档并通过(匿名)FTP 上载:
>
sudo
supportconfig -U “ftp://SCA-APPLIANCE.COMPANY.COM/upload”要创建 Supportconfig 存档并通过 SCP 上载:
>
sudo
supportconfig -U “scp://SCA-APPLIANCE.COMPANY.COM/tmp”系统将提示您输入运行 SCA 设备的服务器的
root
用户口令。如果要手动上载一个或多个存档,请将现有的存档文件(通常位于
/var/log/scc_*.tbz
)复制到 SCA 设备中。对于目标,请选择设备服务器的/tmp
目录或/srv/ftp/upload
目录(如果为 SCA 设备服务器配置了 FTP)。
47.4.2.4.2 查看 SCA 报告 #
可以在装有浏览器并可以访问 SCA 设备报告索引页的任何计算机上查看 SCA 报告。
启动 Web 浏览器并确保 JavaScript 和 Cookie 已启用。
输入 SCA 设备的报告索引页作为 URL。
https://sca-appliance.company.com/sca
如果有任何疑问,请咨询系统管理员。
系统将提示您输入用于登录的用户名和口令。
图 47.2︰ SCA 设备生成的 HTML 报告 #登录后,单击您想要阅读的报告的日期。
首先单击
类别将其展开。在
列中单击某一个项。SUSE 知识库中的相应文章即会打开。阅读建议的解决方案,并遵循所述的说明。如果
的 列显示了其他项,请单击这些项。阅读建议的解决方案,并遵循所述的说明。请查看 SUSE 知识库 (https://www.suse.com/support/kb/),以了解与 SCA 发现的问题直接相关的结果。设法解决这些问题。
查看可前瞻性处理的结果,以免将来发生问题。
47.4.2.5 自定义 SCA 设备 #
以下几节显示了如何更改 Web 界面的口令、更改 SCA 模式更新源、启用存档模式以及配置电子邮件通知。
47.4.2.5.1 Web 界面的口令 #
SCA 设备 Web 界面要求使用用户名和口令登录。默认的用户名为 scdiag
,默认的口令为 linux
(如果未另行指定,请参见过程 47.5 “安装和配置 SCA 设备”)。请尽早将默认口令更改为较为安全的口令。您也可以修改用户名。
在 SCA 设备服务器的系统控制台上以
root
用户身份登录。在编辑器中打开
/srv/www/htdocs/sca/web-config.php
。根据需要更改
$username
和$password
的值。保存文件并退出。
47.4.2.5.2 SCA 模式的更新 #
默认情况下,所有 sca-patterns-*
软件包将由一个 root
cron 作业来定期更新,该作业将每晚执行 sdagent-patterns
脚本,而该脚本又会运行 zypper update sca-patterns-*
。定期的系统更新将会更新所有 SCA 设备包和模式包。要手动更新 SCA 设备和模式,请运行:
>
sudo
zypper update sca-*
默认情况下,将从 SUSE Linux Enterprise 15 SP6 更新储存库安装更新。如果需要,您可以将更新源更改为某台 RMT 服务器。当 sdagent-patterns
运行 zypper update sca-patterns-*
时,将从当前配置的更新通道获取更新。如果该通道在 RMT 服务器上,将从该服务器提取软件包。
在 SCA 设备服务器的系统控制台上以
root
用户身份登录。在编辑器中打开
/etc/sca/sdagent-patterns.conf
。将项
UPDATE_FROM_PATTERN_REPO=1
更改为
UPDATE_FROM_PATTERN_REPO=0
保存文件并退出。计算机无需重启动就能应用更改。
47.4.2.5.3 存档模式 #
系统在分析了 Supportconfig 存档并将其结果存储在 MariaDB 数据库中后,会从 SCA 设备中删除所有这些存档。但是,如果要进行查错,在计算机中保留 Supportconfig 存档的副本可能会比较实用。默认情况下,存档模式处于禁用状态。
在 SCA 设备服务器的系统控制台上以
root
用户身份登录。在编辑器中打开
/etc/sca/sdagent.conf
。将项
ARCHIVE_MODE=0
更改为
ARCHIVE_MODE=1
保存文件并退出。计算机无需重启动就能应用更改。
启用存档模式后,SCA 设备会将 Supportconfig 文件保存到 /var/log/archives/saved
目录,而不会将其删除。
47.4.2.5.4 通过电子邮件发送 SCA 报告 #
SCA 设备可通过电子邮件发送所分析的每个 Supportconfig 的 HTML 报告文件。在默认情况下禁用该功能。如果启用此功能,您便可以定义应将报告发送到的电子邮件地址列表。定义触发报告发送事件的状态消息级别 (STATUS_NOTIFY_LEVEL
)。
STATUS_NOTIFY_LEVEL
的可能值 #- $STATUS_OFF
停用发送 HTML 报告功能。
- $STATUS_CRITICAL
仅发送包含“关键”状态的 SCA 报告。
- $STATUS_WARNING
仅发送包含“警告”或“关键”状态的 SCA 报告。
- $STATUS_RECOMMEND
仅发送包含“建议”、“警告”或“关键”状态的 SCA 报告。
- $STATUS_SUCCESS
发送包含“成功”、“建议”、“警告”或“关键”状态的 SCA 报告。
在 SCA 设备服务器的系统控制台上以
root
用户身份登录。在编辑器中打开
/etc/sca/sdagent.conf
。搜索
STATUS_NOTIFY_LEVEL
项。该项默认设置为$STATUS_OFF
(禁用电子邮件通知)。要启用电子邮件通知,请将
$STATUS_OFF
更改为要针对其生成电子邮件报告的状态消息的级别,例如:STATUS_NOTIFY_LEVEL=$STATUS_SUCCESS
有关详细信息,请参见
STATUS_NOTIFY_LEVEL
的可能值。定义要将报告发送到的收件人列表:
搜索
EMAIL_REPORT='root'
项。将
root
替换为要向其发送 SCA 报告的电子邮件地址列表。各电子邮件地址必须以空格分隔。例如:EMAIL_REPORT='tux@my.company.com wilber@your.company.com'
保存文件并退出。计算机无需重启动就能应用更改。以后生成的所有 SCA 报告都将通过电子邮件发送到指定的地址。
47.4.2.6 备份和恢复数据库 #
要备份和恢复用于存储 SCA 报告的 MariaDB 数据库,请按如下所述使用 scadb
命令。scadb
由软件包 sca-appliance-broker 提供。
在运行 SCA 设备的服务器的系统控制台上以
root
用户身份登录。通过执行以下命令将设备置于维护模式:
#
scadb maint使用以下命令启动备份进程:
#
scadb backup数据将保存到 TAR 存档
sca-backup-*sql.gz
中。如果您正在使用模式创建数据库开发自己的模式(参见第 47.4.3 节 “开发自定义分析模式”),则还要备份以下数据:
#
sdpdb backup数据将保存到 TAR 存档
sdp-backup-*sql.gz
中。将以下数据复制到另一台计算机或外部存储媒体:
sca-backup-*sql.gz
sdp-backup-*sql.gz
/usr/lib/sca/patterns/local
(仅当您已创建自定义模式时才需要复制该数据)
使用以下命令重新激活 SCA 设备:
#
scadb reset agents
要基于备份恢复数据库,请按如下所述操作:
在运行 SCA 设备的服务器的系统控制台上以
root
用户身份登录。将最新的
sca-backup-*sql.gz
和sdp-backup-*sql.gz
TAR 存档复制到 SCA 设备服务器。要解压缩文件,请运行:
#
gzip -d *-backup-*sql.gz要将数据导入数据库,请执行:
#
scadb import sca-backup-*sql如果您正在使用模式创建数据库创建自己的模式,则还要通过以下命令导入以下数据:
#
sdpdb import sdp-backup-*sql如果您正在使用自定义模式,则还要基于备份数据恢复
/usr/lib/sca/patterns/local
。使用以下命令重新激活 SCA 设备:
#
scadb reset agents使用以下命令更新数据库中的模式模块:
#
sdagent-patterns -u
47.4.3 开发自定义分析模式 #
SCA 设备随附了一个完整的模式开发环境(SCA 模式数据库),可让您开发自己的自定义模式。模式可用任何编程语言编写。要使这些模式可用于 Supportconfig 分析过程,需要将其保存到 /usr/lib/sca/patterns/local
并使其可执行。然后,SCA 设备和 SCA 工具将会针对作为分析报告一部分的新 Supportconfig 存档运行这些自定义模式。有关如何创建(和测试)自己的模式的详细说明,请参见https://www.suse.com/c/sca-pattern-development/。
47.5 在安装期间收集信息 #
在安装过程中,supportconfig
不可用。不过,您可以使用 save_y2logs
从 YaST 收集日志文件。该命令会在 /tmp
目录下创建一个 .tar.xz
存档。
如果在安装过程的早期就出现问题,您或许可以通过 linuxrc
创建的日志文件收集信息。linuxrc
是一个在 YaST 启动之前运行的小命令。该日志文件位于 /var/log/linuxrc.log
。
日志文件在安装过程中可用,但在已安装好的系统中却不可用。当安装程序仍在运行时,请正确保存安装日志文件。
47.6 内核模块支持 #
对于任何企业操作系统,一个重要的要求就是您获得的环境方面的支持级别。内核模块是硬件(“控制器”)与操作系统之间关联最密切的连接器。SUSE Linux Enterprise 中的每个内核模块都有一个 supported
标志,该标志可使用以下三个值:
“yes”,相当于
supported
“external”,相当于
supported
(空白,未设置),相当于
unsupported
可以使用下列规则:
默认情况下,经过自我重新编译的内核的所有模块都会标记为 unsupported。
SUSE 合作伙伴支持的内核模块以及使用
SUSE SolidDriver Program
提供的内核模块会标记为“external”。如果未设置
supported
标志,加载此模块便会污染该内核。系统不支持污染的内核。不支持的内核模块随附于额外的 RPM 软件包 (kernel-FLAVOR-extra
) 中。该软件包仅可用于 SUSE Linux Enterprise Desktop 和 SUSE Linux Enterprise Workstation Extension。默认情况 (FLAVOR=default
|xen
|...) 下,不会加载这些内核。此外,安装程序中不会提供这些不支持的模块,并且 SUSE Linux Enterprise 媒体中也不会包含kernel-FLAVOR-extra
软件包。不是根据与 Linux 内核许可证兼容的许可证提供的内核模块也会污染内核。有关细节,请参见
/proc/sys/kernel/tainted
的状态。
47.6.1 技术背景 #
Linux 内核:在 SUSE Linux Enterprise 15 SP6 上,
/proc/sys/kernel/unsupported
的值默认为2
(do not warn in syslog when loading unsupported modules
)。在安装程序和已安装好的系统中,均会使用此默认值。modprobe
:用于检查模块依赖关系和加载模块的modprobe
实用程序会相应地检查supported
标志的值。如果该值为 “yes” 或 “external”,则会加载该模块,否则不会。有关如何覆盖此行为的信息,请参见第 47.6.2 节 “使用不支持的模块”。注意:支持SUSE 一般不支持通过
modprobe -r
去除存储模块。
47.6.2 使用不支持的模块 #
虽然普遍的支持能力很重要,但在有些情况下可能需要加载不支持的模块。例如,为了测试或调试目的,或者如果您的硬件供应商提供了热修复。
要覆盖默认模块,请将
/lib/modprobe.d/10-unsupported-modules.conf
复制到/etc/modprobe.d/10-unsupported-modules.conf
,并将变量allow_unsupported_modules
的值从0
更改为1
。请不要直接编辑/lib/modprobe.d/10-unsupported-modules.conf
,suse-module-tools 软件包每次更新时都会覆盖所有更改。如果 initrd 中需要一个不支持的模块,请记得运行
dracut
-f
来更新 initrd。如果只想尝试加载模块一次,可将
--allow-unsupported-modules
选项与modprobe
结合使用。有关详细信息,请参见/lib/modprobe.d/10-unsupported-modules.conf
中的注释以及modprobe
手册页。在安装期间,可通过驱动程序更新磁盘添加不支持的模块,这样便会加载这些模块。要在引导过程中及引导之后强制加载不支持的模块,请使用内核命令行选项
oem-modules
。安装和初始化suse-module-tools
软件包时,系统将评估内核标志TAINT_NO_SUPPORT
(/proc/sys/kernel/tainted
)。如果内核已污染,将启用allow_unsupported_modules
。这可以防止不支持的模块在安装的系统中加载失败。如果安装期间没有任何不支持的模块,并且未使用其他特殊的内核命令行选项 (oem-modules=1
),则默认行为仍是禁止不支持的模块。
请记住,加载和运行不支持的模块会导致 SUSE 不支持该内核和整个系统。
47.7 更多信息 #
man supportconfig
—supportconfig
手册页。man supportconfig.conf
— Supportconfig 配置文件的手册页。man scatool
—scatool
手册页。man scadb
—scadb
手册页。man setup-sca
—setup-sca
手册页。https://mariadb.com/kb/en/ — MariaDB 文档。
https://httpd.apache.org/docs/ 和 第 42 章 “Apache HTTP 服务器” — 有关 Apache Web 服务器的文档。
第 43 章 “使用 YaST 设置 FTP 服务器” — 有关如何设置 FTP 服务器的文档。
https://www.suse.com/c/sca-pattern-development/ — 有关如何创建(和测试)您自己的 SCA 模式的说明。
https://www.suse.com/c/basic-server-health-check-supportconfig/ — 使用 Supportconfig 的基本服务器健康状况检查。
https://community.microfocus.com/img/gw/groupwise/w/tips/34308/create-your-own-supportconfig-plugin — 创建自己的 Supportconfig 插件。
https://www.suse.com/c/creating-a-central-supportconfig-repository/ — 创建中心 Supportconfig 储存库。