• EOS Network Telemetryの概要〜サードパーティ連携(2)

 
 
Print Friendly, PDF & Email

粒度の細かいスイッチの状態監視や適切なトラフィックエンジニアリング実現のためにテレメトリデータの活用が注目されています。

ARISTA EOSは、スイッチ単体、ネットワークワイドでテレメトリデータを収集するためにさまざまな機能を提供してきました。前回は、EOS TerminAttrとオープンソースの連携によるテレメトリデータの活用について紹介しました。今回は、テレメトリデータを可視化するサードパーティソフトウェアとの連携について紹介します。ここ数年、デバイスが生成するデータを取り込み、分析するアプリケーションの活用が定着してきました。これらのアプリケーションを活用することでテレメトリデータの可視化も容易になっています。今回は、Splunkを例にサードパーティソフトウェアとの連携を紹介します。

サードパーティ連携の概要

EOSは、Linuxベースのオペレーティングシステムです。このため、Chef, Pappet, AnsibleといったLinuxベースのツールを実行することが容易です。サードパーティツールによっては、Linux向けに拡張プログラムを提供しています。Splunkは、Syslogデーモンからデータを取り込み可視化することが一般的ですが、Syslogによる取り込みができない場合に備えて、データ転送用のアプリケーション(Forwarder)を各オペレーティングシステム向けに提供しています。(Linux向けには、RPM形式で提供) EOS上でこのRPMを実行することでForwarderがインストールされ、EOSテレメトリデータを取得することが可能になります。

Splunkとの連携

Splunkと連携するには、EOSにテレメトリデータ取得とデータ転送用のアプリケーションをインストールします。EOS Sysdbからのテレメトリデータ取得には、Aristaが提供するExtension(AristaAppForSplunk)をインストールします。このExtensionが、EOS eAPIで経由でデータを取得します。EOSからSplunkへのデータ転送には、Splunk社が提供するSplunk Forwarderをインストールします。Forwarderは、AristaAppForSplunkが取得したデータをSplunk Indexerへ送信します。送信されたデータは、Splunk Indexerによりインデックス化され、Aristaが提供するアプリケーション(Apps)で可視化します。このAppsは、Splunk Indexer上でサーチ用の構文を記述することなく、EOSから取得したテレメトリデータの可視化を可能にします。

Splunk連携の設定例

Splunk社が提供するForwarder RPMとAristaAppForSplunk(SWIX形式)を実行します。

#extension splunkforwarder-6.6.2-4b804538c686.i386.rpm 
 #sh extensions
 Name Version/Release Status Extension
 ------------------------------------------- ----------------- -------- ---------
 AristaAppForSplunk-1.4.0.swix 1.4.0/1.fc18 A, NI 3 
 splunkforwarder-6.6.2-4b804538c686.i386.r\ 6.6.2/4b804538\ A, I 1 
 pm c686 

A: available | NA: not available | I: installed | NI: not installed | F: forced

#extension AristaAppForSplunk-1.4.0.swix
 #sh extensions
 Name Version/Release Status Extension
 ------------------------------------------- ----------------- -------- ---------
 AristaAppForSplunk-1.4.0.swix 1.4.0/1.fc18 A, I 3 
 splunkforwarder-6.6.2-4b804538c686.i386.r\ 6.6.2/4b804538\ A, I 1 
 pm c686 

A: available | NA: not available | I: installed | NI: not installed | F: forced

Splunkに出力するデータは、コマンドラインから指定します。出力可能なデータは、インターフェースのカウンタ、インベントリ、接続状態、LANZ、Syslog、sFlowのデータです。データを出力する間隔は、最短30秒に設定することが可能です。

(config-splunk-forwarder)#sh active 
splunk-forwarder
   splunk-server 192.168.0.11 port 9997
   index inventory
   index sflow
   index topology
   index interface-counters
   index syslog
   http-commands secret 7 071C31405B0712
   no shutdown

Splunk連携の出力例

上記の設定によって、Splunkには以下のインデックス(インターフェースカウンタ、インベントリ、ログ、sFlow、接続情報)が生成されます。Appsは、これらのインデックス情報を利用してダッシュボードを提供します。

splunkindex

以下にダッシュボードの出力例を示します。

splunkappsample

EOS TerminAttrとの比較

前回、紹介したEOS TerminAttrとの違いを確認しましょう。テレメトリデータ、データ出力(出力間隔、トランスポート)、蓄積、解析の視点で両者を比較します。ご覧いただいたとおり、出力できるテレメトリデータの種類、データへのアクセスと転送方法、転送間隔に違いがあることがわかります。

AristaAppForSplunk
Splunk Forwarder
EOS TerminAttr
テレメトリデータ interface counter
flow
接続情報(LLDP)
inventory(CPU, メモリ情報含む)
LANZ
Syslog
Sysdb(interface counter含む)
Layer2/3のテーブル情報
inventory(CPU,メモリ情報含む)
LANZ
Syslog
データ出力方法 ExtensionによるeAPI経由のデータ収集
Splunk Forwarderによるデータ出力
TerminAttrによるデータ収集とストリーミング
出力する間隔 最短30秒 2秒(カウンタ情報)
更新毎(各種テーブル情報)
トランスポート HTTP gRPC, RestConf, NetConf(予定)
データの蓄積と解析 Splunk Indexer
SplunkApp
サードパーティ(Open Source), CloudVision
CloudVision Telemetry App

今回は、サードパーティツールとの連携を紹介しました。EOSは、SysDBを中心にしたアーキテクチャをベースにして、さまざまな環境でNetwork Telemetryを実現するためのAPIを提供しています。EOSアーキテクチャを活用することで、容易にNetwork Telemetryへの移行が可能になります。

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: