sFlow の設定

この章では、Cisco NX-OS デバイスで sFlow を設定する方法について説明します。

この章は、次の項で構成されています。

sFlow について

サンプリングされた Flow(sFlow)を使用すると、スイッチやルータを含むデータネットワーク内のリアルタイムトラフィックをモニターできます。sFlow では、トラフィックをモニタするためにスイッチとルータ上の sFlow エージェント ソフトウェアでサンプリング メカニズムを使用して、サンプル データを中央のデータ コレクタに転送します。

sFlow の詳細については、RFC 3176 を参照してください。

sFlow エージェント

Cisco NX-OS ソフトウェアに組み込まれている sFlow エージェントは、サンプリングされるパケットのデータ ソースに関連付けられたインターフェイス カウンタを定期的にサンプリングまたはポーリングします。このデータ ソースは、イーサネット インターフェイス、EtherChannel インターフェイス、ある範囲に属するイーサネット インターフェイスのいずれかです。sFlow エージェントは、イーサネット ポート マネージャにクエリーを送信して対応する EtherChannel メンバーシップ情報を確認するほか、イーサネット ポート マネージャからもメンバーシップの変更の通知を受信します。

sFlow サンプリングをイネーブルにすると、サンプリング レートとハードウェア内部の乱数に基づいて、入力パケットと出力パケットが sFlow でサンプリングされたパケットとして CPU に送信されます。sFlow エージェントはサンプリングされたパケットを処理し、sFlow アナライザに sFlow データグラムを送信します。sFlow データグラムには、元のサンプリングされたパケットに加えて、入力ポート、出力ポート、および元のパケット長に関する情報が含まれます。sFlow データグラムには、複数の sFlow サンプルを含めることができます。

sFlow の前提条件

sFlow には、次の前提条件があります。

  • Cisco Nexus 9332PQ、9372PX、9372TX、93120TX スイッチ、および N9K-M6PQ 汎用拡張モジュール(GEM)搭載の Cisco Nexus 9396PX、9396TX、93128TX スイッチについては、sFlow データ ソースとして設定するすべてのアップリンク ポート用の sFlow および SPAN ACL TCAM リージョン サイズを設定する必要があります。これを行うには、hardware access-list tcam region sflow および hardware access-list tcam region span コマンドを使用します。詳細については、『ACL TCAM リージョン サイズの設定』を参照してください。


    (注)  


    デフォルトでは、sflow リージョン サイズはゼロで、span リージョン サイズはゼロ以外です。ポートを sFlow データ ソースとして設定するには、sflow リージョンを 256 に設定し、十分なエントリを span リージョンに割り当てる必要があります。
  • マルチキャストトラフィックの出力sFlowには、ハードウェアマルチキャストグローバルTXスパン設定が必要です

sFlow の注意事項および制約事項


(注)  


スケールの情報については、リリース特定の『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide』を参照してください。


