【Nagios集中講座 第5回】Nagiosのディレクトリ構造とファイルの役割を知ろう

前回は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配下のファイルを眺めてみると良いでしょう。

次回は、オブジェクト設定の種類について、さらに詳しく説明します。

Nagios集中講座 Index

この記事を書いた人

井上 研一

井上 研一

経済産業省推進資格ITコーディネータ/ITエンジニア。
合同会社井上研一事務所代表、株式会社ビビンコ代表取締役。
北九州市出身、横浜市在住。AIやIoTに強いITコーディネータとして活動。北九州市主催のビジネスコンテスト「北九州でIoT」に応募したアイディアが入選し、メンバーと株式会社ビビンコを創業。著書に「初めてのWatson」、「ワトソンで体感する人工知能」など。セミナーや研修講師での登壇多数。

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします