15.15. 为红帽支持收集数据
当您向红帽支持 提交支持问题单 时,使用以下工具为 OpenShift Container Platform 和 OpenShift Virtualization 提供调试信息会很有帮助:
- must-gather 工具
-
must-gather工具收集诊断信息,包括资源定义和服务日志。 - Prometheus
- Prometheus 是一个时间序列数据库和用于指标的规则评估引擎。Prometheus 将警报发送到 Alertmanager 进行处理。
- Alertmanager
- Alertmanager 服务处理从 Prometheus 接收的警报。Alertmanager 还负责将警报发送到外部通知系统。
15.15.1. 收集有关环境的数据 复制链接链接已复制到粘贴板!
收集有关环境的数据可最小化分析和确定根本原因所需的时间。
先决条件
- 将 Prometheus 指标数据的保留时间设置为最少 7 天。
- 配置 Alertmanager 以捕获相关的警报并将其发送到专用邮箱,以便可以在集群外部查看和保留它们。
- 记录受影响的节点和虚拟机的确切数量。
步骤
-
使用默认的
must-gather镜像为集群收集must-gather数据。 -
如有必要,为 Red Hat OpenShift Data Foundation 收集
must-gather数据。 -
使用 OpenShift Virtualization
must-gather镜像收集 OpenShift Virtualization 的must-gather数据。 - 收集集群的 Prometheus 指标。
15.15.2. 收集虚拟机的数据 复制链接链接已复制到粘贴板!
收集有关出现故障的虚拟机 (VM) 的数据可最小化分析和确定根本原因所需的时间。
先决条件
Windows 虚拟机:
- 记录红帽支持的 Windows 补丁更新详情。
- 安装最新版本的 VirtIO 驱动程序。VirtIO 驱动程序包括 QEMU 客户机代理。
- 如果启用了远程桌面协议 (RDP),请尝试通过 RDP 连接到虚拟机,以确定是否存在与连接软件相关的问题。
步骤
-
收集故障虚拟机的详细
must-gather数据。 - 收集在重启前崩溃的虚拟机截图。
- 记录出现故障的虚拟机通常具有的因素。例如,虚拟机具有相同的主机或网络。
15.15.3. 为 OpenShift Virtualization 使用 must-gather 工具 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Virtualization 镜像运行 must-gather 命令收集有关 OpenShift Virtualization 资源的数据。
默认数据收集包含有关以下资源的信息:
- OpenShift Virtualization Operator 命名空间,包括子对象
- OpenShift Virtualization 自定义资源定义
- 包含虚拟机的命名空间
- 基本虚拟机定义
流程
运行以下命令来收集有关 OpenShift Virtualization 的数据:
oc adm must-gather --image-stream=openshift/must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20
$ oc adm must-gather --image-stream=openshift/must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20Copy to Clipboard Copied! Toggle word wrap Toggle overflow
15.15.3.1. must-gather 工具选项 复制链接链接已复制到粘贴板!
您可以为以下选项指定脚本和环境变量组合:
- 从命名空间收集详细虚拟机 (VM) 信息
- 收集指定虚拟机的详细信息
- 收集镜像、image-stream 和 image-stream-tags 信息
-
限制
must-gather工具使用的最大并行进程数
15.15.3.1.1. 参数 复制链接链接已复制到粘贴板!
环境变量
您可以为兼容脚本指定环境变量。
NS=<namespace_name>-
从您指定的命名空间中收集虚拟机信息,包括
virt-launcherpod 详情。为所有命名空间收集VirtualMachine和VirtualMachineInstanceCR 数据。 VM=<vm_name>-
收集特定虚拟机的详情。要使用这个选项,还必须使用
NS环境变量指定命名空间。 PROS=<number_of_processes>修改
must-gather工具使用的最大并行进程数。默认值为5。重要使用太多的并行进程可能会导致性能问题。不建议增加并行进程的最大数量。
脚本
每个脚本仅与某些环境变量组合兼容。
/usr/bin/gather-
使用默认
must-gather脚本,从所有命名空间中收集集群数据,且仅包含基本的虚拟机信息。此脚本只与PROS变量兼容。 /usr/bin/gather --vms_details-
收集属于 OpenShift Virtualization 资源的虚拟机日志文件、虚拟机定义、control-plane 日志和命名空间。指定命名空间包括其子对象。如果您在指定命名空间或虚拟机的情况下使用这个参数,
must-gather工具会为集群中的所有虚拟机收集这个数据。此脚本与所有环境变量兼容,但是如果使用VM变量,则必须指定一个命名空间。 /usr/bin/gather --images-
收集镜像、image-stream 和 image-stream-tags 自定义资源信息。此脚本只与
PROS变量兼容。
15.15.3.1.2. 使用和示例 复制链接链接已复制到粘贴板!
环境变量是可选的。您可以自行运行脚本,也可以使用一个或多个兼容环境变量来运行脚本。
| 脚本 | 兼容环境变量 |
|---|---|
|
|
|
|
|
|
|
|
|
语法
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \ -- <environment_variable_1> <environment_variable_2> <script_name>
$ oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \
-- <environment_variable_1> <environment_variable_2> <script_name>
默认数据收集并行进程
默认情况下,五个进程并行运行。
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \ -- PROS=5 /usr/bin/gather
$ oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \
-- PROS=5 /usr/bin/gather
- 1
- 您可以通过更改默认值来修改并行进程的数量。
详细虚拟机信息
以下命令在 mynamespace 命名空间中收集 my-vm 虚拟机的详细虚拟机信息:
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \ -- NS=mynamespace VM=my-vm /usr/bin/gather --vms_details
$ oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \
-- NS=mynamespace VM=my-vm /usr/bin/gather --vms_details
- 1
- 如果您使用
VM环境变量,则需要NS环境变量。
image、image-stream 和 image-stream-tags 信息
以下命令从集群中收集镜像、image-stream 和 image-stream-tags 信息:
oc adm must-gather \ --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \ -- /usr/bin/gather --images
$ oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.12.20 \
-- /usr/bin/gather --images