×

故障排除的第一步是检索日志和 pod 状态。日志允许您识别错误的根本原因。此外,检查 pod 的最新状态可以提供有关失败消息的信息。

检索 Collector 日志

首先,您应该检查来自故障 Collector 的日志。根据您的环境和访问权限,您可以通过两种方式获取这些日志

使用ockubectl命令检索日志

您可以使用ockubectl命令从正在运行的 Collector pod 获取日志。或者,如果您当前的 Collector pod 正在重启,您甚至可以检查以前 Collector pod 的日志。

先决条件
  • 确保您有权限列出 Pod 和日志。

    $ oc auth can-i get pods && oc auth can-i get pods --subresource=logs (1)
    1 如果您使用 Kubernetes,请使用 kubectl 代替 oc
步骤
  1. 列出所有带有标签 app=collector 的 Pod。

    $ oc get pods -n stackrox -l app=collector (1)
    1 如果您使用 Kubernetes,请使用 kubectl 代替 oc
    示例输出
    collector-vclg5    1/2     CrashLoopBackOff   2 (25s ago)   2m41s+
  2. 获取 Collector Pod 的日志。

    $ oc logs -n stackrox <collector_pod_name> collector (1)
    1 如果您使用 Kubernetes,请使用 kubectl 代替 oc。对于 <collector_pod_name>,请指定您的 Collector Pod 的名称,例如 collector-vclg5
  3. (可选) 如果当前 Collector Pod 正在重启,您可以检查之前的 Collector Pod 的日志。

    $ oc logs -n stackrox <collector_pod_name> collector --previous (1)
    1 如果您使用 Kubernetes,请使用 kubectl 代替 oc。对于 <collector_pod_name>,请指定您的 Collector Pod 的名称,例如 collector-vclg5

从 RHACS 诊断包中检索日志

您还可以通过从 Red Hat Advanced Cluster Security for Kubernetes (RHACS) 用户界面下载诊断包来访问 Collector 日志。下载诊断包后,您可以检查所有 Collector Pod 的日志。更多信息,请参见 生成诊断包

分析 Collector Pod 状态

检查 Pod 最近的状态是确定 Collector 崩溃原因的另一种简单方法。错误消息记录到最近的状态中,并且可以使用 kubectl describe podoc describe pod 命令访问。

步骤
  • 描述 Collector Pod

    $ oc describe pod -n stackrox <collector_pod_name> (1)
    1 如果您使用 Kubernetes,请使用 kubectl 代替 oc。对于 <collector_pod_name>,请指定您的 Collector Pod 的名称,例如 collector-vclg5
    示例输出
    # ...
        Last State:     Terminated
          Reason:       Error
          Message:      No suitable kernel object downloaded (1)
          Exit Code:    1
          Started:      Fri, 21 Oct 2022 11:50:56 +0100
          Finished:     Fri, 21 Oct 2022 11:51:25 +0100
    # ...
    1 在这个例子中,您可以看到 Collector 无法下载内核驱动程序。