Nagiosをブラウザから制御する外部コマンドの導入

 Nagiosは、ブラウザの監視画面から動作をコントロールする機能を有している。以下にその組込み方法を述べる。

1.外部コマンドとは
「Nagios以外のアプリケーションつまりブラウザなどから、Nagiosに対して様々な命令を与え実行させる」仕組みのようである。
具体的にNagiosにさせることができることは、
  ・ Nagiosを終了させたり、再起動させたりする。
  ・ スタンバイ・モードに変えたり、アクティブ・モードに変えたりする。
  ・ あるサービスのチェックをできなくしたり、再度チェックできるようにする。
  ・ あるホストの全てのサービスのチェックをできなくしたり、再度チェックできるようにする。
  ・ ホストやサービスに関するメールでの通知をできなくしたり、できるようにする。
  ・ ホストやサービスに関するコメントを書き込む。
などがある。

 そして、Nagiosはこれらの命令が与えられたかどうかを次のタイミングでチェックしているようである。
  ・ 定期的なチェック = Main Configuration File(/usr/local/netsaint/etc/nagios.cfg)の
                「command_check_interval」でチェックする間隔を定義する。
  ・ イベントハンドラーが実行された場合。

2.外部コマンドの実行設定

    * check_external_commands オプションで外部コマンドチェックを有効にする
      デフォルトの0から1
    * command_check_interval オプションでコマンドチェックの頻度を設定する
      デフォルトが-1であったのでそのままとした
    * command_file オプションでコマンドファイルの場所を指定する。
   外部コマンドファイルをそれ専用のディレクトリに置くのが最も良い
   ( 例えばデフォルトは/usr/local/nagios/var/rwでありこれで問題は無い。)
    * 外部コマンドファイルを含むディレクトリの権限を適切に設定する。

 具体的な操作は以下の通りである。
 a.グループnagiocmdの作成
   /usr/sbin/groupadd nagiocmd

 b.ウェブサーバユーザとNagiosユーザーを作成したグループに追加する。
   /usr/sbin/usermod -G nagiocmd nagios
   /usr/sbin/usermod -G nagiocmd nobody(Turbolinux)   apache(RedHat7.3) www-data(Debian)

 c.ディレクトリを作成する 
   コマンドファイルを置くディレクトリを作成する。
   デフォルトでは、/usr/local/nagios/var/rwであるのでそれでよいが、
   不都合があればcommand_fileで異なるディレクトリの指定は可能である。

   mkdir /usr/local/nagios/var/rw Nagios2.9ではrwはインストール時
                   作成されていたが念のため作り直した。

   ディレクトリのオーナーとパーミッションの設定
   chown nagios.nagiocmd /usr/local/nagios/var/rw
   chmod u+rwx /usr/local/nagios/var/rw
   chmod g+rwx /usr/local/nagios/var/rw
   chmod g+s /usr/local/nagios/var/rw

   パーミッションの検証
   ls -al /usr/local/nagios/var
    drwxrws---   2 nagios nagiocmd     1024 Aug 11 16:30 rw 赤字を確認する。

 以上で完了である。/usr/local/nagios/var/rw/nagios.cmd は自動生成される。

  この後apache2の再起動nagiosの開始で機能するはずである。


3.実行例
 コメントを入れてみた。

コメント表示

 また、ホスト監視のロックをやってみた。

コマンド指定画面s右矢印コマンド指定s
下矢印
コマンド成功例右矢印コマンド操作結果

 最後の画像で、コメント画像はコメントがあることを表し、停止画像は監視を停止させていることを示している。
 

ホームページトップ  LinkStationトップ