Raspberry PiにUSB温度計を付けてサーバールーム内の温度計測をやってみました。
環境
OS | Pidora 18 (Raspberry Pi Fedora Remix) |
---|
USB温度計から温度を取得
温度取得のコマンドの準備
USB温度計から温度情報を取得するには専用のコマンドが用意されています。
ソース取得の為のgit、コンパイルに必要なパッケージします。
yum install libusb-devel git
ソースをclone&コンパイル
ありがたくソースを持ってきてコンパイルします。
git clone git://github.com/bitplane/temper.git cd temper make
コマンドファイルを配置
make後、同ディレクトリに『temper』という実行ファイルが出来ています。
そのファイルを以下ディレクトリにファイル名をtemerallに変えて移動させます。
mv temper temperall mv temperall /usr/local/bin/
表示結果を温度のみにする
通常は表示はコマンド実行時の日時と温度なのですが、監視しやすくするように温度のみにします。
通常の表示例
カンマ区切りで日時と温度が表示されます。
[root@raspi temper]# /usr/local/bin/temper 12-Aug-2013 00:00:01,22.745806
以下のようなスクリプトを用意してあげて温度のみ表示させます。
/usr/local/bin/temper
#!/bin/sh /usr/local/bin/temperall | cut -d "," -f 2 | cut -d "." -f 1
実行権を付けておきます。
chmod +x /usr/local/bin/temper
試しに実行してみて温度のみ表示されるか確認します。
以下のようになればOKです。
[root@raspi ~]# /usr/local/bin/temper 21
Zabbixエージェントの設定
次にzabbix-agentのインストールと設定を行います。
インストール
yum install zabbix-agent
設定ファイルの編集
/etc/zabbix/zabbix_agentd.conf
以下のように編集します。
ZabbixサーバーのIPアドレスを指定
(略) Server=10.0.0.1 (略) ServerActive=10.0.0.1 (略)
Zabbixサーバーに設定した監視対象ホスト名
監視対象ホスト名とZabbixサーバーに設定したホスト名が同じでないといけない。
Hostname=raspi.example.com
以下を追記
これがないとzabbix_getしてもZBX_NOTSUPPORTEDになる。
EnableRemoteCommands=1 LogRemoteCommands=1
PIDファイル保存ディレクトリを作成
mkdir /var/run/zabbix chown zabbix:zabbix /var/run/zabbix/
zabbix-agent自動起動設定
systemctl enable zabbix-agent.service
zabbix-agent起動
systemctl start zabbix-agent.service
監視対象ホストでiptablesが動いている場合は止めるかiptablesの設定を一時的に消してやる。
iptables -F
Zabbixサーバーの設定
温度計測にRaspberry Piを使う理由
- 小型なのでピンポイントの場所に置いて温度計測が出来る
- 空いてるサーバーでUSB温度計で計測していたらカーネルパニックが多発した
小型なのでピンポイントの場所に置いて温度計測が出来る
大きな理由はこれです。
USB延長ケーブルを利用すれば測りたい場所に設置出来るのですが、タワー型やラックマウントサーバーをわざわざ使うのものもなーと思いRaspberry Piを使うことにしました。
空いてるサーバーでUSB温度計で計測していたらカーネルパニックが多発した
当初CentOS6.4が動いているサーバーに差して使っていたのですが、カーネルパニックが多発して使い物になりませんでした。
SL6.4の最新にしてもpanicするのでUSB温度計外した。もともとRaspberry Piで使うつもりで、そっちだと大丈夫だといいんだけど
— fujiwara (@fujiwara) 5月 19, 2013
USB温度計使ったことによるkernel panic再現したのでとりあえずSL6.4の最新に上げてしまおう
— fujiwara (@fujiwara) 5月 19, 2013
同じ事を仰っている方が!
同じ製品のUSB温度計かは分かりませんが。