kooshinlab / コーシンラボ

現役ネットワークエンジニアが、ネットワーク運用で必要になった技術の記事を書くブログです。

ネットワーク監視表示灯(パトライト)をHTTP APIから操作してみた

ネットワーク監視表示灯(通称:パトライト)をHTTP APIで操作してみました。

はじめに

ネットワーク監視表示灯(以下、パトライト)は、SNMPやSOCKET通信の他に、HTTPコマンド(HTTP API)に対応しています。 今回はHTTPコマンドを利用して、パトライトを操作してみました。

SNMPやSOCKET通信(シェル)からパトライトを操作する方法は下記を参考にしてみてください。

動作環境

今回は以下のWindowsLinuxの環境で動作を試してみたした。

パトライトの準備

ヤフオクで入手したパトライトのNHシリーズ「NHP-3FB1」は、HTTPコマンドをサポートしています。 古いファームウェアではHTTPコマンドがサポートされていないため、最新のファームウェアバージョン1.46にアップグレードしてみてください。

ファームウェアアップグレードに必要な取扱説明書やファームウェアのダウンロードは下記を参照してください。

HTTPコマンド制御機能の設定

Webブラウザからパトライトの管理画面にログインし、HTTPコマンド制御機能を有効にします。 デフォルトで機能が有効になっています。 もし下記の画面のように「HTTPコマンド制御機能」がない場合は、HTTPコマンドがサポートしていない、 ファームウェアバージョンをお使いの可能性があります。 ファームウェアアップグレードしてください。

  • セットアップ項目>システム設定
    • HTTPコマンド制御機能:有効

f:id:KOOSHIN:20200210234834p:plain
HTTPコマンド制御機能

HTTPコマンド

HTTP GETリクエストで、表示灯の状態を指定できます。 リクエスURIと2つのパラメータは下記のとおりです。

項目 内容
リクエスURI http://<IPアドレス>/api/control?<パラメータ>=<値>
IPアドレス パトライトIPアドレス
パラメータ alertまたはclearが指定可能
alertの場合、6桁の数字でパトライトの状態を指定。clearの場合1が固定値。詳細は下図を参照
パラメータ:alert 表示灯の状態を指定する
パラメータ:clear 表示灯の状態をクリア(リセット)する

下図にHTTPコマンドの詳細を示します。

f:id:KOOSHIN:20200210234628p:plain
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コマンドでパトライトを操作

LinuxMacの場合、 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.%

おわりに

HTTP APIパトライトを操作できるので、各種ツールと連携しやすいと思います。

パトライトがほしいと思った方は、是非ご自宅に!