• EOS Network Telemetryの概要〜データの可視化

 
 
Print Friendly, PDF & Email

粒度の細かいスイッチの状態監視や適切なトラフィックエンジニアリング実現のためにテレメトリデータの活用が注目されています。 ARISTA EOSは、スイッチ単体、ネットワークワイドでテレメトリデータを収集するためにさまざまな機能を提供してきました。今回は、EOSのNetwork Telemetryを活用して、コマンドライン出力の可視性を高める取り組みを紹介します。

コマンドラインとテレメトリ

コマンドラインは、ネットワーク装置の状態情報を把握する最も簡単な方法です。コマンドラインは、的確な情報を提供してくれますが、その実行は対話型であることからタイムリな情報収集には不向きです。テレメトリは、ストリーミング技術を利用することで、この課題を解決しています。一方、Network Telemetryが提供するデータは膨大な量となるため、その可視性を高めてあげることも必要です。サードパーティのツールを活用すれば簡単に可視性を高めることが可能です。それでは、テレメトリデータの可視性を高めてみましょう。

コマンドライン、テレメトリの出力

ここでは、”show ptp interfaces”の出力をストリーミングさせ、そのデータの可視性を高めてみます。“show ptp interface”には、装置のPTPステータスをはじめ、グランドマスタ(GM)やスレーブ装置とのメッセージカウンタなどPTPの状態を確認するために必要な情報が含まれます。コマンドラインやストリーミングで”show ptp interface”を出力すると以下のような情報が出力されます。必ずしも可視性が高いとは言えません。

コマンドラインの出力例

#sh ptp interface ethernet 9
Interface Ethernet9
PTP: Enabled
Port state: Master 
Sync interval: 1.0 seconds
Announce interval: 2.0 seconds
Announce interval timeout multiplier: 3
Delay mechanism: end to end
Delay request message interval: 1.0 seconds
Transport mode: ipv4
Announce messages sent: 10844
Announce messages received: 0
Sync messages sent: 21669
Sync messages received: 0
Follow up messages sent: 21669
Follow up messages received: 0
Delay request messages sent: 0
Delay request messages received: 18715
Delay response messages sent: 18715
Delay response messages received: 0
(以下、出力省略)

テレメトリデータの出力例

~$ gnmi -addr 172.31.1.254:6042 -username admin -password admin subscribe /Sysdb/ptp/status/intfStatus/Ethernet47/portDS
/neighborRateRatio = 0
/linkDelayThreshold = 100000
/pDelayRespFollowUpMessagesSent = 0
/enabled = true
/intf = "Ethernet47"
/clearCountersRequestTime = 480.716945002
/pDelayRespMessagesReceived = 0
/initialized = true
/announceMessagesSent = 1762
/role = "dynamic"
/currentSimpleAverageCount = 0
(以下、出力省略)

 

ストリーミングデータの可視化

EOS SysDBのPTPパスにサブスクライブメッセージを送信して、Kafka/ELKスタックにデータをストリーミングさせます。Kafka/ELKスタックの環境構築は、過去のブログを参照ください。GMとPTP Boundary Clock(BC)として設定された装置のメッセージング数を可視化してみます。GMと接続された装置のポートのPTPステータス(show ptp interfaces Etherent47)をストリーミングさせます。ストリーミングされたデータは、ELK上でパスごとにインデックス化されています。Master/Slaveのメッセージングカウンタに関連するインデックスをフィルタリングします

/syncMessagesReceived = 0
/syncMessagesSent = 3523
/followUpMessagesSent = 3523
/followUpMessagesReceived = 0
/delayReqMessagesSent = 0
/delayRespMessagesReceived = 0

フィルタリングしたデータをELKのVisualization機能を利用してグラフ化してみます。前項で抽出したインデックスをキーにして、ひとつのグラフにまとめてみます。左側にBC上でのメッセージ数を時系列で、右側にGM〜BC上のPath Delayを表示しています。 elkptp1 ここでは、可視化の方法(Visualization機能)について記述はしませんが、これらのツールには強力な可視化機能が提供されています。ストリーミングするデータの性格に合わせてグラフを選択することで可視性を高めることが可能になります。また、コマンドラインの出力を組み合わせて、運用に最適化したダッシュボードを作成し運用性を高めてみてはいかがでしょうか。

Follow

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

Join other followers: