跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Desktop 文档 / 管理指南 / 查错 / 收集系统信息以供支持所用
适用范围 SUSE Linux Enterprise Desktop 15 SP6

41 收集系统信息以供支持所用

为了让用户快速概览计算机的所有系统相关信息,SUSE Linux Enterprise Desktop 提供了 hostinfo 软件包。该软件包还可以帮助系统管理员检查污染的(不支持的)内核,或者计算机上安装的任何第三方软件包。

出现问题时,可以使用 supportconfig 命令行工具或 YaST 支持模块创建详细的系统报告。这两种方法都会收集系统的相关信息,包括当前内核版本、硬件、已安装软件包、分区设置及其他信息。最后会生成一个包含多个文件的 TAR 存档。在建立服务请求 (SR) 后,您可以将该 TAR 存档上载至全球技术支持。该存档有助于找出您报告的问题,并帮助您解决问题。

此外,您可以分析 supportconfig 输出来发现已知问题,以帮助快速解决问题。为此,SUSE Linux Enterprise Desktop 提供了一个设备和一个命令行工具用于进行 Supportconfig Analysis (SCA)。

41.1 显示当前系统信息

在登录到服务器时,要想快速方便地大致了解所有相关系统信息,请使用软件包 hostinfo。在计算机上安装该软件包后,控制台将会向登录到该计算机的任何 root 用户显示以下信息:

例 41.1︰ 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 内核状态,请参见第 41.6 节 “内核模块支持”以了解更多细节。

41.2 使用 Supportconfig 收集系统信息

要创建包含详细系统信息的 TAR 存档,以提交给全球技术支持,请使用:

  • supportconfig 命令,或者

  • YaST 支持模块。

该命令行工具由默认安装的软件包 supportutils 提供。YaST 支持模块也基于该命令行工具。

某些软件包集成了 Supportconfig 插件。执行 Supportconfig 时,还会执行所有插件,并创建该存档的一个或多个结果文件。这样做的好处是,只有包含特定插件的主题才会被选中。Supportconfig 插件存储在 /usr/lib/supportconfig/plugins/ 目录中。

41.2.1 创建服务请求编号

系统随时都可以生成 Supportconfig 存档。但是,要将 Supportconfig 数据提交给全球技术支持,首先需要生成一个服务请求编号。上载存档以获取支持时,需要使用此编号。

要创建服务请求,请访问 https://scc.suse.com/support/requests 并遵照屏幕上的说明操作。记下服务请求编号。

注意
注意:隐私声明

SUSE 将系统报告视为机密数据。有关我们在隐私方面所做承诺的详细信息,请参见 https://www.suse.com/company/policies/privacy/

41.2.2 上载目标

在创建服务请求编号后,可以根据过程 41.1 “使用 YaST 向支持部门提交信息”过程 41.2 “从命令行向支持部门提交信息”中所述将 Supportconfig 存档上载到全球技术支持站点。使用下列上载目标之一:

或者,可以使用以下服务请求 URL 手动将该 TAR 存档附加到您的服务请求:https://scc.suse.com/support/requests

41.2.3 使用 YaST 创建 supportconfig 存档

要使用 YaST 收集系统信息,请执行以下步骤:

  1. 启动 YaST 并打开支持模块。

    Image
  2. 单击创建报告 tarball

  3. 在随后出现的窗口中,从单选按钮列表中选择一个 Supportconfig 选项。系统默认会预先选择使用自定义(专家)设置。如果要先测试报告功能,请使用仅收集最少量的信息。有关其他选项的更多信息,请参考 supportconfig 手册页。

    单击下一步

  4. 输入您的联系信息。此信息将保存在 basic-environment.txt 文件中,并会包含在创建的存档中。

  5. 要将存档提交到全球技术支持,请提供所需的上载信息。YaST 会自动推荐一个上载服务器。要修改该服务器,请参考第 41.2.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。

    要在以后再提交存档,请将上载信息留空。

  6. 单击下一步启动信息收集过程。

    Image

    该过程完成后,单击下一步

  7. 要查看收集的数据,请从文件名中选择所需的文件,以在 YaST 中查看其内容。在将 TAR 存档提交到支持部门之前,如果要去除该存档中的某个文件,请使用从数据中去除。按下一步

  8. 保存该 TAR 存档。如果您以 root 用户身份启动了 YaST 模块,YaST 会提示您将该存档保存到 /var/log(否则将保存到您的主目录)。文件名格式为 scc_HOST_DATE_TIME.tbz

  9. 要直接将该存档上载到支持部门,请确保将日志文件 tarball 上载到 URL 已激活。此处显示的上载目标步骤 5 中 YaST 推荐的上载目标。要修改上载目标,请在第 41.2.2 节 “上载目标”中检查有哪些可用的上载服务器。

  10. 要跳过上载步骤,请停用将日志文件 tarball 上载到 URL

  11. 确认更改以关闭 YaST 模块。

41.2.4 从命令行创建 supportconfig 存档

下面的过程显示了如何创建 Supportconfig 存档,但不将它直接提交给支持人员。要上载该存档,需要根据过程 41.2 “从命令行向支持部门提交信息”中所述,结合某些选项运行命令。

  1. 打开外壳并切换为 root 用户。

  2. 运行 supportconfig.一般情况下,运行此工具时可以不使用任何选项。不过,也可以使用以下最常见的选项:

    -E MAIL, -N NAME, -O COMPANY, -P PHONE

    设置您的联系数据:电子邮件地址 (-E)、公司名称 (-O)、您的姓名 (-N) 和电话号码 (-P)。

    -i KEYWORDS, -F

    限制检查的功能。KEYWORDS 占位符是区分大小写的关键字的逗号分隔列表。使用 supportconfig -F 可获得所有关键字列表。

    -r SRNUMBER

    定义上载生成的 TAR 存档时所用的服务请求编号。

  3. 等待工具完成操作。

  4. 默认的存档位置为 /var/log,文件名格式为 scc_HOST_DATE_TIME.tbz

41.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
=============================================================================

1

用于存储结果的临时数据目录。此目录存档为 tar 文件,请参见6

2

已成功启用(默认或手动选择)并执行该功能。结果存储在文件中(请参见表 41.1 “TAR 存档中的功能和文件名对照”)。

3

已跳过该功能,因为一个或多个 RPM 软件包的文件发生了更改。

4

已排除该功能,因为已通过 -x 选项取消选择该功能。

5

该脚本发现了一个插件,并执行该插件 pstree。该插件位于 /usr/lib/supportconfig/plugins/ 目录中。有关细节,请参见 手册页。

6

存档的 Tar 文件名,默认使用 xz 压缩。

41.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 轮换日志文件时发生内核崩溃的情况尤为有用。

41.2.7 存档内容概述

TAR 存档包含各功能的所有结果。您可通过 -i 选项来限制功能集(请参见第 41.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 特定的信息,如特定的软件包、配置文件和日志文件。

表 41.1 “TAR 存档中的功能和文件名对照”列出了所有可用的功能及其文件名。后续的服务包或插件将会补充到列表中。

表 41.1︰ TAR 存档中的功能和文件名对照
功能文件名
APPARMORsecurity-apparmor.txt
AUDITsecurity-audit.txt
AUTOFSfs-autofs.txt
BOOTboot.txt
BTRFSfs-btrfs.txt
DAEMONSsystemd.txt
CIMOMcimom.txt
CRASHcrash.txt
CRONcron.txt
DHCPdhcp.txt
DISKfs-diskio.txt
DNSdns.txt
DOCKERdocker.txt
DRBDdrbd.txt
ENVenv.txt
ETCetctxt
HAha.txt
HAPROXYhaproxy.txt
HISTORYshell_history.txt
IBib.txt
IMANnovell-iman.txt
ISCSIfs-iscsi.txt
LDAPldap.txt
LIVEPATCHkernel-livepatch.txt
LVMlvm.txt
MEMmemory.txt
MODmodules.txt
MPIOmpio.txt
NETnetwork-*.txt
NFSnfs.txt
NTPntp.txt
NVMEnvme.txt
OCFS2ocfs2.txt
OFILESopen-files.txt
PRINTprint.txt
PROCproc.txt
SARsar.txt
SLERTslert.txt
SLPslp.txt
SMTsmt.txt
SMARTfs-smartmon.txt
SMBsamba.txt
SRAIDfs-softraid.txt
SSHssh.txt
SSSDsssd.txt
SYSCONFIGsysconfig.txt
SYSFSsysfs.txt
TRANSACTIONALtransactional-update.txt
TUNEDtuned.txt
UDEVudev.txt
UFILESfs-files-additional.txt
UPupdates.txt
WEBweb.txt
Xx.txt

41.3 将信息提交到全球技术支持部门

可以使用 YaST 支持模块或 supportconfig 命令行实用程序向全球技术支持提交系统信息。如果您遇到服务器问题并想要获得支持人员的帮助,则首先需要建立一个服务请求。有关详细信息,请参见第 41.2.1 节 “创建服务请求编号”

以下示例使用 12345678901 作为服务请求编号的占位符。请将 12345678901 替换为您在第 41.2.1 节 “创建服务请求编号”中创建的服务请求编号。

过程 41.1︰ 使用 YaST 向支持部门提交信息

下面的过程假设您已创建某个 Supportconfig 存档,但尚未将其上载。请确保已按第 41.2.3 节 “使用 YaST 创建 supportconfig 存档”中的步骤 4 所述在存档中包含了您的联系信息。有关如何一步生成并提交 Supportconfig 存档的说明,请参见第 41.2.3 节 “使用 YaST 创建 supportconfig 存档”

  1. 启动 YaST 并打开支持模块。

  2. 单击上载

  3. 有日志文件的软件包中,指定现有 Supportconfig 存档的路径,或者单击浏览找到该存档。

  4. YaST 会自动推荐一个上载服务器。要修改该服务器,请参考第 41.2.2 节 “上载目标”,以详细了解可以使用哪些上载服务器。

    Image

    单击下一步继续。

  5. 单击完成

过程 41.2︰ 从命令行向支持部门提交信息

下面的过程假设您已创建某个 Supportconfig 存档,但尚未将其上载。有关如何一步生成并提交 Supportconfig 存档的说明,请参见第 41.2.3 节 “使用 YaST 创建 supportconfig 存档”

  1. 具有互联网连接的服务器:

    1. 要使用默认上载目标,请运行:

      > sudo supportconfig -ur 12345678901
    2. 对于安全上载目标,请使用以下命令:

      > sudo supportconfig -ar 12345678901
  2. 不具有互联网连接的服务器:

    1. 运行以下命令:

      > sudo supportconfig -r 12345678901
    2. /var/log/scc_SR12345678901*tbz 存档手动上载到我们的其中一个 FTP 服务器。要使用哪个服务器取决于您所在的位置。有关概览,请参见第 41.2.2 节 “上载目标”

  3. 将 TAR 存档上载到我们 FTP 服务器的接收目录后,它会自动附加到您的服务请求中。

41.4 分析系统信息

您可以分析使用 supportconfig 创建的系统报告来发现已知问题,以帮助快速解决问题。为此,SUSE Linux Enterprise Desktop 提供了一个设备和一个命令行工具用于进行 Supportconfig Analysis (SCA)。SCA 设备是一个非交互式服务器端工具。SCA 工具(sca-server-report 软件包提供的 scatool)在客户端运行,并通过命令行执行。这两个工具都能分析来自受影响服务器的 Supportconfig 存档。初始服务器分析在 SCA 设备或运行 scatool 的工作站上进行。生产服务器上不发生任何分析周期。

此外,该设备和命令行工具还需要产品特定的模式,这样它们才能分析关联产品的 Supportconfig 输出。每个模式就是一个脚本,用于针对某个已知问题分析和评估 Supportconfig 存档。模式以 RPM 软件包的形式提供。

您也可以根据第 41.4.3 节 “开发自定义分析模式”中的简述开发自己的模式。

41.4.1 SCA 命令行工具

借助 SCA 命令行工具,您可以使用 supportconfig 以及本地计算机上安装的特定产品的分析模式来分析本地计算机。该工具将创建一份 HTML 报告来显示分析结果。有关示例,请参见图 41.1 “SCA 工具生成的 HTML 报告”

SCA 工具生成的 HTML 报告
图 41.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 手册页。

41.4.2 SCA 设备

如果您决定使用 SCA 设备来分析 Supportconfig 存档,请配置一台服务器(或虚拟机)作为专用的 SCA 设备服务器。然后,可以使用该 SCA 设备服务器,对企业中运行 SUSE Linux Enterprise Server 或 SUSE Linux Enterprise Desktop 的所有计算机上的 Supportconfig 存档进行分析。您只需要将 Supportconfig 存档上载到设备服务器,等待它执行分析。此过程无需任何交互。在 MariaDB 数据库中,SCA 设备将会跟踪已分析的所有 Supportconfig 存档。您可以直接从设备 Web 界面阅读 SCA 报告。或者,可以让设备通过电子邮件将 HTML 报告发送给任何管理用户。有关详细信息,请参见第 41.4.2.5.4 节 “通过电子邮件发送 SCA 报告”

41.4.2.1 安装快速入门

要通过命令行快速安装和设置 SCA 设备,请按照此处的说明操作。该过程适用于专家用户,主要通过单纯的安装与设置命令来完成。有关更多信息,请参考第 41.4.2.2 节 “先决条件”第 41.4.2.3 节 “安装和基本设置”中的详细说明。

先决条件
  • Web 和 LAMP 模式

  • Web 和脚本编写模块(您必须注册计算机才能选择此模块)。

注意
注意:需要 root 特权

下面过程中的所有命令必须以 root 身份来运行。

过程 41.3︰ 使用匿名 FTP 进行上载的安装

设置并运行设备后,无需任何人工交互。因此,对于使用 cron 作业创建和上载 Supportconfig 存档的情形,非常适合使用这种方法来设置设备。

  1. 在要安装设备的计算机上,登录到控制台并执行以下命令(确保接受推荐的软件包):

    > 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
  2. 在 YaST FTP 服务器中,选择身份验证 ›  启用上载 ›  允许匿名用户上载 ›  完成 › ,以创建 /srv/ftp/upload

  3. 执行以下命令:

    > sudo systemctl enable mysql
    > sudo systemctl start mysql
    > sudo mysql_secure_installation
    > sudo setup-sca -f

    mysql_secure_installation 将创建 MariaDB root 口令。

过程 41.4︰ 使用 SCP/tmp 进行上载的安装

这种设置设备的方法需要在键入 SSH 口令时进行人工交互。

  1. 在安装设备的计算机上,登录到控制台。

  2. 执行以下命令:

    > 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

41.4.2.2 先决条件

要运行 SCA 设备服务器,需要满足以下先决条件:

  • 所有 sca-appliance-* 软件包。

  • sca-patterns-base 软件包。此外,需要针对您要使用该设备分析的 Supportconfig 存档类型安装任意产品特定的 sca-patterns-*

  • Apache

  • PHP

  • MariaDB

  • 匿名 FTP 服务器(可选)

41.4.2.3 安装和基本设置

第 41.4.2.2 节 “先决条件”中所列,SCA 设备与其他软件包存在若干依赖项。因此,在安装和设置 SCA 设备服务器之前,需要做一些准备工作:

  1. 对于 Apache 和 MariaDB,请安装 WebLAMP 安装软件集。

  2. 设置 Apache 和 MariaDB,并有选择性地设置一个匿名 FTP 服务器。

  3. 将 Apache 和 MariaDB 配置为在引导时启动:

    > sudo systemctl enable apache2 mysql
  4. 启动这两个服务:

    > sudo systemctl start apache2 mysql

现在,您便可以根据过程 41.5 “安装和配置 SCA 设备”中所述安装和设置 SCA 设备。

过程 41.5︰ 安装和配置 SCA 设备

安装这些软件包后,可以使用 setup-sca 脚本来对 SCA 设备使用的 MariaDB 管理与报告数据库进行基本的配置。

使用该脚本可以配置以下选项,以便将 Supportconfig 存档从您的计算机上载到 SCA 设备:

  • scp

  • 匿名 FTP 服务器

  1. 安装设备和 SCA 基本模式库:

    > sudo zypper install sca-appliance-* sca-patterns-base
  2. 此外,请针对您要分析的 Supportconfig 存档类型安装模式软件包。例如,如果您的环境中安装了 SUSE Linux Enterprise Server 12 和 SUSE Linux Enterprise Server 15 服务器,请安装 sca-patterns-sle12sca-patterns-sle15 这两个软件包。

    安装所有可用模式:

    > sudo zypper install sca-patterns-*
  3. 要对 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 用户口令。

  4. 输入现有的 MariaDB root 口令。SCA 设备将使用该口令连接到 MariaDB。

  5. 定义 Web 用户的口令。该口令将写入 /srv/www/htdocs/sca/web-config.php,并设置为用户 scdiag 的口令。以后,您可随时更改用户名和口令,请参见第 41.4.2.5.1 节 “Web 界面的口令”

在成功完成安装和设置后,便可以开始使用 SCA 设备,请参见第 41.4.2.4 节 “使用 SCA 设备”。但是,您应该修改一些选项,例如更改 Web 界面的口令,更改 SCA 模式更新源,启用存档模式,或者配置电子邮件通知。有关细节,请参见第 41.4.2.5 节 “自定义 SCA 设备”

警告
警告:数据保护

由于 SCA 设备服务器上的报告包含安全相关信息,因此,必须保护好 SCA 设备服务器上的数据,以防未经授权的人员访问。

41.4.2.4 使用 SCA 设备

您可以将现有的 Supportconfig 存档手动上载到 SCA 设备,也可以一步即完成创建新 Supportconfig 存档并上载到 SCA 设备的操作。可以通过 FTP 或 SCP 来上载存档。对于这两种上载方式,您需要知道可用来访问 SCA 设备的 URL。要通过 FTP 上载,需要为 SCA 设备配置一台 FTP 服务器,请参见过程 41.5 “安装和配置 SCA 设备”

41.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)。

