このセクションでは、CLI/ユーザー インターフェイスを使用して仮想サービス トラフィックをキャプチャする方法について説明します。
ユーザー インターフェイスを使用した仮想サービス トラフィックのキャプチャ
[キャプチャ構成] セクションには、現在のキャプチャに定義されているパラメータが表示されます。
の順に移動します。鉛筆アイコンをクリックして、新しいキャプチャを開始します。
[トラフィック キャプチャ] ポップアップ ウィンドウで、必要に応じて次の項目を選択します。
フィールド名 |
アクション |
---|---|
[仮想サービスの選択] |
トラフィックをキャプチャする仮想サービスを選択します。このキャプチャには、クライアントから SE 側と SE からサーバ側の両方の接続が含まれます。トラフィックは、その仮想サービスのトラフィックを処理するすべての SE でキャプチャされます。 |
[キャプチャするフィルタ] |
[すべてのトラフィック] - すべてのトラフィックをキャプチャします。 [クライアント IP、IP アドレス範囲、サブネット マスクの選択] - 指定した IP アドレス、IP アドレスのリストまたは範囲、またはサブネットのトラフィックのみをキャプチャします。IP アドレスには、クライアント アドレスまたはサーバ アドレスを指定できます。
注:
|
[コアごとのパケット数] |
コアでキャプチャするパケットの最大数を指定します。 |
[期間] |
キャプチャを実行する期間を分単位で指定します。 |
[パケットのサイズ] |
キャプチャするパケットのサイズをバイト単位で指定します。これは、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 | +-------+-----------------------+
パラメータ |
定義 |
---|---|
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 で表示される出力の例を次に示します。
![](images/GUID-80677688-BE31-4629-B8ED-E7FB25AB5A25-low.png)
仮想サービスおよびサービス エンジンの 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