LAN内のマシンを監視してみる。 #contents *インストール [#i398b25d] 以下のようにパッケージをインストールする。関連してたくさんのパッケージもインストールされる。apache2-mpm-workerを使っている場合、apache2-mpm-preforkに置き換えられる。 # apt-get install nagios3 nagios3-doc nagios-nrpe-plugin インストール中の質問で、nagiosadminのパスワードを聞かれる。ユーザ名が気に入らない場合は、ここでの設定はせず、後から自分で作成することもできる。 *設定 [#ha515751] **設定ファイルの編集 [#c4ffdaea] インストール直後は、ドキュメントのリンクがうまく動作しないので、以下のように書き換える。 -/etc/apache2/conf.d/nagios3.conf - DirectoryIndex index.php + DirectoryIndex index.php index.html *接続 [#f32193eb] 以下のURLへ接続すると、管理画面が表示される。 http://<Nagiosをインストールしたマシン名>/nagios3/ *監視対象追加 [#sa0b37d7] 監視対象を追加するときは、/etc/nagios3/conf.d/localhost_nagios2.cfgをコピーして使う。外部から確認できる項目(HTTP,SSHなど)だけなら、ホスト名とIPアドレスを書き換えて、/etc/nagios3/conf.d/hostgroups_nagios2.cfgも編集すると監視できる。 **内部情報の取得 [#j19381c5] ディスクステータスなどの内部情報は、監視対象にエージェントをインストールする必要がある。 # apt-get install nagios-nrpe-server その後、設定ファイルを編集する。ここでは、監視サーバの指定、監視パラメータの受け取り許可(セキュリティリスクあり)、監視コマンドの指定を行う。 その後、設定ファイルを編集する。ここでは、監視サーバの指定、監視コマンドの指定を行う。 -/etc/nagios/nrpe.cfg (監視対象側、変更) allowed_hosts=<監視サーバのIPアドレス> command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e -/etc/nagios3/conf.d/<設定ファイル>.cfg (監視サーバ側、変更) # check_command check_all_disks!20%!10% check_command check_nrpe_1arg!check_all_disks ***VMware ESXiの監視 [#id11774e] VMware ESXiの監視をするスクリプトが公開されているので、それを使用する。 # apt-get install python-pywbem # mkdir /opt/nagios # cd /opt/nagios # wget http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.py -/etc/nagios3/conf.d/<設定ファイル>.cfg (監視サーバ側、変更) check_command check_esxi_hardware!root!/opt/nagios/.vmwarepasswd!dell パスワードはファイルに保存する。nagiosユーザ、またはnagiosグループの読み取り権限の見つけておけば良い。~ 最後の引数(dell)は、監視対象のハードウェアメーカーで、auto, dell, hp, ibm, intel, unknownのいずれかを指定する。 -/etc/nagios3/commands.cfg (監視サーバ側、追加) define command{ command_name check_esxi_hardware command_line /opt/nagios/check_esxi_hardware.py -H $HOSTADDRESS$ -U $ARG1$ -P file:$ARG2$ -V $ARG3$ $ARG4$ } ***パラメータを監視サーバから指定 [#vf0a1e61] チェックパラメータを監視サーバから受け取るに方法もあるが、受け取った引数をつけてそのまま実行されるので、セキュリティリスクがある。 -/etc/nagios/nrpe.cfg (監視対象側、変更) #dont_blame_nrpe=0 dont_blame_nrpe=1 command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$ -/etc/nagios3/conf.d/<設定ファイル>.cfg (監視サーバ側、変更) # check_command check_procs!250!400 check_command check_nrpe!check_procs!250!400 *はまったこと [#la930119] **Apacheモジュール [#i00aa07f] Apacheのモジュールをデフォルトから減らしていると、インストールや起動に失敗する。少なくとも、以下のモジュールは必要だった。 -auth_basic -authn_file -authz_default -authz_user **SSL未対応の監視対象 [#q3ad721d] 監視対象によっては、SSLに対応していないことがある。この場合、以下のようなエラーがログファイルに書かれる。 Jun 5 16:35:20 obs600 nrpe[4704]: Could not read request from client, bailing out... 対処方法として、以下のように、"-n"オプションを追加する。 -/etc/nagios3/commands.cfg command_line /usr/lib/nagios/plugins/check_nrpe -n -H $HOSTADDRESS$ -c $ARG1$ *参考 [#re8973f3] -http://gasser.blog114.fc2.com/blog-entry-481.html -http://satospo.sakura.ne.jp/blog_archives/tech/network/nagios_nrpe.html -[[http://nagios.x-trans.jp/nagios/index.php/メインページ>http://nagios.x-trans.jp/nagios/index.php/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8]] -http://sbanana4377.blogspot.com/2011/04/esxi-nagios.html -http://www.claudiokuenzler.com/nagios-plugins/check_esxi_hardware.php