第7章 ネットワークトラフィックの監視
管理者は、OpenShift Container Platform コンソールでネットワークトラフィックを観察して、詳細なトラブルシューティングと分析を行うことができます。この機能は、トラフィックフローのさまざまなグラフィカル表現から洞察を得るのに役立ちます。ネットワークトラフィックを観察するために使用できるビューがいくつかあります。
7.1. Overview ビューからのネットワークトラフィックの監視
Overview ビューには、クラスター上のネットワークトラフィックフローの集約された全体的なメトリクスが表示されます。管理者は、使用可能な表示オプションを使用して統計を監視できます。
7.1.1. 概要ビューの操作
管理者は、Overview ビューに移動して、フローレートの統計をグラフィカルに表示できます。
手順
-
Observe
Network Traffic に移動します。 - ネットワークトラフィック ページで、Overview タブをクリックします。
メニューアイコンをクリックすると、各流量データの範囲を設定できます。
7.1.2. 概要ビューの詳細オプションの設定
詳細オプションを使用して、グラフィカルビューをカスタマイズできます。詳細オプションにアクセスするには、Show advanced options をクリックします。Display options ドロップダウンメニューを使用して、グラフの詳細を設定できます。利用可能なオプションは次のとおりです。
- Scope: ネットワークトラフィックが流れるコンポーネントを表示する場合に選択します。スコープは、Node、Namespace、Owner、Zones、Cluster、または Resource に設定できます。Owner はリソースの集合体です。Resource は、ホストネットワークトラフィックの場合は Pod、サービス、ノード、または不明な IP アドレスです。デフォルト値は Namespace です。
- Truncate labels: ドロップダウンリストから必要なラベルの幅を選択します。デフォルト値は M です。
7.1.2.1. パネルとディスプレイの管理
表示する必要なパネルを選択したり、並べ替えたり、特定のパネルに焦点を当てたりすることができます。パネルを追加または削除するには、Manage panels をクリックします。
デフォルトでは、次のパネルが表示されます。
- 上位 X の平均バイトレート
- 上位 X のバイトレートと合計の積み上げ値
他のパネルは Manage panels で追加できます。
- 上位 X の平均パケットレート
- 上位 X のパケットレートと合計の積み上げ値
Query options を使用すると、Top 5、Top 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. パケットドロップの種類
パケットドロップの追跡を有効化および使用する方法の詳細は、このセクションの 関連情報 を参照してください。
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 statistics の Netobserv/Health ダッシュボードに、Filtered flows rate ビューが表示されるようになります。さらに、Observe netobserv_agent_filtered_flows_total
をクエリーして、FlowFilterAcceptCounter、FlowFilterNoMatchCounter、または FlowFilterRecjectCounter の理由を含むメトリクスを監視できます。
7.1.6.3. フローフィルターの設定パラメーター
フローフィルタールールは、必須のパラメーターと任意のパラメーターで構成されます。
パラメーター | 説明 |
---|---|
|
eBPF フローのフィルタリング機能を有効にするには、 |
|
フローフィルタールールの IP アドレスと CIDR マスクを指定します。IPv4 と IPv6 の両方のアドレス形式をサポートしています。すべての IP と照合する場合、IPv4 の場合は |
|
フローフィルタールールに対して実行されるアクションを示します。可能な値は
|
パラメーター | 説明 |
---|---|
|
フローフィルタールールの方向を定義します。可能な値は |
|
フローフィルタールールのプロトコルを定義します。可能な値は、 |
|
フローをフィルタリングするための TCP フラグを定義します。可能な値は、 |
|
フローのフィルタリングに使用するポートを定義します。送信元ポートまたは宛先ポートのどちらにも使用できます。単一のポートをフィルタリングするには、単一のポートを整数値として設定します。たとえば、 |
|
フローのフィルタリングに使用する送信元ポートを定義します。単一のポートをフィルタリングするには、単一のポートを整数値として設定します (例: |
|
destPorts は、フローのフィルタリングに使用する宛先ポートを定義します。単一のポートをフィルタリングするには、単一のポートを整数値として設定します (例: |
| フローのフィルタリングに使用する ICMP タイプを定義します。 |
| フローのフィルタリングに使用する ICMP コードを定義します。 |
|
フローのフィルタリングに使用する IP アドレスを定義します (例: |