第7章 ネットワークトラフィックの監視


管理者は、OpenShift Container Platform コンソールでネットワークトラフィックを観察して、詳細なトラブルシューティングと分析を行うことができます。この機能は、トラフィックフローのさまざまなグラフィカル表現から洞察を得るのに役立ちます。ネットワークトラフィックを観察するために使用できるビューがいくつかあります。

7.1. Overview ビューからのネットワークトラフィックの監視

Overview ビューには、クラスター上のネットワークトラフィックフローの集約された全体的なメトリクスが表示されます。管理者は、使用可能な表示オプションを使用して統計を監視できます。

7.1.1. 概要ビューの操作

管理者は、Overview ビューに移動して、フローレートの統計をグラフィカルに表示できます。

手順

  1. Observe Network Traffic に移動します。
  2. ネットワークトラフィック ページで、Overview タブをクリックします。

メニューアイコンをクリックすると、各流量データの範囲を設定できます。

7.1.2. 概要ビューの詳細オプションの設定

詳細オプションを使用して、グラフィカルビューをカスタマイズできます。詳細オプションにアクセスするには、Show advanced options をクリックします。Display options ドロップダウンメニューを使用して、グラフの詳細を設定できます。利用可能なオプションは次のとおりです。

  • Scope: ネットワークトラフィックが流れるコンポーネントを表示する場合に選択します。スコープは、NodeNamespaceOwnerZonesCluster、または Resource に設定できます。Owner はリソースの集合体です。Resource は、ホストネットワークトラフィックの場合は Pod、サービス、ノード、または不明な IP アドレスです。デフォルト値は Namespace です。
  • Truncate labels: ドロップダウンリストから必要なラベルの幅を選択します。デフォルト値は M です。

7.1.2.1. パネルとディスプレイの管理

表示する必要なパネルを選択したり、並べ替えたり、特定のパネルに焦点を当てたりすることができます。パネルを追加または削除するには、Manage panels をクリックします。

デフォルトでは、次のパネルが表示されます。

  • 上位 X の平均バイトレート
  • 上位 X のバイトレートと合計の積み上げ値

他のパネルは Manage panels で追加できます。

  • 上位 X の平均パケットレート
  • 上位 X のパケットレートと合計の積み上げ値

Query options を使用すると、Top 5Top 10、または Top 15 のレートを表示するかどうかを選択できます。

7.1.3. パケットドロップの追跡

Overview ビューで、パケットロスが発生したネットワークフローレコードのグラフィック表示を設定できます。eBPF トレースポイントフックを採用すると、TCP、UDP、SCTP、ICMPv4、ICMPv6 プロトコルのパケットドロップに関する貴重な知見を得ることができ、その結果、以下のアクションにつながる可能性があります。

  • 識別: パケットドロップが発生している正確な場所とネットワークパスを特定します。ドロップが発生しやすい特定のデバイス、インターフェイス、またはルートがあるか判断します。
  • 根本原因分析: eBPF プログラムによって収集されたデータを調査し、パケットドロップの原因を把握します。たとえば、輻輳、バッファーの問題、特定のネットワークイベントなどの原因です。
  • パフォーマンスの最適化: パケットドロップをより明確に把握し、バッファーサイズの調整、ルーティングパスの再設定、Quality of Service (QoS) 対策の実装など、ネットワークパフォーマンスを最適化するための手順を実行できます。

パケットドロップの追跡が有効になっている場合、デフォルトで Overview に次のパネルが表示されます。

  • 上位 X のパケットドロップの状態と合計の積み上げ値
  • 上位 X のパケットドロップの原因と合計の積み上げ値
  • 上位 X の平均パケットドロップレート
  • 上位 X のパケットドロップレートと合計の積み上げ値

他のパケットドロップパネルは Manage panels で追加できます。

  • 上位 X の平均ドロップバイトレート
  • 上位 X の平均ドロップバイトレートと合計の積み上げ値

7.1.3.1. パケットドロップの種類

Network Observability では、ホストドロップと OVS ドロップという 2 種類のパケットドロップが検出されます。ホストドロップには SKB_DROP という接頭辞が付き、OVS ドロップには OVS_DROP という接頭辞が付きます。ドロップされたフローは、各ドロップタイプの説明へのリンクとともに、Traffic flows テーブルのサイドパネルに表示されます。ホストドロップの理由の例は次のとおりです。

  • SKB_DROP_REASON_NO_SOCKET: ソケットが検出されないため、パケットがドロップされました。
  • SKB_DROP_REASON_TCP_CSUM: TCP チェックサムエラーによりパケットがドロップされました。

OVS ドロップの理由の例は次のとおりです。

  • OVS_DROP_LAST_ACTION: 暗黙的なドロップアクション (設定されたネットワークポリシーなど) によりドロップされた OVS パケット。
  • OVS_DROP_IP_TTL: IP TTL の期限切れにより OVS パケットがドロップされました。

パケットドロップの追跡を有効化および使用する方法の詳細は、このセクションの 関連情報 を参照してください。

7.1.4. DNS 追跡

Overview ビューで、ネットワークフローの Domain Name System (DNS) 追跡のグラフィカル表示を設定できます。拡張 Berkeley Packet Filter (eBPF) トレースポイントフックを使用する DNS 追跡は、さまざまな目的に使用できます。

  • ネットワーク監視: DNS クエリーと応答に関する知見を得ることで、ネットワーク管理者は異常パターン、潜在的なボトルネック、またはパフォーマンスの問題を特定できます。
  • セキュリティー分析: マルウェアによって使用されるドメイン名生成アルゴリズム (DGA) などの不審な DNS アクティビティーを検出したり、セキュリティーを侵害する可能性のある不正な DNS 解決を特定したりします。
  • トラブルシューティング: DNS 解決手順を追跡し、遅延を追跡し、設定ミスを特定することにより、DNS 関連の問題をデバッグします。

デフォルトでは、DNS 追跡が有効になっている場合、Overview に、次の空でないメトリクスがドーナツグラフまたは折れ線グラフで表示されます。

  • 上位 X の DNS レスポンスコード
  • 上位 X の平均 DNS 遅延と合計
  • 上位 X の 90 パーセンタイルの DNS 遅延

他の DNS 追跡パネルは Manage panels で追加できます。

  • 下位 X の最小 DNS 遅延
  • 上位 X の最大 DNS 遅延
  • 上位 X の 99 パーセンタイルの DNS 遅延

この機能は、IPv4 および IPv6 の UDP および TCP プロトコルでサポートされています。

このビューの有効化と使用の詳細は、このセクションの 関連情報 を参照してください。

7.1.5. ラウンドトリップタイム

TCP の平滑化されたラウンドトリップタイム (sRTT) を使用して、ネットワークフローの遅延を分析できます。fentry/tcp_rcv_established eBPF フックポイントから取得した RTT を使用して TCP ソケットから sRTT を読み取ると、次のことに役立てることができます。

  • ネットワーク監視: TCP の遅延に関する知見を得ることで、ネットワーク管理者は、異常なパターン、潜在的なボトルネック、またはパフォーマンスの問題を特定できます。
  • トラブルシューティング: 遅延を追跡し、設定ミスを特定することにより、TCP 関連の問題をデバッグします。

デフォルトでは、RTT が有効になっている場合、Overview に次の TCP RTT メトリクスが表示されます。

  • 上位 X の 90 パーセンタイルの TCP ラウンドトリップタイムと合計
  • 上位 X の平均 TCP ラウンドトリップタイムと合計
  • 下位 X の最小 TCP ラウンドトリップタイムと合計

他の RTT パネルは Manage panels で追加できます。

  • 上位 X の最大 TCP ラウンドトリップタイムと合計
  • 上位 X の 99 パーセンタイルの TCP ラウンドトリップタイムと合計

このビューの有効化と使用の詳細は、このセクションの 関連情報 を参照してください。

7.1.6. eBPF フローのルールフィルター

ルールベースのフィルタリングを使用して、eBPF フローテーブルにキャッシュされるパケットの量を制御できます。たとえば、ポート 100 から送信されるパケットのみを記録するようにフィルターを指定できます。その場合、フィルターに一致するパケットのみがキャッシュされ、残りのパケットはキャッシュされません。

7.1.6.1. Ingress および Egress トラフィックのフィルタリング

