Peplink APIでできること ネットワークデータの取得と活用

導入ガイド・ハウツー,技術情報Peplink

Peplink APIでできること ネットワークデータの取得と活用

Peplinkユーザーの皆さん、こんにちは。

Peplinkでは電波品質や、リアルタイムでスループットの変動を
グラフ波形としてみることができる機能があります。

これは一目で回線状況を大まかに判断できるので
大変便利な機能となっており私たちも検証やお客様先でよく使ってる機能です!

そしてこの機能があることをお見せすると
「このグラフデータを数値で取得できないの?」と聞かれることが多いのですが、
正直PeplinkのGUIだけでは画像保存(画面からExportボタン押下)するのが精一杯です😭

しかしPeplink APIを活用することで、数値データの取得が可能になっています!

APIを用いれば今まで以上に精密な分析が可能になりますので、
今回はPeplinkのAPIについて簡単に紹介していこうと思います!

Peplink APIの基本

Peplinkで利用できるAPIは2種類あります。

  • デバイスAPI
  • InControl2 API

デバイス API

単一または少数のデバイスをリアルタイムかつ詳細に制御したい場合は
こちらのPeplinkデバイスAPIを活用してください。

本記事ではこちらのAPIを叩いていきます!
※FWごとにコマンドが変わってる場合がありますので、お手持ちのPeplinkデバイスのFWを確認してからご活用ください。

InControl2 API(以降 IC2 API)

ネットワーク全体を一元管理・監視したい場合はIC2 APIをご活用ください。

使い分け表

項目PeplinkデバイスAPIIC2 API
アクセス方法デバイスへの直接アクセスクラウド経由
対象範囲個別デバイス複数デバイス(グループ/組織単位)
リアルタイム性高いやや低い(クラウド経由のため遅延あり)
設定変更の細かさデバイス固有の詳細設定が可能一部設定のみ(クラウドから適用可能な範囲)
レポート機能限定的帯域幅や稼働状況など詳細な統計情報取得可能
適した規模感小〜中規模ネットワーク中〜大規模ネットワーク

デバイスAPIの利用準備

とりあえずデバイスAPIを叩いてみたいという場合は
curl コマンドPostman がおすすめです。

本記事ではPostmanの方を利用して進めて行きます。
インストール後アカウントの作成を行い、ログインをしてください。

※本格的に活用したいという方はスクリプトを組んで定期的にデータの取得ができるようにするとデータ収集に活用できると思います!

APIを使用する前にはWebAdmin同様、デバイスにログイン(認証)が必要になります。
そのため下記を参考にしてデバイス認証を受けてください。

該当のPeplinkのLANに接続し、Postmanを開いてください。

  1. HTTPメソッドをPOSTに変更
  2. デバイスIPを入れる:https://【デバイスIP】/api/login
  3. Body部分をrawに変更しPeplinkの管理画面(WebAdmin)へのログインユーザー名とPWを入力
  4. Sendを押す

上記操作を行うとJSON形式でステータスが返ってきます。
statがokならログイン成功です。

APIによるデータの取得

では次にAPIを用いてSpeedFusionVPNの内訳を取得していきます。

  1. HTTPメソッドをPOSTに変更しBodyはnone
  2. https://192.168.80.1/api/status.pepvpnでpeerIdを確認
  3. https://【デバイスIP】/api/status.pepvpn?tunnelOption=【peerId
取得結果を一部抜粋
"ip": "192.0.0.2",
            "port": 4500,
            "time": {
              "second": 444296,
              "nanoSecond": 37039436
            },
            "rtt": 29,
            "receive": {
              "byte": [
                1160
              ],
              "packet": {
                "wan": [
                  2401
                ],
                "forward": [
                  16
                ],
                "fragment": [
                  0
                ],
                "loss": [
                  1
                ],
                "outOfOrder": [
                  0
                ],
                "recover": [
                  0
                ],
                "discard": [
                  0
                ]
              }
            },
            "transmit": {
              "byte": [
                1600
              ],
              "packet": {
                "wan": [
                  2425
                ],
                "forward": [
                  23
                ],
                "fragment": [
                  0
                ],
                "loss": [
                  0
                ],
                "outOfOrder": [
                  0
                ],
                "fec": [
                  0
                ],
                "redundant": [
                  0
                ]
              }
            },
            "rx": [
              1160
            ],
            "tx": [
              1600
            ],
            "loss": [
              0
            ]
          },
  • ラウンドトリップタイム
  • 送受信データ量
  • パケットの内訳(WAN経由、転送、ロス、順序乱れなど)

等を取得することができました。

これらのデータを活用することで、
回線状況をより詳しく分析していくことが可能になります。

まとめ

いかがだったでしょうか。
今回はPeplink APIについて簡単にではありますが、紹介させていただきました。

簡単に叩きたい場合は、curl コマンドPostman 等のツールを使って叩くことをお勧めします。

定期的に回線のデータが欲しい場合は
スクリプトを組んでいただき、APIをコールする仕組みを作成すれば可能です。

実際にPeplinkのGUIより精密な分析を行う必要があるケースでは、
APIはよく活用されていますのでご活用してみてください!

Visited 13 times, 1 visit(s) today