概要
Raspberry Pi にNagiosをインストールして、インターネットサーバのHTTP監視を行います。
経緯
Raspberry Pi で何ができるかを考えていたのですが、一般的な公開サーバとして利用するにはスペックが貧弱で現実的ではないというところから抜け出せず。
それならば、スペックが低くても問題なく、低消費電力で公開サーバとは別インフラが望ましい外部からの監視用途として、HTTP監視を任せられるのではないかと考えました。
Nagiosのインストール
$ sudo apt-get install nagios3
インストール途中で、Nagios管理画面へのログインパスワードを設定します。
インストールが完了したら、ブラウザからNagios管理画面にアクセスしてみます。
認証情報は、nagiosadminユーザととインストール時に設定したパスワードでログインできます。
NagiosにHTTP監視を設定
サーバ毎の監視設定を行うために、設定ファイルを配置するディレクトリを決定します。
$ sudo vi /etc/nagios3/nagios.cfg
#cfg_dir=/etc/nagios3/servers
cfg_dir=/etc/nagios3/servers
$ sudo mkdir /etc/nagios3/servers
サーバ毎の設定ファイルを設定していきます。
ここでは「example.com」のHTTP監視を設定しています。
複数のURLを監視する場合は、同様の設定を追記していきます。
$ sudo vi /etc/nagios3/servers/my-server.cfg
# host
define host{
use generic-host
host_name example.com
address example.com
}
# http
define service{
use generic-service
host_name example.com
service_description HTTP example.com
check_command check_http
}
設定が完了したらNagiosをリロードして反映します。
$ sudo service nagios3 reload
Nagios管理画面にアクセスすると、追加したHTTP監視項目が表示されているはずです。
監視対象のサイトがダウンすると、デフォルト設定でroot宛にメールが送信されるようになっています。
メール送信はmailコマンドを使用するようになっているため、予めmailutilsパッケージをインストールしておく必要があります。
$ sudo apt-get install mailutils
Raspberry Pi による監視の今後
ここまでの設定では異常検知時にメールを送信するだけですが、Raspberry Pi がサイレンを鳴らしたり、寝ているところを優しく起こしにきてくれたりする日が近いうちに実現する気がします。