[nasne 監視システム概要]で紹介しましたが、nasne監視システムでは下図のように4つの要素で構成されています。今回はその中で収集プログラムを紹介します。収集プログラムは定期的に nasneから情報を収集し、その情報をOracle Stream Explorer (OSX) へ送信します。(図1赤点線)
▼図1:今回紹介する範囲
▼図2:情報の取得方法
▼図3:収集プログラムの概要
接続されているHDDの情報は、HDDのID、内蔵フラグ、接続ステータス、登録フラグ、空き容量、使用量、総容量、シリアルナンバー、フォーマット、名前、接続方式、製品IDが得られます。接続されていないHDDの情報はその中で、HDDのID、内蔵フラグ、マウントステータス、登録フラグのみ得られます。
nasne の I/F は HTTP で公開されています。そのため、ブラウザを使って I/F の URL にアクセスすれば情報が取得できます。パラメータとしてHDDを指定するには GET パラメータに id を指定します。id パラメータの値は内蔵HDDが 0 、外付けHDDが 1 です。
HDD情報の URL にアクセスすると、レスポンスとして JSON が返されます。このレスポンスは、エラーコードである errorcode 要素と HDD 情報である HDD 要素が含まれます。
収集プログラムはこのレスポンスの中で HDD 情報の要素 (図4オレンジ部分)を取り出して OSX へ送信します。
▼図4:HDD情報I/Fの詳細
レスポンスのエラーコードは 0 が正常なようです(残念ながら 0 以外の値を取得したことがありません・・・)。HDD情報の各要素は連想配列で返されます (図5オレンジ部分)。
▼図5:nasne から返される JSON
HDD情報 I/F の URL と GET パラメータを組み合わせると「http://<ホスト名もしくはIPアドレス>:64210/status/HDDInfoGet?id=
http://192.168.0.12:64210/status/HDDInfoGet?id=0
▼nasneのIPが192.168.0.12の時にHDD情報を取得するURL例
nasne 監視システムでは収集プログラムが定期的に nasne へアクセスして JSON を取得し、HDD要素を取りだして OSX へ送信しています。次は、Oracle Stream Explorer が HDD 情報を受け取り Librato へ送信する処理を紹介します。
参考:
nasneからHDDの情報を取得する方法は[nasneの容量を取得する]でも記載しています。
目次ページはこちらです。