28.11. ネットワーク可観測性のトラブルシューティング
ネットワーク可観測性の問題のトラブルシューティングを支援するために、いくつかのトラブルシューティングアクションを実行できます。
28.11.1. must-gather ツールの使用
must-gather ツールを使用すると、Pod ログ、FlowCollector
、Webhook
設定などの、Network Observability Operator リソースおよびクラスター全体のリソースに関する情報を収集できます。
手順
- must-gather データを保存するディレクトリーに移動します。
次のコマンドを実行して、クラスター全体の 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 コンソールの 監視 メニューにネットワークトラフィックのメニューエントリーがリストされていない場合は、OpenShift Container Platform コンソールでネットワークトラフィックのメニューエントリーを手動で設定します。
前提条件
- OpenShift Container Platform バージョン 4.10 以降がインストールされている。
手順
次のコマンドを実行して、
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
オプション: Console Operator 設定を手動で編集して、
netobserv-plugin
プラグインを追加します。$ oc edit console.operator.openshift.io cluster
出力例
... spec: plugins: - netobserv-plugin ...
オプション: 次のコマンドを実行して、
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
次のコマンドを実行して、コンソール Pod のステータスが
running
であることを確認します。$ oc get pods -n openshift-console -l app=console
次のコマンドを実行して、コンソール Pod を再起動します。
$ oc delete pods -n openshift-console -l app=console
- ブラウザーのキャッシュと履歴をクリアします。
次のコマンドを実行して、ネットワーク可観測性プラグイン Pod のステータスを確認します。
$ oc get pods -n netobserv -l app=netobserv-plugin
出力例
NAME READY STATUS RESTARTS AGE netobserv-plugin-68c7bbb9bb-b69q6 1/1 Running 0 21s
次のコマンドを実行して、ネットワーク可観測性プラグイン 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. Flowlogs-Pipeline は、Kafka のインストール後にネットワークフローを消費しません
最初に deploymentModel: KAFKA
を使用してフローコレクターをデプロイし、次に Kafka をデプロイした場合、フローコレクターが Kafka に正しく接続されない可能性があります。Flowlogs-pipeline が Kafka からのネットワークフローを消費しないフローパイプライン Pod を手動で再起動します。
手順
次のコマンドを実行して、flow-pipeline Pod を削除して再起動します。
$ oc delete pods -n netobserv -l app=flowlogs-pipeline-transformer
28.11.4. br-int
インターフェイスと br-ex
インターフェイスの両方からのネットワークフローが表示されない
br-ex` と br-int
は、OSI レイヤー 2 で動作する仮想ブリッジデバイスです。eBPF エージェントは、IP レベルと TCP レベル、それぞれレイヤー 3 と 4 で動作します。ネットワークトラフィックが物理ホストや仮想 Pod インターフェイスなどの他のインターフェイスによって処理される場合、eBPF エージェントは br-ex
および br-int
を通過するネットワークトラフィックをキャプチャすることが期待できます。eBPF エージェントのネットワークインターフェイスを br-ex
および br-int
のみに接続するように制限すると、ネットワークフローは表示されません。
ネットワークインターフェイスを br-int
および br-ex
に制限する interfaces
または excludeInterfaces
の部分を手動で削除します。
手順
interfaces: [ 'br-int', 'br-ex' ]
フィールド。これにより、エージェントはすべてのインターフェイスから情報を取得できます。または、レイヤー 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. ネットワーク可観測性コントローラーマネージャー Pod でメモリーが不足しています
ネットワーク可観測性コントローラーマネージャー Pod がメモリー不足になる Cluster Service Version (CSV) にパッチを適用することで、ネットワーク可観測性オペレーターのメモリー制限を増やすことができます。
手順
次のコマンドを実行して、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
次のコマンドを実行して、更新された 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