第 2 章 经常发生的错误条件
当 Collector 配置其自身并为系统查找或下载内核驱动程序时,Collector 启动过程中会出现大多数错误。
下图显示了 Collector 启动过程的主要部分:
图 2.1. 收集器 pod 启动过程
如果启动过程中的任何部分失败,日志会显示一个诊断概述,详细描述了哪些步骤成功或失败。
以下日志文件示例演示了成功启动:
[INFO 2022/11/28 13:21:55] == Collector Startup Diagnostics: == [INFO 2022/11/28 13:21:55] Connected to Sensor? true [INFO 2022/11/28 13:21:55] Kernel driver available? true [INFO 2022/11/28 13:21:55] Driver loaded into kernel? true [INFO 2022/11/28 13:21:55] ====================================
[INFO 2022/11/28 13:21:55] == Collector Startup Diagnostics: ==
[INFO 2022/11/28 13:21:55] Connected to Sensor? true
[INFO 2022/11/28 13:21:55] Kernel driver available? true
[INFO 2022/11/28 13:21:55] Driver loaded into kernel? true
[INFO 2022/11/28 13:21:55] ====================================
日志输出确认 Collector 连接到 Sensor 并加载内核驱动程序。您可以使用此日志检查 Collector 是否成功启动。
2.1. 无法连接到 Sensor 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在启动时,首先检查您可以连接到 Sensor。Sensor 负责下载处理网络事件的内核驱动程序和 CIDR 块,使其成为启动过程的基本部分。以下日志表示您无法连接到 Sensor:
这个错误可能意味着 Sensor 没有正确启动,或者 Collector 配置不正确。要解决这个问题,您必须验证 Collector 配置以确保 Sensor 地址正确,并且 Sensor pod 正常运行。
查看 Collector 日志,以专门检查配置的 Sensor 地址。另外,您可以运行以下命令:
kubectl -n stackrox get pod <collector_pod_name> -o jsonpath='{.spec.containers[0].env[?(@.name=="GRPC_SERVER")].value}'
$ kubectl -n stackrox get pod <collector_pod_name> -o jsonpath='{.spec.containers[0].env[?(@.name=="GRPC_SERVER")].value}'
- 1
- 对于
<collector_pod_name>
,指定 Collector pod 的名称,如collector-vclg5
。