前回はNagiosのインストールを行いました。
今回は予告どおり、Nagiosのディレクトリ構成とファイルの役割について説明していきます。
ディレクトリ構造
/usr/local/nagios
配下のディレクトリ構造は下記のようになっています。
- bin ・・・実行ファイル
- etc ・・・設定ファイル
- include
- libexec ・・・プラグイン
- sbin
- share ・・・Web画面(結果表示)のCGI
- var ・・・ロックファイル、ログファイル、監視結果ファイルなど
さらに、varディレクトリは下記のような構造です。
- archives ディレクトリ ・・・nagios.logのアーカイブ
- rw ディレクトリ ・・・nagios.cmdパイプ(後述)がある
- spool ディレクトリ ・・・Nagiosが内部的に使用
- nagios.log ファイル ・・・Nagiosのログファイル
- nagios.lockファイル ・・・Nagiosのロックファイル
- status.datファイル ・・・監視結果ファイル(テキスト形式)
- retention.datファイル ・・・Nagiosを再起動した際に状態を維持しておくために使用
- objects.cacheファイル ・・・設定ファイルから読み取った内容をキャッシュする
nagios.cmdパイプは、外部コマンドと呼ばれるコマンドをこのパイプに流し込むことで、Nagios Coreにいろいろなことを伝えることが出来ます。Nagiosの再起動も外部コマンドで行うことが出来ます。また、外部コマンドの代表的な活用例として、パッシブ監視の監視結果の投入があります。
また、NDOUtilsを導入した場合は、下記のファイルもvarディレクトリに格納されます。
- ndo.sockファイル ・・・NDOのソケット
- ndo2db.lockファイル ・・・NDO2DBのロックファイル
設定ファイルの種類
etcディレクトリには設定ファイルが格納されます。設定ファイルはすべて単純なテキストファイルです。
設定ファイルは、Nagios全体の動作を司るものと、Nagiosが監視する対象などについて個別に設定していくものの2種類があります。後者を特にオブジェクト設定ファイルといいます。
- nagios.cfg ・・・Nagios全体の設定ファイル
- cgi.cfg ・・・Web画面の設定ファイル
特に重要なのは、nagios.cfgです。このファイルの設定内容により、Nagiosの動作が決まります。オブジェクト設定ファイルのパスもここで設定します。
オブジェクト設定ファイル
オブジェクト設定ファイルは決まったファイル名はありません。すべてのオブジェクト設定を1つのファイルにまとめて書いても良いし、オブジェクト設定ごとに別のファイルにしても良いです。すべては、nagios.cfgで設定したとおりにファイルを読み込むということですね。
もちろん、オブジェクト設定ごとの書き方は決まっています。オブジェクトの種類は、下記のとおりです。
- host ・・・ホスト定義
- hostgroup ・・・ホストグループ定義
- service ・・・サービス定義
- servicegroup ・・・サービスグループ定義
- contact ・・・通知先定義
- contactgroup ・・・通知先グループ定義
- timeperiod ・・・時間帯定義
- command ・・・コマンド定義
- hostdependency ・・・ホスト依存定義
- servicedependency ・・・サービス依存定義
- hostescalation ・・・ホストエスカレーション定義
- serviceescalation ・・・サービスエスカレーション定義
- hostextinfo ・・・拡張ホスト情報定義
- serviceextinfo ・・・拡張サービス情報定義
これらのオブジェクトの種類を常にいつも使うわけではありません。必要なものだけ書けば良いのです。
ホスト、ホストグループ、サービス、通知先、通知先グループ、時間帯、コマンドといったあたりは、デフォルトでも定義されていますので、/usr/local/nagios/etc/objects配下のファイルを眺めてみると良いでしょう。
次回は、オブジェクト設定の種類について、さらに詳しく説明します。