このページの内容
Ciscoモデル駆動型テレメトリのサポート
NorthStar Controllerは、CiscoデバイスのインターフェイスおよびLSPトラフィックデータのSNMP収集の代替として、Cisco Model Driven Telemetry(MDT)をサポートしています。SNMPの収集は比較的遅く(ポーリング間隔が5分を超える)、コストがかかります。NorthStarのMDT Collectorは、ネットワーク内のCiscoデバイスからのテレメトリストリームを継続的に処理することで、ネットワーク監視を実行します。
NorthStar ControllerでのSNMP収集は、タスクスケジューラ(Administration > Task Scheduler)でSNMP収集タスクを作成することで有効になります。ネットワーク内のCiscoデバイスのデータ収集にMDTを使用し、ネットワーク内の他のデバイスに対してSNMP収集を使用する場合は、含めるように選択したデバイスまたはデバイスグループを指定し、MDTをサポートするものの選択を解除するSNMP収集タスクを作成できます。SNMP収集タスクの詳細については、 SNMPを使用したデータ収集 を参照してください。
同じデバイスに対してSNMP収集とMDTの両方を有効にしてはいけません。
NorthStar MDT Collectorについては、以下のセクションで説明します。
仕組み
MDT コレクターは、NorthStar Analytics RPM バンドルの一部として提供され、分析ノード上に常駐します。Supervisord は、Analytics Supervisord グループの一部として MDT Collector プロセスを管理します。
パイプラインは、サードパーティコンポーネントとして、/opt/northstar/thirdparty/pipelineにインストールされます。パイプラインログファイルは、/opt/northstar/logs/pipeline.msgにあります。
図 1 は、MDT を使用する場合の一般的なデータ フローを示しています。
プロセスの概要は次のとおりです。
-
MDT Collectorは、bigmuddy-network-テレメトリパイプライン(オープンソース)とNorthStarの出力プラグインで構成されています。パイプラインの設定ファイル(pipeline.yml)は、 /opt/northstar/data/pipeline/configにあります。
-
MDT データのストリーミングは、ルーターによって開始されます。
-
ストリームの範囲とスケジュールは、デバイスの設定に準拠します。
注:IOS-XRデバイスでは、リリースXR 6.1.1以降が実行されている必要があります。
-
NorthStar MDTは、UDPおよびTCPトランスポートプロトコルをサポートします。エンコードについては、GPB、自己記述型GPB(KV-GPB)、JSONをサポートしています。
-
パイプラインがUDPまたはTCP経由でテレメトリデータを受信すると、データをデコードし、処理のためにNorthStar出力プラグインにプッシュします。これは MDT コレクター内で行われます。
-
NorthStarプラグインは、データをJTI形式に変換し、JSONドキュメントとしてエンコードし、UDPを介してMDT CollectorからLogstashにプッシュします。
-
Logstash は JSON ドキュメントを処理し、その情報を Elasticsearch と RabbitMQ にプッシュして NorthStar Controller で使用できるようにします。
-
NorthStarコンポーネントは、NorthStar REST APIを活用してトラフィックデータを取得します。
NorthStarでのMDTの設定
NorthStarで直接設定する唯一のMDTパラメーターは、開始ログレベルに関係しています。デフォルトでは、NorthStarはMDTコンポーネントを「info」ログレベルで起動します。 NorthStar CLI を使用した NorthStar 設定の説明に従って、cMGD CLI にアクセスすることで、レベルを「デバッグ」に変更できます。cMGDコマンドを使用します set northstar analytics model-driven-telemetry log-destination destination-name level log-level
デバッグログは、別の宛先名を設定しない限り、 /opt/northstar/logs/pipeline.log ファイルに書き込まれます。
ログ レベルを変更する場合は、パイプラインを再起動する必要があります。
supervisorctl restart analytics:pipeline
IOS-XR デバイスでの MDT の設定
MDTは、データを収集するIOS-XRデバイスで設定する必要があります。ここでは設定例を示しますが、IOS-XR 設定情報の決定的なソースはシスコのドキュメントと考えてください。
telemetry model-driven destination-group Northstar address-family ipv4 collector-address port port encoding gpb | self-describing-gpb protocol tcp | udp ! ! sensor-group mdt sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface/latest/generic-counters sensor-path Cisco-IOS-XR-mpls-te-oper:mpls-te/signalling-counters/head-signalling-counters/head-signalling-counter subscription mdt sensor-group-id mdt sample-interval 60000 destination-id Northstar ! !
この設定に関する注意点:
-
コレクターアドレス変数は、MDTコレクターが実行されているシステム(分析ノード)を参照します。
-
エンコードの選択(gpbまたはself-decribing-gpb)は、 tcp_northstar または udp_northstar セクション内の「encap」設定には影響しません。
-
プロトコルとしてTCPを設定する場合、IOS-XR MDT設定のポート値はパイプライン設定のポート設定と一致する必要があります。/opt/northstar/data/pipeline/config/pipeline.ymlのtcp_northstarセクションでlistenパラメーターを探します。プロトコルとしてUDPを設定する場合、ポート値はudp_northstarセクションの値と一致する必要があります。
-
sample-interval設定(ミリ秒)は、テレメトリストリームを送信する頻度を指定します。
-
sensor-path cisco-IOS-XR-mpls-te-oper:mpls-te/signalling-counters/head-signalling-counters/head-signalling-counter ステートメントは、トンネル名と信号名を収集し、MDT コレクターに報告するようにデバイスに指示します。
-
sensor-path設定を使用して、指定した基準に基づいてフィルタリングできます。例えば、(LSP用に作成された)トンネル-teインターフェイスの統計を報告するには:
sensor-path Cisco-IOS-XR-infra-statsd-oper:infra-statistics/interfaces/interface [interface-name='tunnel-te*']/latest/generic-counters