ネットワーク監視表示灯(パトライト)をHTTP APIから操作してみた
ネットワーク監視表示灯(通称:パトライト)をHTTP APIで操作してみました。
はじめに
ネットワーク監視表示灯(以下、パトライト)は、SNMPやSOCKET通信の他に、HTTPコマンド(HTTP API)に対応しています。 今回はHTTPコマンドを利用して、パトライトを操作してみました。
SNMPやSOCKET通信(シェル)からパトライトを操作する方法は下記を参考にしてみてください。
動作環境
今回は以下のWindowsとLinuxの環境で動作を試してみたした。
- Windows 10 Pro バージョン1909
- Linux Ubuntu 18.04(Win10のWSL上で動作)
- ネットワーク監視灯:NHシリーズ「NHP-3FB1」 ファームウェアバージョン1.46
パトライトの準備
ヤフオクで入手したパトライトのNHシリーズ「NHP-3FB1」は、HTTPコマンドをサポートしています。 古いファームウェアではHTTPコマンドがサポートされていないため、最新のファームウェアバージョン1.46にアップグレードしてみてください。
ファームウェアアップグレードに必要な取扱説明書やファームウェアのダウンロードは下記を参照してください。
HTTPコマンド制御機能の設定
Webブラウザからパトライトの管理画面にログインし、HTTPコマンド制御機能を有効にします。 デフォルトで機能が有効になっています。 もし下記の画面のように「HTTPコマンド制御機能」がない場合は、HTTPコマンドがサポートしていない、 ファームウェアバージョンをお使いの可能性があります。 ファームウェアアップグレードしてください。
- セットアップ項目>システム設定
- HTTPコマンド制御機能:有効
HTTPコマンド
HTTP GETリクエストで、表示灯の状態を指定できます。 リクエストURIと2つのパラメータは下記のとおりです。
項目 | 内容 |
---|---|
リクエストURI | http://<IPアドレス>/api/control?<パラメータ>=<値> |
IPアドレス | パトライトのIPアドレス |
パラメータ | alert またはclear が指定可能 |
値 | alert の場合、6桁の数字でパトライトの状態を指定。clear の場合1 が固定値。詳細は下図を参照 |
パラメータ:alert |
表示灯の状態を指定する |
パラメータ:clear |
表示灯の状態をクリア(リセット)する |
下図にHTTPコマンドの詳細を示します。
PowerShellでパトライトを操作
Windowsの場合、
PowerShellからInvoke-RestMethod
を利用することで、HTTPコマンドを発行できます。
Invoke-RestMethod
の-Uri
に表示灯の状態を指定したURIを指定することで、パトライトを操作できます。
# 表示灯の赤を点灯 > Invoke-RestMethod -Uri "http://192.168.11.101/api/control?alert=199999" Success. # 表示灯の赤を点滅(パターン1) > Invoke-RestMethod -Uri "http://192.168.11.101/api/control?alert=299999" Success. # 表示灯の赤を点滅(パターン2) > Invoke-RestMethod -Uri "http://192.168.11.101/api/control?alert=399999" Success. # 表示灯の状態をクリア(リセット) > Invoke-RestMethod -Uri "http://192.168.11.101/api/control?clear=1" Success.
curlコマンドでパトライトを操作
LinuxやMacの場合、
cURL
コマンドを利用することで、HTTPコマンドを発行できます。
curl
コマンドの引数に表示灯の状態を指定したURIを指定することで、パトライトを操作できます。
# 表示灯の赤を点灯 $ curl http://192.168.11.101/api/control\?alert\=199999 Success.% # 表示灯の赤を点滅(パターン1) $ curl http://192.168.11.101/api/control\?alert\=299999 Success.% # 表示灯の赤を点滅(パターン2) $ curl http://192.168.11.101/api/control\?alert\=399999 Success.% # 表示灯の状態をクリア(リセット) curl http://192.168.11.101/api/control\?clear\=1 Success.%
表示灯の操作結果
表示灯の操作で、下記の状態になるように指定した結果は下記のとおりです。
- 赤:点滅パターン1
- 黄:点滅パターン2
- 緑:点灯
# # 赤点滅パターン1、黄点滅パターン2、緑点灯、その他消灯 $ curl http://192.168.11.101/api/control\?alert\=231000 Success.%
パトライトをSNMPで操作して点滅させてみました🚨 pic.twitter.com/AH02c7ujAS
— kooshin (@kooshin) 2020年2月9日
おわりに
HTTP APIでパトライトを操作できるので、各種ツールと連携しやすいと思います。
パトライトがほしいと思った方は、是非ご自宅に!