13.2. 为红帽支持收集数据


当您向红帽支持 提交支持问题单 时,使用以下工具为 OpenShift Container Platform 和 OpenShift Virtualization 提供调试信息会很有帮助:

must-gather 工具
must-gather 工具收集诊断信息,包括资源定义和服务日志。
Prometheus
Prometheus 是一个时间序列数据库和用于指标的规则评估引擎。Prometheus 将警报发送到 Alertmanager 进行处理。
Alertmanager
Alertmanager 服务处理从 Prometheus 接收的警报。Alertmanager 还负责将警报发送到外部通知系统。

如需有关 OpenShift Container Platform 监控堆栈的信息,请参阅关于 OpenShift Container Platform 监控

13.2.1. 收集有关环境的数据

收集有关环境的数据可最小化分析和确定根本原因所需的时间。

先决条件

13.2.2. 收集虚拟机的数据

收集有关出现故障的虚拟机 (VM) 的数据可最小化分析和确定根本原因所需的时间。

先决条件

流程

  1. 使用 /usr/bin/gather 脚本为虚拟机收集 must-gather 数据
  2. 收集在重启崩溃的虚拟机截图。
  3. 在修复尝试从虚拟机收集内存转储
  4. 记录出现故障的虚拟机通常具有的因素。例如,虚拟机具有相同的主机或网络。

13.2.3. 为 OpenShift Virtualization 使用 must-gather 工具

您可以使用 OpenShift Virtualization 镜像运行 must-gather 命令收集有关 OpenShift Virtualization 资源的数据。

默认数据收集包含有关以下资源的信息:

  • OpenShift Virtualization Operator 命名空间,包括子对象
  • OpenShift Virtualization 自定义资源定义
  • 包含虚拟机的命名空间
  • 基本虚拟机定义

默认情况下,目前不收集实例类型信息;但是,您可以运行一个命令来选择性地收集它。

流程

  • 运行以下命令来收集有关 OpenShift Virtualization 的数据:

    $ oc adm must-gather \
      --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.14.10 \
      -- /usr/bin/gather

13.2.3.1. must-gather 工具选项

您可以为以下选项指定脚本和环境变量组合:

  • 从命名空间收集详细虚拟机 (VM) 信息
  • 收集指定虚拟机的详细信息
  • 收集镜像、image-stream 和 image-stream-tags 信息
  • 限制 must-gather 工具使用的最大并行进程数
13.2.3.1.1. 参数

环境变量

您可以为兼容脚本指定环境变量。

NS=<namespace_name>
从您指定的命名空间中收集虚拟机信息,包括 virt-launcher pod 详情。为所有命名空间收集 VirtualMachineVirtualMachineInstance CR 数据。
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 变量兼容。
/usr/bin/gather --instancetypes
收集实例类型信息。默认情况下,目前不收集这些信息;但是,您可以选择性地收集这些信息。
13.2.3.1.2. 使用和示例

环境变量是可选的。您可以自行运行脚本,也可以使用一个或多个兼容环境变量来运行脚本。

表 13.2. 兼容参数
脚本兼容环境变量

/usr/bin/gather

* PROS=<number_of_processes>

/usr/bin/gather --vms_details

* 对于命名空间:NS=<namespace_name>

* 对于虚拟机:VM=<vm_name> NS=<namespace_name>

* PROS=<number_of_processes>

/usr/bin/gather --images

* PROS=<number_of_processes>

语法

$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.14.10 \
  -- <environment_variable_1> <environment_variable_2> <script_name>

默认数据收集并行进程

默认情况下,五个进程并行运行。

$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.14.10 \
  -- PROS=5 /usr/bin/gather 1
1
您可以通过更改默认值来修改并行进程的数量。

详细虚拟机信息

以下命令在 mynamespace 命名空间中收集 my-vm 虚拟机的详细虚拟机信息:

$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.14.10 \
  -- NS=mynamespace VM=my-vm /usr/bin/gather --vms_details 1
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-rhel9:v4.14.10 \
  /usr/bin/gather --images

实例类型信息

以下命令从集群收集实例类型信息:

$ oc adm must-gather \
  --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.14.10 \
  /usr/bin/gather --instancetypes
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.