Raspberry PiとNagiosで室温を効率監視
過去数ヶ月、開発・本番システム監視ソリューション実装・構築に取り組んできました。Nagiosは最も愛されかつ嫌われる監視ソリューションなので、その仕組み習得を義務と感じました。ユーザー権限、ファイアウォールルール、壊れた依存関係、ありとあらゆる問題と格闘し、ついに動作するNagiosシステム構築完了。Bootstrap好きで設定を可能な限り痛みなくしたい私は、Nagios上にAdagios導入。Nagios対応が遥かに楽になり、見た目も格段に良くなるので強く推奨。
さて本題:トレンド継続中、可能な限りRaspberry Pi活用。小型、低消費電力、センサー接続十分な入力。最近r/sysadminスクロール中、以下投稿発見「先月清掃スタッフが愛するサーバーを傷つけた」。考えさせられた…ディスク容量、メモリ使用率、CPU負荷監視してるなら、サーバールーム温度監視も始めるべきでは?
必要ツール
- Raspberry Pi
- 4.7kΩ抵抗
- DS18B20
配線
ブレッドボードとジャンパーケーブルでセットアップテスト、その後はんだ付け。はんだ付け不可なら4.7kΩ抵抗を3.3V(赤線)とデータライン(黄線)間にはんだ付け。
以下はAdafruitチュートリアルからの配線図。
NRPEセットアップ
Nagiosで温度監視するにはRaspberry PiにNRPEエージェントインストール必須。クイックガイド:
- 以下サイトからNRPE-2.xダウンロード・展開:
https://sourceforge.net/projects/nagios/files/nrpe-2.x/ - 展開:
tar -zxvf nrpe-2.15.tar.gz - ディレクトリ移動:
cd nrpe-2.15/ - NRPEがARM SSLライブラリ見つけられるようシンボリックリンク作成:
sudo rm /usr/lib/libssl.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so /usr/lib/libssl.so - 設定プロセス実行、依存不足あれば通知(対処):
./configure - インストール前にnagiosユーザー/グループ作成。rootでビルド・インストール:
sudo useradd nagios
sudo make all
sudo make install
sudo make install-plugin
sudo make install-daemon - サンプル設定ファイルをNRPEインストールディレクトリへコピー:
sudo mkdir /usr/local/nagios/etc
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/ - Debian init.dスクリプトコピー、実行権限付与:
sudo cp init-script.debian /etc/init.d/nrpe
sudo chmod 700 /etc/init.d/nrpe - nrpe.cfg編集、Nagiosサーバーをallowed_hosts追加。check_tempコマンド追加:
sudo vim /usr/local/nagios/etc/nrpe.cfg
> allowed_hosts=127.0.0.1,YOUR_NAGIOS_SERVER_IP_HERE
> command[check_temp]=/usr/local/nagios/libexec/check_temp.sh -w 30 -c 40 - ポート5666アクセス許可:
nrpe 5666/tcp #nrpe
- nrpe.cfg編集、Nagiosサーバーをallowed_hosts追加。check_tempコマンド追加:
- NRPEサービス開始:
sudo service nrpe start - 動作確認:
ps aux | grep nrpe
出力例:[email protected]:/tmp/nrpe-2.15# ps aux | grep nrpe nagios 8869 0.0 0.2 4084 980 ? Ss 21:43 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- 再起動時自動起動設定:
sudo update-rc.d nrpe defaults
NRPEエージェントRaspberry Piインストール完了。check_tempスクリプトインストールへ。
コード
以下スクリプトを check_temp.sh として /usr/local/nagios/libexec/ に保存
実行権限付与:chmod +x /usr/local/nagios/libexec/check_temp.sh
詳細:Monitoring Room Temperatures with a Raspberry Pi and Nagios
製造プロセス
- 複数DS18B20 1-WireセンサーをRaspberry Pi接続で精密温度監視
- Raspberry Pi 2でDS18B20温度センサー読み取りガイド
- Raspberry Pi & Webダッシュボードで自宅温度・湿度監視 – リアルタイムリモート追跡
- Raspberry PiとDS18B20によるプロフェッショナルな温度監視
- Raspberry PiでMaxim 1-WireセンサーとDS2482 I2Cブリッジを用いた温度測定
- ホームエナジーセンター:Raspberry PiとMoteinoで太陽光発電、ソーラー熱、室温を監視
- Raspberry Piでサーバークローゼットの温度を正確に監視
- Raspberry Pi 3とPubNubでリモート気象監視
- Raspberry Piで室温監視 – Gnuplotグラフとメールアラート
- SensorflareとRaspberry Piで433MHzスマートホームコントローラーを構築
- Samsung SAMI、Arduino UNO、Raspberry Piで高速・信頼性の高い火災検知システムを構築