sFlow には、次の注意事項と制限事項があります。

  • 少なくとも 1 つの sFlow データソースが設定されている場合、SPAN セッションは起動できません。

    • 少なくとも 1 つの SPAN セッションが no shut として設定されている場合、sFlow データソースは追加できません。

    • sFlow に使用されるサンプリング モードは、LFSR と呼ばれるアルゴリズムに基づいています。LFSR を使用するため、数個のパケットごとに 1 個がサンプリング レート n でサンプリングされることは保証されません。ただし、サンプリングされるパケットの数は、一定期間の合計パケット数と同じです。

  • sFlow を使用して FEX HIF ポートで Rx トラフィックをサンプル化すると、サンプル化されたトラフィックに追加の VNTAG および 802.1Q タグが存在します。

  • Cisco Nexus 9300-EX および 9300-FX プラットフォーム スイッチでは、FEX、HIF、および NIF ポートを sFlow データ ソース インターフェイスとして設定できません。

  • sFlow と SPAN が同じインターフェイスに設定されており、ハードウェア レート リミッタが sFlow 用に設定されている場合、show hardware rate-limiter コマンドの出力の Rate-Limiter Drops カウンタは予想よりも多くのドロップを表示します。

  • sFlow はソフトウェア駆動型の機能で、ハードウェアは sFlow 送信元インターフェイスから CPU にトラフィックのコピーを送信するだけです。高い CPU 使用率が予想されます。ハードウェアによって CPU に送信される sFlow トラフィックは、CPU を保護するためにレート制限されます。

  • インターフェイスの sFlow をイネーブルにすると、入力と出力の両方に対してイネーブルになります。入力だけまたは出力だけの sFlow をイネーブルにできません。

    Cisco Nexus 9636C-R および 9636Q-R ライン カードを搭載した Cisco Nexus 9508 スイッチの場合、sFlow は入力方向のインターフェイスに対してのみ有効にできます。

  • sFlow も有効になっているインターフェイスでストーム制御を有効にした場合、ストーム制御機能は動作しません。

  • sFlow は SVI ではサポートされません。

  • サブインターフェイスは sFlow ではサポートされていません。

  • システムの sFlow の設定およびトラフィックに基づいてサンプリング レートを設定することをお勧めします。

  • スイッチは 1 つのみの sFlow コレクタをサポートします。

  • sFlow とネットワーク アドレス変換(NAT)は、同じポートではサポートされません。

  • sFlow は、IPv6 トラフィックのサンプリングをサポートしていますが、IPv4 コレクタ アドレス上のみに限られます。

  • sFlow は、マルチキャスト、ブロードキャスト、または未知のユニキャスト パケットの出力のサンプリングはサポートしません。

  • sFlow カウンタは、sFlow データ送信元インターフェイスに入力される制御パケットに対しても増加します。これらのパケットはサンプリングされ、sFlow データグラムとして送信されます(データ プレーン トラフィックと同様)。

  • 次の Cisco Nexus スイッチは、sFlow と SPAN を同時にサポートします。

    • N9336C-FX2

    • N93240YC-FX2

    • N93360YC-FX2

  • Cisco NX-OS リリース 9.3(3) 以降、Cisco Nexus 9300-GX プラットフォーム スイッチは、sFlow と SPAN の両方をサポートしています。

  • Nexus 9000-EX、FX、および GX ファミリのスイッチは、4096、8192、16384、32768、65536 の値でのみサンプリングをサポートします。これら以外の値を構成すると、値はサポートされている次の順番の値に丸められます。

  • sFlow が N9K-C9508-FM-G で N9K-X9716D-GX ライン カードを搭載した状態で設定されている場合、SPAN セッションを設定する前に sFlow を無効にします。

  • Cisco NX-OS リリース 10.1(2) 以降、sFlow は Cisco Nexus N9K-X9624D-R2 ライン カードでサポートされます。

  • Cisco NX-OS リリース 10.1(2) 以降、sFlow は N9K-X9716D-GX ライン カードを搭載したCisco Nexus N9K-C9508-FM-G クラウドスケール ファブリック モジュールで VXLAN トラフィックをサポートします。

  • Cisco NX-OS リリース 10.2(1) 以降、sFlow 拡張 BGP(ゲートウェイ)は Cisco Nexus N9K-C93600CD-GX、N9K-C93240YC-FX2、N9K-C93180YC-EX、N9K-C93180YC-FX、N9K- C93180YC-FX3S、N9K-93600CD-GX、および N9K-X9716D-GX プラットフォーム スイッチでサポートされます。

  • NX-OS は、顧客のニーズに応じてハードウェア リソースを利用するための柔軟な転送テンプレートを提供します。sFlow 入力 IPv6 サンプリングで sFlow レコードに BGP 情報を正しく入力するには、ライン カード上のすべての IPv6 ルートを持つテンプレートを選択する必要があります。たとえば、顧客は system routing template-mpls-heavy を設定できます。詳細については、 『Cisco Nexus 9000 シリーズ NX-OS コマンド参照(設定コマンド)、リリース 9.3(x)』を参照してください。コマンドを有効にするには、システムを再起動する必要があります。これは、GX モジュラ シャーシに適用されます。

  • ECMP が BGP で設定され、ECMP 宛先ルートの場合、エクスポートされた sFlow レコードの拡張ゲートウェイ レコードのネクストホップ情報は 0 になります。自律システムなどの他の BGP 情報は、最初のパスから取得されます。sFlow レコードの出力インターフェイスは 0(不明)に設定され、フローがいずれかのパスを通過する可能性があることを示します。

  • Cisco NX-OS リリース 10.2(1q)F 以降、sFlow は Cisco N9K-C9332D-GX2B プラットフォーム スイッチでサポートされます

  • Cisco NX-OS リリース 10.2(1) 以降、拡張 BGP データを収集できるようになりました。sFlow がこのデータを収集するには、物理インターフェイスやポート チャネルなどの非 SVI レイヤ 3 インターフェイスを sFlow ソースとして構成する必要があります。

sFlow のデフォルト設定

次の表に、sFlow パラメータのデフォルト設定を示します。

表 1. デフォルトの sFlow パラメータ
パラメータ デフォルト

sFlow のサンプリング レート

4096

sFlow のサンプリング サイズ

128

sFlow カウンタのポーリング間隔

20

sFlow の最大データグラム サイズ

1400

sFlow コレクタの IP アドレス

0.0.0.0

sFlow のコレクタ ポート

6343

sFlow エージェントの IP アドレス

0.0.0.0

sFlow の設定

sFlow の有効化

スイッチの sFlow を設定する前に sFlow 機能を有効にする必要があります。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル設定モードを開始します。

ステップ 2

[no] feature sflow

例:

switch(config)# feature sflow

sFlow を有効または無効にします。

ステップ 3

(任意) show feature

例:

switch(config)# show feature
(任意)

有効および無効にされた機能を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

サンプリング レートの設定

sFlow のサンプリング レートを設定できます。

始める前に

sFlow が有効になっていることを確認します。

Nexus 9000-EX、FX、および GX ファミリのスイッチは、4096、8192、16384、32768、65536 の値でのみサンプリングをサポートします。これら以外の値を構成すると、値はサポートされている次の順番の値に丸められます。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow sampling-rate sampling-rate

例:

switch(config)# sflow sampling-rate 50000

パケットの sFlow のサンプリング レートを設定します。

sampling-rate には 4096 ~ 1000000000 の整数を指定できます。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

最大サンプリング サイズの設定

サンプリングされたパケットからコピーする最大バイト数を設定できます。

始める前に

sFlow が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow max-sampled-size sampling-size

例:

switch(config)# sflow max-sampled-size 200

sFlow の最大サンプリング サイズを設定します。

sampling-size の範囲は 64~256 バイトです。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

カウンタのポーリング間隔の設定

データ ソースに関連するカウンタの継続的なサンプル間の最大秒数を設定できます。サンプリング間隔 0 は、カウンタのサンプリングをディセーブルにします。

始める前に

sFlow が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow counter-poll-interval poll-interval

例:

switch(config)# sflow counter-poll-interval 100

インターフェイスの sFlow のポーリング間隔を設定します。

poll-interval の範囲は 0~2147483647 秒です。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

最大データグラム サイズの設定

1 つのサンプル データグラムで送信できるデータの最大バイト数を設定できます。

始める前に

sFlow が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow max-datagram-size datagram-size

例:

switch(config)# sflow max-datagram-size 2000

sFlow の最大データグラム サイズを設定します。

datagram-size の範囲は 200~9000 バイトです。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow コレクタ アドレスの設定

管理ポートに接続されている sFlow データ コレクタの IPv4 アドレスを構成できます。

始める前に

sFlow が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow collector-ip ip-address vrf vrf [source ip-address]

例:

switch(config)# sflow collector-ip 192.0.2.5 vrf management

sFlow コレクタの IPv4 アドレスを構成します。IP アドレスを 0.0.0.0 に設定すると、すべてのサンプリングがドロップされます。

vrf は次のいずれかになります。

  • ユーザ定義の VRF 名:最大 32 文字の英数字を指定できます。

  • vrf 管理:sFlow データ コレクタが管理ポートに接続されたネットワークに存在する場合は、このオプションを使用する必要があります。

  • vrf デフォルト:sFlow データ コレクタが前面パネルのポートに接続されたネットワークに存在する場合は、このオプションを使用する必要があります。

source ip-address オプションを指定すると、送信される sFlow データグラムで送信元 IP アドレスが IP パケットの送信元アドレスとして使用されるようになります。送信元 IP アドレスは、スイッチのローカル インターフェイスの 1 つですでに設定されている必要があります。それ以外の場合は、エラー メッセージが表示されます。このオプションの設定後に送信元 IP アドレスを持つインターフェイスが変更または削除されると、sFlow データグラムは送信されなくなり、イベント履歴エラーと syslog エラーがログに記録されます。source ip-address オプションが未設定の場合、Cisco NX-OS は送信される sFlow データグラムに対して、IP パケットの送信元アドレスを自動的に選択します。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow コレクタ ポートの設定

sFlow データグラムの宛先ポートを設定できます。

始める前に

sFlow が有効になっていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow collector-port collector-port

例:

switch(config)# sflow collector-port 7000

sFlow コレクタの UDP ポートを設定します。

collector-port の範囲は 1~65535 です。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow エージェント アドレスの設定

sFlow エージェントの IPv4 アドレスを構成します。

始める前に

sFlow を有効にしていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow agent-ip ip-address

例:

switch(config)# sflow agent-ip 192.0.2.3

sFlow エージェントの IPv4 アドレスを構成します。

デフォルトの IP アドレスは 0.0.0.0 です。つまり、すべてのサンプルはドロップされます。sFlow 機能をイネーブルにするには、有効な IP アドレスを指定する必要があります。

(注)  

 

この IP アドレスは、コレクタに sFlow データグラムを送信するための送信元 IP アドレスとは限りません。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow サンプリング データ ソースの設定

sFlow のサンプリング データ ソースには、イーサネット ポート、イーサネット ポートの範囲、またはポート チャネルとして設定できます。

始める前に

sFlow を有効にしていることを確認します。

データ ソースとしてポート チャネルを使用する場合は、すでにポート チャネルを設定して、ポート チャネル番号がわかっていることを確認してください。

Cisco Nexus 9332PQ、9372PX、9372TX、93120TX スイッチ、および N9K-M6PQ または 汎用拡張モジュール(GEM)搭載の Cisco Nexus 9396PX、9396TX、93128TX スイッチについて、これらのデバイスで sFlow データ ソースとして設定されているすべてのアップリンク ポート用の sFlow および SPAN ACL TCAM リージョン サイズが設定されていることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

[no] sflow data-source interface [ethernet slot/port[-port] | port-channel channel-number]

例:

switch(config)# sflow data-source interface ethernet 1/5-12

sFlow のサンプリング データ ソースを設定します。

イーサネットのデータ ソースの場合、slot はスロット番号、port は 1 つのポート番号または port-port で指定されたポートの範囲です。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow 拡張 BGP(Gateway)の設定

スイッチで sFlow 拡張 BGP を設定できます。

始める前に

sFlow が有効になっていることを確認します。

送信元ポートが、物理インターフェイスやポート チャネルなどの非 SVI レイヤ 3 インターフェイスであることを確認します。

手順

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル設定モードを開始します。

ステップ 2

[no] sflow extended bgp

例:

switch(config)# sflow extended bgp

スイッチで拡張 bgp を設定します。

BGP がインストールされたルートへの宛先 IP アドレスを持つサンプリングされた sFlow パケットには、エクスポートされた sFlow レコードに拡張ゲートウェイ(bgp)データが含まれます。

ステップ 3

(任意) show sflow

例:

switch(config)# show sflow
(任意)

sFlow 設定を表示します。

ステップ 4

(任意) copy running-config startup-config

例:

switch(config)# copy running-config startup-config
(任意)

実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。

sFlow 設定の確認

sFlow 設定を表示するには、次のコマンドを使用します。

表 2. sFlow Show コマンド
コマンド 目的
show sflow

sFlow サンプラーおよび sFlow エージェント設定のすべてのデータ ソースを表示します。

show process

sFlow プロセスが実行されているかどうかを確認します。

show running-config sflow [all]

現在実行中の sFlow コンフィギュレーションを表示します。

sFlow 統計情報のモニタリングとクリア

sFlow 統計情報を表示するには、show sflow statistics コマンドを使用します。

sFlow 統計情報をクリアするには、次のコマンドを使用します。

コマンド

説明

clear sflow statistics

show sflow statistics コマンドから sFlow 統計情報のほとんどをクリアします。

clear counters interface all

show sflow statistics コマンドの [トータル パケット(Total Packets)] フィールドをクリアします。

clear hardware rate-limiter sflow

show sflow statistics コマンドの [トータル サンプル(Total Samples)] フィールドをクリアします。

sFlow の設定例

次に sFlow を設定する例を示します。

feature sflow
sflow sampling-rate 4096
sflow max-sampled-size 200
sflow counter-poll-interval 100
sflow max-datagram-size 2000
sflow collector-ip 192.0.2.5 vrf management
sflow collector-port 7000
sflow agent-ip 192.0.2.3
sflow data-source interface ethernet 1/5