搜索

28.11. Network Observability 故障排除

download PDF

为了协助对 Network Observability 问题进行故障排除,可以执行一些故障排除操作。

28.11.1. 使用 must-gather 工具

您可以使用 must-gather 工具来收集有关 Network Observability Operator 资源和集群范围资源的信息,如 pod 日志、FlowCollectorWebhook 配置。

流程

  1. 进入到要存储 must-gather 数据的目录。
  2. 运行以下命令来收集集群范围的 must-gather 资源:

    $ oc adm must-gather
     --image-stream=openshift/must-gather \
     --image=quay.io/netobserv/must-gather

28.11.2. 在 OpenShift Container Platform 控制台中配置网络流量菜单条目

当网络流量菜单条目没有在 OpenShift Container Platform 控制台的 Observe 菜单中列出时,在 OpenShift Container Platform 控制台中手动配置网络流量菜单条目。

先决条件

  • 已安装 OpenShift Container Platform 版本 4.10 或更高版本。

流程

  1. 运行以下命令,检查 spec.consolePlugin.register 字段是否已设置为 true

    $ oc -n netobserv get flowcollector cluster -o yaml

    输出示例

    apiVersion: flows.netobserv.io/v1alpha1
    kind: FlowCollector
    metadata:
      name: cluster
    spec:
      consolePlugin:
        register: false

  2. 可选:通过手动编辑 Console Operator 配置来添加 netobserv-plugin 插件:

    $ oc edit console.operator.openshift.io cluster

    输出示例

    ...
    spec:
      plugins:
      - netobserv-plugin
    ...

  3. 可选:运行以下命令,将 spec.consolePlugin.register 字段设置为 true

    $ oc -n netobserv edit flowcollector cluster -o yaml

    输出示例

    apiVersion: flows.netobserv.io/v1alpha1
    kind: FlowCollector
    metadata:
      name: cluster
    spec:
      consolePlugin:
        register: true

  4. 运行以下命令,确保控制台 pod 的状态为 running

    $ oc get pods -n openshift-console -l app=console
  5. 运行以下命令重启控制台 pod:

    $ oc delete pods -n openshift-console -l app=console
  6. 清除浏览器缓存和历史记录。
  7. 运行以下命令,检查 Network Observability 插件 pod 的状态:

    $ oc get pods -n netobserv -l app=netobserv-plugin

    输出示例

    NAME                                READY   STATUS    RESTARTS   AGE
    netobserv-plugin-68c7bbb9bb-b69q6   1/1     Running   0          21s

  8. 运行以下命令,检查 Network Observability 插件 pod 的日志:

    $ oc logs -n netobserv -l app=netobserv-plugin

    输出示例

    time="2022-12-13T12:06:49Z" level=info msg="Starting netobserv-console-plugin [build version: , build date: 2022-10-21 15:15] at log level info" module=main
    time="2022-12-13T12:06:49Z" level=info msg="listening on https://:9001" module=server

28.11.3. 安装 Kafka 后 Flowlogs-Pipeline 不会消耗网络流

如果您首先使用 deploymentModel: KAFKA 部署了流收集器,然后部署 Kafka,则流收集器可能无法正确连接到 Kafka。手动重启 flow-pipeline pod,其中 Flowlogs-pipeline 不使用 Kafka 中的网络流。

流程

  1. 运行以下命令,删除 flow-pipeline pod 来重启它们:

    $ oc delete pods -n netobserv -l app=flowlogs-pipeline-transformer

28.11.4. 无法从 br-intbr-ex 接口查看网络流

br-ex' 和 br-int 是 OSI 第 2 层操作的虚拟网桥设备。eBPF 代理分别在 IP 和 TCP 级别(第 3 和 4 层)中工作。当网络流量由物理主机或虚拟 pod 接口处理时,您可以预期 eBPF 代理捕获通过 br-exbr-int 的网络流量。如果您限制 eBPF 代理网络接口只附加到 br-exbr-int,则不会看到任何网络流。

手动删除限制网络接口到 br-intbr-exinterfacesexcludeInterfaces 中的部分。

流程

  1. 删除 interfaces: [ 'br-int', 'br-ex' ] 字段。这允许代理从所有接口获取信息。或者,您可以指定 Layer-3 接口,例如 eth0。运行以下命令:

    $ oc edit -n netobserv flowcollector.yaml -o yaml

    输出示例

    apiVersion: flows.netobserv.io/v1alpha1
    kind: FlowCollector
    metadata:
      name: cluster
    spec:
      agent:
        type: EBPF
        ebpf:
          interfaces: [ 'br-int', 'br-ex' ] 1

    1
    指定网络接口。

28.11.5. Network Observability 控制器管理器 pod 内存不足

您可以通过修补 Cluster Service Version (CSV) 来增加 Network Observability Operator 的内存限值,其中 Network Observability 控制器管理器 pod 内存不足。

流程

  1. 运行以下命令来修补 CSV:

    $ oc -n netobserv patch csv network-observability-operator.v1.0.0 --type='json' -p='[{"op": "replace", "path":"/spec/install/spec/deployments/0/spec/template/spec/containers/0/resources/limits/memory", value: "1Gi"}]'

    输出示例

    clusterserviceversion.operators.coreos.com/network-observability-operator.v1.0.0 patched

  2. 运行以下命令来查看更新的 CSV:

    $ oc -n netobserv get csv network-observability-operator.v1.0.0 -o jsonpath='{.spec.install.spec.deployments[0].spec.template.spec.containers[0].resources.limits.memory}'
    1Gi
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.