41.4.2.4.2 查看 SCA 报告

可以在装有浏览器并可以访问 SCA 设备报告索引页的任何计算机上查看 SCA 报告。

  1. 启动 Web 浏览器并确保 JavaScript 和 Cookie 已启用。

  2. 输入 SCA 设备的报告索引页作为 URL。

    https://sca-appliance.company.com/sca

    如果有任何疑问,请咨询系统管理员。

  3. 系统将提示您输入用于登录的用户名和口令。

    SCA 设备生成的 HTML 报告
    图 41.2︰ SCA 设备生成的 HTML 报告
  4. 登录后,单击您想要阅读的报告的日期。

  5. 首先单击基本健康状况类别将其展开。

  6. 消息列中单击某一个项。SUSE 知识库中的相应文章即会打开。阅读建议的解决方案,并遵循所述的说明。

  7. 如果 Supportconfig 分析报告解决方案列显示了其他项,请单击这些项。阅读建议的解决方案,并遵循所述的说明。

  8. 请查看 SUSE 知识库 (https://www.suse.com/support/kb/),以了解与 SCA 发现的问题直接相关的结果。设法解决这些问题。

  9. 查看可前瞻性处理的结果,以免将来发生问题。

41.4.2.5 自定义 SCA 设备

以下几节显示了如何更改 Web 界面的口令、更改 SCA 模式更新源、启用存档模式以及配置电子邮件通知。

41.4.2.5.1 Web 界面的口令

SCA 设备 Web 界面要求使用用户名和口令登录。默认的用户名为 scdiag,默认的口令为 linux(如果未另行指定,请参见过程 41.5 “安装和配置 SCA 设备”)。请尽早将默认口令更改为较为安全的口令。您也可以修改用户名。

过程 41.6︰ 更改 Web 界面的用户名或口令
  1. 在 SCA 设备服务器的系统控制台上以 root 用户身份登录。

  2. 在编辑器中打开 /srv/www/htdocs/sca/web-config.php

  3. 根据需要更改 $username$password 的值。

  4. 保存文件并退出。

41.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 服务器上,将从该服务器提取软件包。

过程 41.7︰ 禁用 SCA 模式的自动更新
  1. 在 SCA 设备服务器的系统控制台上以 root 用户身份登录。

  2. 在编辑器中打开 /etc/sca/sdagent-patterns.conf

  3. 将项

    UPDATE_FROM_PATTERN_REPO=1

    更改为

    UPDATE_FROM_PATTERN_REPO=0
  4. 保存文件并退出。计算机无需重启动就能应用更改。

41.4.2.5.3 存档模式

系统在分析了 Supportconfig 存档并将其结果存储在 MariaDB 数据库中后,会从 SCA 设备中删除所有这些存档。但是,如果要进行查错,在计算机中保留 Supportconfig 存档的副本可能会比较实用。默认情况下,存档模式处于禁用状态。

过程 41.8︰ 在 SCA 设备中启用存档模式
  1. 在 SCA 设备服务器的系统控制台上以 root 用户身份登录。

  2. 在编辑器中打开 /etc/sca/sdagent.conf

  3. 将项

    ARCHIVE_MODE=0

    更改为

    ARCHIVE_MODE=1
  4. 保存文件并退出。计算机无需重启动就能应用更改。

启用存档模式后,SCA 设备会将 Supportconfig 文件保存到 /var/log/archives/saved 目录,而不会将其删除。

41.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 报告。

过程 41.9︰ 为 SCA 报告配置电子邮件通知
  1. 在 SCA 设备服务器的系统控制台上以 root 用户身份登录。

  2. 在编辑器中打开 /etc/sca/sdagent.conf

  3. 搜索 STATUS_NOTIFY_LEVEL 项。该项默认设置为 $STATUS_OFF(禁用电子邮件通知)。

  4. 要启用电子邮件通知,请将 $STATUS_OFF 更改为要针对其生成电子邮件报告的状态消息的级别,例如:

    STATUS_NOTIFY_LEVEL=$STATUS_SUCCESS

    有关详细信息,请参见STATUS_NOTIFY_LEVEL 的可能值

  5. 定义要将报告发送到的收件人列表:

    1. 搜索 EMAIL_REPORT='root' 项。

    2. root 替换为要向其发送 SCA 报告的电子邮件地址列表。各电子邮件地址必须以空格分隔。例如:

      EMAIL_REPORT='tux@my.company.com wilber@your.company.com'
  6. 保存文件并退出。计算机无需重启动就能应用更改。以后生成的所有 SCA 报告都将通过电子邮件发送到指定的地址。

41.4.2.6 备份和恢复数据库

要备份和恢复用于存储 SCA 报告的 MariaDB 数据库,请按如下所述使用 scadb 命令。scadb 由软件包 sca-appliance-broker 提供。

过程 41.10︰ 备份数据库
  1. 在运行 SCA 设备的服务器的系统控制台上以 root 用户身份登录。

  2. 通过执行以下命令将设备置于维护模式:

    # scadb maint
  3. 使用以下命令启动备份进程:

    # scadb backup

    数据将保存到 TAR 存档 sca-backup-*sql.gz 中。

  4. 如果您正在使用模式创建数据库开发自己的模式(参见第 41.4.3 节 “开发自定义分析模式”),则还要备份以下数据:

    # sdpdb backup

    数据将保存到 TAR 存档 sdp-backup-*sql.gz 中。

  5. 将以下数据复制到另一台计算机或外部存储媒体:

    • sca-backup-*sql.gz

    • sdp-backup-*sql.gz

    • /usr/lib/sca/patterns/local(仅当您已创建自定义模式时才需要复制该数据)

  6. 使用以下命令重新激活 SCA 设备:

    # scadb reset agents
过程 41.11︰ 恢复数据库

要基于备份恢复数据库,请按如下所述操作:

  1. 在运行 SCA 设备的服务器的系统控制台上以 root 用户身份登录。

  2. 将最新的 sca-backup-*sql.gzsdp-backup-*sql.gz TAR 存档复制到 SCA 设备服务器。

  3. 要解压缩文件,请运行:

    # gzip -d *-backup-*sql.gz
  4. 要将数据导入数据库,请执行:

    # scadb import sca-backup-*sql
  5. 如果您正在使用模式创建数据库创建自己的模式,则还要通过以下命令导入以下数据:

    # sdpdb import sdp-backup-*sql
  6. 如果您正在使用自定义模式,则还要基于备份数据恢复 /usr/lib/sca/patterns/local

  7. 使用以下命令重新激活 SCA 设备:

    # scadb reset agents
  8. 使用以下命令更新数据库中的模式模块:

    # sdagent-patterns -u

41.4.3 开发自定义分析模式

SCA 设备随附了一个完整的模式开发环境(SCA 模式数据库),可让您开发自己的自定义模式。模式可用任何编程语言编写。要使这些模式可用于 Supportconfig 分析过程,需要将其保存到 /usr/lib/sca/patterns/local 并使其可执行。然后,SCA 设备和 SCA 工具将会针对作为分析报告一部分的新 Supportconfig 存档运行这些自定义模式。有关如何创建(和测试)自己的模式的详细说明,请参见https://www.suse.com/c/sca-pattern-development/

41.5 在安装期间收集信息

在安装过程中,supportconfig 不可用。不过,您可以使用 save_y2logs 从 YaST 收集日志文件。该命令会在 /tmp 目录下创建一个 .tar.xz 存档。

如果在安装过程的早期就出现问题,您或许可以通过 linuxrc 创建的日志文件收集信息。linuxrc 是一个在 YaST 启动之前运行的小命令。该日志文件位于 /var/log/linuxrc.log

重要
重要:安装日志文件在已安装系统中不可用

日志文件在安装过程中可用,但在已安装好的系统中却不可用。当安装程序仍在运行时,请正确保存安装日志文件。

41.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 的状态。

41.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 标志的值。如果该值为 yesexternal,则会加载该模块,否则不会。有关如何覆盖此行为的信息,请参见第 41.6.2 节 “使用不支持的模块”

    注意
    注意:支持

    SUSE 一般不支持通过 modprobe -r 去除存储模块。

41.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.confsuse-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 不支持该内核和整个系统。

41.7 更多信息