このセクションでは、CLI/ユーザー インターフェイスを使用して仮想サービス トラフィックをキャプチャする方法について説明します。

ユーザー インターフェイスを使用した仮想サービス トラフィックのキャプチャ

  1. [運用] > [トラフィック キャプチャ] の順に移動します。[キャプチャ構成] セクションには、現在のキャプチャに定義されているパラメータが表示されます。

  2. 鉛筆アイコンをクリックして、新しいキャプチャを開始します。



[トラフィック キャプチャ] ポップアップ ウィンドウで、必要に応じて次の項目を選択します。

フィールド名

アクション

[仮想サービスの選択]

トラフィックをキャプチャする仮想サービスを選択します。このキャプチャには、クライアントから SE 側と SE からサーバ側の両方の接続が含まれます。トラフィックは、その仮想サービスのトラフィックを処理するすべての SE でキャプチャされます。

[キャプチャするフィルタ]

[すべてのトラフィック] - すべてのトラフィックをキャプチャします。

[クライアント IP、IP アドレス範囲、サブネット マスクの選択] - 指定した IP アドレス、IP アドレスのリストまたは範囲、またはサブネットのトラフィックのみをキャプチャします。IP アドレスには、クライアント アドレスまたはサーバ アドレスを指定できます。

注:
  • リストを指定するには、各アドレスの間にスペースを使用します。例:10.1.1.1 10.1.1.99 192.168.8.200。

  • 範囲を指定するには、次の形式を使用します:10.1.1.1-10.1.1.255。

  • サブネットを指定するには、次の形式を使用します:10.1.1.1/24。

[コアごとのパケット数]

コアでキャプチャするパケットの最大数を指定します。

[期間]

キャプチャを実行する期間を分単位で指定します。

[パケットのサイズ]

キャプチャするパケットのサイズをバイト単位で指定します。これは、TCPdump の snaplen オプションと似ています。パケット全体をキャプチャするには、0 と入力します。

[詳細設定] セクションで、次のいずれかのオプションを選択します。

  • [健全性モニターとデータ]

  • [健全性モニターのみ]

  • [データのみ]

健全性モニター フローのキャプチャを制御します。

[セッション キーのキャプチャ]

セッション キーのキャプチャを有効にします。

  • [キャプチャの開始] をクリックして、キャプチャの進行状況を表示します。

注:

セッション キーのキャプチャの有効化の詳細については、「仮想サービスのデバッグ時にセッション キーのキャプチャを有効にする」を参照してください。

完了したキャプチャ

キャプチャが完了すると、コントローラは複数の SE のデータを照合し、データを PCAP ファイル形式にします。これらのキャプチャは、[完了したキャプチャ] セクションに表示されます。[日付][仮想サービス名]、および [キャプチャされたパケットのサイズ] としてタブ表示されます。pcap 形式でダウンロードしてエクスポートできます。キャプチャ ファイルは、任意の標準トラフィック キャプチャ ユーティリティを使用して表示できます。

CLI を使用した仮想サービス トラフィックのキャプチャ

NSX Advanced Load Balancer CLI を使用してパケットをキャプチャするには、シェル プロンプトにログインし、目的の仮想サービスのパケット キャプチャ サブモードに切り替えます。

debug virtualservice Test-virtual service
Updating an existing object. Currently, the object is:
+-------+-----------------------+
| Field |        Value          |
+-------+-----------------------+
| uuid  | virtualservice-0-1    |
| name  | Test-virtual service  |
+-------+-----------------------+
パケット キャプチャのパラメータを以下に示します。デフォルトでは、キャプチャは選択した仮想サービスのコンテキスト内で実行されます。また、仮想サービス トラフィックを処理しているすべての NSX Advanced Load Balancer SE で実行され、SE のクライアント側とサーバ側からのパケットを含みます。

パラメータ

定義

capture_params duration

時間(分単位)。デフォルトは無制限です。

capture_params num_pkts

収集するパケットの最大数。デフォルト値は制限なしです。

capture_params pkt_size

キャプチャするパケット サイズ、またはスナップ長。デフォルトは無制限です。

debug_ip addrs

IPv4 アドレス形式。

debug_ip prefixes

IPv4 プレフィックス形式 <x.x.x.x/x>。

debug_virtual service_hm_include

キャプチャに健全性モニター パケットを含めます。

debug_virtual service_hm_none

キャプチャから健全性モニター パケットを省略します(デフォルト)。

debug_virtual service_hm_only Capture

健全性モニター パケットのみ。

debug_ip コマンドはサブモードに入ります。これにより、複数の IP アドレスまたは IP サブネットを入力できます。後続のエントリでは、debug_ip オプションを省略します。保存して目的の IP アドレスをコミットし、前のメニューに戻ります。

注:

デフォルトでは、キャプチャする最大パケット数や所要時間は定義されていません。最大パケット キャプチャを含めることをお勧めします。制限がなければ、NSX Advanced Load Balancer SE ドライブがいっぱいになるまでキャプチャが実行され、サービスが中断される可能性があります。

キャプチャするパケットの最大数を含むパラメータを指定します。

debugvirtualservice> capture_params num_pkts 1000
debugvirtualservice> debug_ip addrs 10.10.10.10
debugvirtualservice:debug_ip> save

以前に構成したパラメータに基づいてキャプチャを開始します。

debugvirtualservice> capture
debugvirtualservice> save
+----------------+--------------------+
| Field          |          Value     |
+----------------+--------------------+
| uuid           | virtualservice-0-1 |
| name           | Test-VS            |
| debug_ip       |                    |
| addrs[1]       | 10.10.10.10        |
| capture        | True               |
| capture_params |                    |
| duration       | 0 mins             |
| num_pkts       | 1000               |
+----------------+--------------------+

パケット キャプチャのサブモードに再度切り替え、実行中のパケット キャプチャを停止します。

debug virtualservice Test-virtual service
debugvirtualservice> no capture
debugvirtualservice> save

PCAPng 形式での仮想サービス パケットのキャプチャ

仮想サービス パケットは、PCAPng 形式でキャプチャできます。各パケットには、送信方向、se-uuid、パケットを処理したコア数が含まれています。フロントエンド フローとバックエンド フローには、接続/アプリケーション ログに戻らずにパケット キャプチャ内のフロントエンド接続とバックエンド接続を相互に関連付けることができる一意のフロー ID が提供されます。

注:

フロー ID は、フロー内のすべてのパケットに対して存在しない場合があります。

この機能をオフにして PCAP にフォールバックするには、次のコマンドを使用します。

debug virtualservice <>
capture_params
no pcap_ng

Wireshark で表示される出力の例を次に示します。



仮想サービスおよびサービス エンジンの pcap に対するパケット キャプチャのエクスポート

パケット キャプチャを、TCPdump や Wireshark などのツールを使用して表示できるリモート システムにエクスポートします。

show debug virtualservice Test-virtual service capture
Please specify the destination directory: /tmp
Downloaded the attachment to /tmp/virtual service_virtualservice.20141205_192033.pcap
bash
scp /tmp/virtual service_virtualservice.192033.pcap [email protected]:/tmp