![見出し画像](https://assets.st-note.com/production/uploads/images/157380053/rectangle_large_type_2_4022a33a2fa69eed22d3b7131a0cef7c.png?width=1200)
TWSNMP FC/FKのgNMI対応開発11日目:gNMIによるポーリングに対応ができた
今朝は2時半に助手の猫さんが起こしてくれましたが、早すぎるので二度寝して4時半に自力でおきました。昨日、かみさんが早く寝たので助手の猫さんが小腹の空くタイミングがズレたようです。
TWSNMP FCにgNMIによるポーリングをつける開発が、とりあえずできました。ポーリングで取得したデータの扱い方について、いろいろ悩みましたが、問題は先送りしてJavaScriptで何とかすることにしました。トラフィックの差分や単位時間の計算をできる仕組みだけ対応しておきました。
仕様としては
gNMIでは1つパスだけ取得する
取得したJSONデータをdataという変数でJavaScriptに渡す
前回取得したデータをlast_dataという変数でJavaScriptに渡す
今回の取得時刻をmSecのUNIXタイムのnowという変数でJavaScriptに渡す
前回の取得時刻は、lastというヘンスでJavaScriptに渡す
にしました。受け取ったJavaScriptで何とかしてもらうという仕様です。
シンプルなLANポートのポーリングは
![](https://assets.st-note.com/img/1728509086-2s4UEyxG0pPDLmzB75XdF9nf.png?width=1200)
name=のところでLANポートの名前を指定します。このポーリングは、gNMIツールで取得した情報から作成できるようにしています。
このポーリングを実行すると
![](https://assets.st-note.com/img/1728509201-nTotlpNZBF5h8L7VOy4R9brf.png?width=1200)
のようになります。結果も記録されます。subscribeモードも仕様は同じです。変化した時だけ記録するということだけ違います。
とりあえず、TWSNMP FKにも移植してから、SR Linux以外の機器でもテストしてみようと思います。
明日に続く
いいなと思ったら応援しよう!
![twsnmp](https://assets.st-note.com/production/uploads/images/14333815/profile_ee1accba5615957e5029db85d57fdb0a.jpg?width=600&crop=1:1,smart)