CIDR 表記は、ベース IP アドレスとプレフィックス長を組み合わせることにより、IP アドレス範囲を効率的に表すものです。Ingress と Egress トラフィックの両方において、送信元 IP アドレスが、CIDR 表記で設定されたフィルタールールを照合するために最初に使用されます。一致するものがあれば、フィルタリングが続行されます。一致するものがない場合、宛先 IP を使用して、CIDR 表記で設定されたフィルタールールを照合します。

送信元 IP または宛先 IP の CIDR のいずれかを照合した後、peerIP を使用して特定のエンドポイントを特定し、パケットの宛先 IP アドレスを識別できます。定められたアクションに基づいて、フローデータが eBPF フローテーブルにキャッシュされるかされないかが決まります。

7.1.6.2. ダッシュボードとメトリクスの統合

このオプションを有効にすると、eBPF agent statisticsNetobserv/Health ダッシュボードに、Filtered flows rate ビューが表示されるようになります。さらに、Observe Metrics で、netobserv_agent_filtered_flows_total をクエリーして、FlowFilterAcceptCounterFlowFilterNoMatchCounter、または FlowFilterRecjectCounter の理由を含むメトリクスを監視できます。

7.1.6.3. フローフィルターの設定パラメーター

フローフィルタールールは、必須のパラメーターと任意のパラメーターで構成されます。

表7.1 必須設定パラメーター
パラメーター説明

enable

eBPF フローのフィルタリング機能を有効にするには、enabletrue に設定します。

cidr

フローフィルタールールの IP アドレスと CIDR マスクを指定します。IPv4 と IPv6 の両方のアドレス形式をサポートしています。すべての IP と照合する場合、IPv4 の場合は 0.0.0.0/0、IPv6 の場合は ::/0 を使用できます。

action

フローフィルタールールに対して実行されるアクションを示します。可能な値は Accept または Reject です。

  • Accept アクションに一致するルールの場合、フローデータが eBPF テーブルにキャッシュされ、グローバルメトリクス FlowFilterAcceptCounter で更新されます。
  • Reject アクションに一致するルールの場合、フローデータがドロップされ、eBPF テーブルにキャッシュされません。フローデータは、グローバルメトリクス FlowFilterRejectCounter を使用して更新されます。
  • ルールが一致しない場合、フローは eBPF テーブルにキャッシュされ、グローバルメトリクス FlowFilterNoMatchCounter で更新されます。
表7.2 オプションの設定パラメーター
パラメーター説明

direction

フローフィルタールールの方向を定義します。可能な値は Ingress または Egress です。

protocol

フローフィルタールールのプロトコルを定義します。可能な値は、TCPUDPSCTPICMP、および ICMPv6 です。

tcpFlags

フローをフィルタリングするための TCP フラグを定義します。可能な値は、SYNSYN-ACKACKFINRSTPSHURGECECWRFIN-ACK、および RST-ACK です。

ports

フローのフィルタリングに使用するポートを定義します。送信元ポートまたは宛先ポートのどちらにも使用できます。単一のポートをフィルタリングするには、単一のポートを整数値として設定します。たとえば、ports: 80 です。ポートの範囲をフィルタリングするには、文字列形式の "開始 - 終了" 範囲を使用します。たとえば、ports: "80-100" です。

sourcePorts

フローのフィルタリングに使用する送信元ポートを定義します。単一のポートをフィルタリングするには、単一のポートを整数値として設定します (例: sourcePorts: 80)。ポートの範囲をフィルタリングするには、文字列形式の "開始 - 終了" 範囲を使用します (例: sourcePorts: "80-100")。

destPorts

destPorts は、フローのフィルタリングに使用する宛先ポートを定義します。単一のポートをフィルタリングするには、単一のポートを整数値として設定します (例: destPorts: 80)。ポートの範囲をフィルタリングするには、文字列形式の "開始 - 終了" 範囲を使用します (例: destPorts: "80-100")。

icmpType

フローのフィルタリングに使用する ICMP タイプを定義します。

icmpCode

フローのフィルタリングに使用する ICMP コードを定義します。

peerIP

フローのフィルタリングに使用する IP アドレスを定義します (例: 10.10.10.10)。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.