差分

提供: fukudat.net
ナビゲーションに移動検索に移動
1,661 バイト追加 、 2020年6月4日 (木) 00:58
ページの作成:「主にCactiと連動することを目的に、センサー類から出る時系列データを収集したり、直近の一定期間の平均をとる API を用...」
主に[[Cacti]]と連動することを目的に、センサー類から出る時系列データを収集したり、直近の一定期間の平均をとる API を用意した。[[Category:How-To]]

[[GM-10]], [[USBRH]], [[IIJmio]] はこれでデータを集めて、Cacti とつながっている。

== API ==
どれもアクセスにはDigest認証が必要。

=== デバイスリスト ===
<pre>
HTTP GET /api/sensors/[センサーカテゴリ名]
</pre>
センサーカテゴリにあるデバイスIDのリストを返す。

センサーカテゴリには以下のものがありそう。
* temperature: 温度・湿度計 [[USBRH]]
* radiation: ガイガーカウンタ [[GM-10]] のdose rate
* iijmio: IIJmioの通信容量 [[IIJmio]]

=== 最新の値を登録する ===
<pre>
HTTP POST /api/sensors/[センサーカテゴリ名]/[デバイスID]/[タイムスタンプ]
</pre>
指定したセンサーカテゴリに所属するデバイスIDのタイムスタンプ時点の値を追加・更新する。

=== 最新の値を読む ===
<pre>
HTTP GET /api/sensors/[センサーカテゴリ名]/[デバイスID]/last
</pre>
指定したセンサーカテゴリに所属するデバイスIDのタイムスタンプ時点の一番新しい値を読む。

== Cacti のための Script/Command ==
例えば、cacti-temperature コマンドは、cacti の poller が呼び出すコマンドで、現在の値を以下のような形式で返す。
<pre>
$ cacti-temperature [デバイスID]
t: 温度 h:湿度
</pre>
これを Cacti が parse して Round Robin Database (RRD) に格納することで、cacti は時系列グラフを描画する。

案内メニュー