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

Peplinkユーザーの皆さん、こんにちは。
Peplinkでは電波品質や、リアルタイムでスループットの変動を
グラフ波形としてみることができる機能があります。
これは一目で回線状況を大まかに判断できるので
大変便利な機能となっており私たちも検証やお客様先でよく使ってる機能です!

そしてこの機能があることをお見せすると
「このグラフデータを数値で取得できないの?」と聞かれることが多いのですが、
正直PeplinkのGUIだけでは画像保存(画面からExportボタン押下)するのが精一杯です😭
しかしPeplink APIを活用することで、数値データの取得が可能になっています!
APIを用いれば今まで以上に精密な分析が可能になりますので、
今回はPeplinkのAPIについて簡単に紹介していこうと思います!
Peplink APIとは?
Peplinkで利用できるAPIは2種類あります。
- デバイスAPI
- InControl2 API
デバイス API
各Peplinkデバイス本体が持つAPIです。
- デバイスのWeb管理画面(Web Admin)と同じポートで動作し、HTTPS経由で直接デバイスにアクセスします。
- 主に個別デバイスのリアルタイムかつ詳細な制御や監視が可能です。
- 例として、WANやLANの接続状態取得、設定変更、デバイスの再起動などが行えます。
本記事ではこちらのAPIを叩いていきます!
※FWごとにコマンドが変わってる場合がありますので、お手持ちのPeplinkデバイスのFWを確認してからご活用ください。
InControl2 API(以降 IC2 API)
Peplinkのクラウド型統合管理サービスInControl 2(IC2)が提供するAPIです。
- インターネット経由で、組織内の複数デバイスを一括管理・監視できます。
- デバイスの状態監視、使用状況レポート、ユーザー統計取得、リアルタイムマップ表示、アラート情報取得などが可能です。
- OAuth2.0による認証を行い、アクセストークンでAPIにアクセスします。
- 一度に多くのデバイスをまとめて管理・監視・設定でき、グループ単位や組織単位での運用に適しています。
デバイスAPIとIC2 APIはどう使い分ける?
項目 | PeplinkデバイスAPI | IC2 API |
---|---|---|
アクセス方法 | デバイスへの直接アクセス | InControl2クラウド |
対象範囲 | 個別デバイス | 複数デバイス(グループ/組織単位) |
リアルタイム性 | 高い | やや低い(クラウド経由のため遅延あり) |
代表的な機能 | 設定変更、再起動、詳細状態取得 | 状態監視、レポート、グループ管理 |
使用シーン | ローカル自動化、即自制御、監視 | クラウド統合管理、SaaS連携 |
デバイスAPIを使うための手順は?
とりあえずデバイスAPIを叩いてみたいという場合はcurl コマンド
や Postman
がおすすめです。
本記事ではPostmanの方を利用して進めて行きます。
インストール後アカウントの作成を行い、ログインをしてください。

※本格的に活用したいという方はスクリプトを組んで定期的にデータの取得ができるようにするとデータ収集に活用できると思います!
APIを使用する前にはWebAdmin同様、デバイスにログイン(認証)が必要になります。
そのため下記を参考にしてデバイス認証を受けてください。
該当のPeplinkのLANに接続し、Postmanを開いてください。
- HTTPメソッドをPOSTに変更
- デバイスIPを入れる:https://【デバイスIP】/api/login
- Body部分をrawに変更しPeplinkの管理画面(WebAdmin)へのログインユーザー名とPWを入力
- Sendを押す

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

実際にAPIでどのようなデータが取得できるの?
では次にAPIを用いてSpeedFusionVPNの内訳を取得していきます。
- HTTPメソッドをPOSTに変更しBodyはnone
- https://192.168.80.1/api/status.pepvpnでpeerIdを確認
- 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はよく活用されていますのでご活用してみてください!
Quick Q&A
Q. PeplinkのAPIは誰でも使えますか?
A. 一部のAPIはInControl2契約が必要ですが、ローカルで使うデバイスAPIは無料で利用可能です。
Q. API認証は毎回ログインしないといけませんか?
A. 認証トークンの有効時間内であれば、都度のログインは不要です。
Q. Postman以外でもPeplink APIは使えますか?
A. はい、curlやPythonなど任意のHTTPクライアントで実行可能です。