• EOS Network Telemetryの概要〜gNMI対応

 
 
Print Friendly, PDF & Email

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

gNMI

gNMIは、管理用インターフェースを提供します。gRPCのフレームワークをベースにしてネットワーク装置からのコンフィグレーション取得、外部システムへのテレメトリデータのストリーミングの機能を提供します。gNMIは、ネットワーク装置と管理システム間でコンフィグレーション取得、テレメトリデータのストリーミングを単一のポート上でサポートしています。その効率的な実装から、OpenConfigデータを運ぶ管理インターフェースになることが期待されています。

EOSのgNMI対応

EOS4.18.1Fから、EOSのTelemetryエージェントであるTerminAttrもgNMIをサポートをしています。EOSでは、gRPCを前提に設計されたクライアントからもEOSにアクセスできるように、gRPCおよびgNMI双方のアクセスをサポートしています。ARISTAでは、gNMIを利用してEOSにサブスクライブするためのテスト用バイナリを準備しています。このバイナリを利用することで、gNMIでのアクセスを確認できます。

EOS gNMIの動作確認

gNMIを利用してEOS Sysdbパスにアクセスしてみます。gNMIを実行するためにローカルのLinux環境でGOの環境を整えます。Linux環境は、Network Telemetryのオープンソース連携で紹介した環境を利用しています。GOパスを設定して、githubからgNMIバイナリを取得します。

~$ export GOPATH=$HOME/go/
~$ export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
~$ go get github.com/aristanetworks/goarista/cmd/gnmi

gNMIコマンドが取得できれば、EOS Sysdbにアクセスが可能になります。TerminAttrのTCP 6042に対してストリーミングさせたいpathを指定してgNMIコマンドを実行します。

~$ gnmi -addr 172.31.1.254:6042 -username admin -password admin subscribe /Sysdb/ptp/status/intfStatus/Ethernet47/portDS

EOSの設定

gNMIを介してEOSにストリーミングさせるためには、daemonパラメータからTerminAttrエージェントを起動します。

daemon TerminAttr
   exec /usr/bin/TerminAttr -grpcaddr=172.20.10.4:6042
   no shutdown

gNMIの出力例

ここでは、”show ptp interfaces”に対するPathにサブスクライブしてPTPに関連する情報を取得してみます。EOSは、サブスクライブするクライアントが期待するインターフェースに合わせてストリミーングを行います。(EOSでは、JSON以外にOpenConfigでのストリーミングも可能です) 現在、gNMIクライアントからのアクセスに対しては、JSON形式のデータをストリーミングします。

~$ 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
/faultyFlag = false
/maxCountTillSimpleAvg = 20
/lastClearTime = 946873819.625287
/followUpMessagesSent = 3523
/delayReqMessagesSent = 0
/logMinPdelayReqInterval = 0
/syncTestRole = "syncTestDisabled"
/syncReceiptTimeout = 3
/announceReceiptTimeout = 3
/precisePeerMeanPathDelay = 0
/nrrValid = false
/pDelayRespFollowUpMessagesReceived = 0
/followUpMessagesReceived = 0
/maxLostResponsesPeerDelay = 3
/announceMessagesReceived = 0
/lastUpdateTimeAsCapable = 0
/delayReqMessagesReceived = 0
/lostResponsesPeerDelay = 0
/logMinDelayReqInterval = 5
/delayMechanism = "e2e"
/syncMessagesReceived = 0
/peerMeanPathDelay = 0
/peerPathDelayMetadata/head = 0
/peerPathDelayMetadata/tail = 0
/logSyncInterval = 0
/currentPDelayReqIntervalsNRR = 0
/pDelayRespMessagesSent = 0
/pDelayReqIntervalsNRR = 10
/portIdentity/clockIdentity/value/v0 = 0
/portIdentity/clockIdentity/value/v1 = 28
/portIdentity/clockIdentity/value/v2 = 115
/portIdentity/clockIdentity/value/v6 = 250
/portIdentity/clockIdentity/value/v7 = 54
/portIdentity/clockIdentity/value/v3 = 255
/portIdentity/clockIdentity/value/v4 = 255
/portIdentity/clockIdentity/value/v5 = 38
/portIdentity/portNumber = 47
/logAnnounceInterval = 1
/firstSuccessfulPdelayTransactionTime = 0
/pDelayReqMessagesReceived = 0
/asCapable = false
/lastGptpResidenceTime = 0
/adminDisabled = false
/gptpFollowUpMessagesSentMissed = 0
/transportMode = "ipv4"
/isMeasuringLinkDelay = false
/portState = "psMaster"
/minGptpResidenceTime = 0
/name = "_0xb14d"
/maxGptpResidenceTime = 0
/pDelayReqMessagesSent = 0
/delayRespMessagesSent = 0
/delayRespMessagesReceived = 0
/syncMessagesSent = 3523
/disabledNoIntf = false
/asCapableFalse = false
/disabledLagMember = false
/adminDisabled = false
/disabledIntfDown = false
/disabledPortDSUninitialized = false
/disabledNotBridgedOrRouted = false


EOS Network Telemetryは、市場動向を踏まえながら、最新の管理インターフェースの実装を強化しています。EOSのテレメトリは、すべての製品上で動作するEOS TerminAttrエージェントによりサポートされ、CloudVisionやサードパーティツールと連携して可視化を実現しています。さらに、今回ご紹介したように、最新の管理インターフェースの実装にも対応しています。ARISTA製品を導入することで、運用の現場に確実にテレメトリを導入することが可能になります。

Follow

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

Join other followers: