PR

Nagiosの基本設定

 Nagiosの設定は,/etc/nagiosディレクトリにある表2の設定ファイルに記述する。それぞれ,ファイル名の末尾に「-sample」の付いたひな型ファイルが用意されているので,それをコピーして使うとよいだろう。ここでは,図3の手順で6つの設定ファイルを準備した。

表2●Nagiosの主な設定ファイル
表2●Nagiosの主な設定ファイル [画像のクリックで拡大表示]

図3●ひな型ファイルから設定ファイルをコピーする
図3●ひな型ファイルから設定ファイルをコピーする
resource.cfgファイルは,/etc/nagios/privateディレクトリに格納する。
[画像のクリックで拡大表示]

 Nagiosを動作させるために最低限設定が必要なのは,Webインタフェースの動作を制御する「cgi.cfg」と,監視対象となるホストやサービスなどを設定する「minimal.cfg」である。

 cgi.cfgでは,Webインタフェースを利用するユーザーの権限を設定する。ここでは「nagios」というユーザーに全権限を与えることにした。変更部分は図4の通りである。

図4●CGI用の設定ファイルを変更する
図4●CGI用の設定ファイルを変更する
該当する部分のユーザー設定を変更する。先に認証情報を作成した,「nagios」というユーザー名を設定する。
[画像のクリックで拡大表示]

 minimal.cfgでは,「timeperiod」(監視時間),「contact」(通知手段や間隔),「contactgroup」(通知するグループ),「host」(監視対象ホスト),「hostgroup」(ホストの所属グループ),「service」(監視対象サービス)の各項目を最低限設定する必要がある。ここでは,Nagiosを稼働させるホストとLANに所属する「onpu」(IPアドレスは「192.168.0.3」)というホストを監視対象にする場合を例に設定方法を紹介する(図5)。

図5●minimal.cfgファイルへのオブジェクト設定例
図5●minimal.cfgファイルへのオブジェクト設定例
このファイルには,時間設定やホスト設定,サービス設定などの監視用オブジェクトを設定する。ここでは,Nagiosが稼働するホスト「localhost」とLANに所属するホスト「onpu」を監視対象にする例を示す。
[画像のクリックで拡大表示]

 timeperiod設定では,「24x7」という名前に,24時間毎日監視を続ける設定を関連付けている(図5の(1))。以下の設定で「24x7」を指定すれば,24時間毎日監視する設定が適用される。もし勤務時間中だけ監視したいとか,夜間だけ監視したいといった場合は,別名で定義すると,複数の監視時間が用意できる。

 contact設定では,通知先や手段,通知を実施する時間などを設定する(図5の(2))。ここでは,サービスやホストに生じたあらゆる変化をメールで即座にroot@localhostあてに通知するよう設定した。

 contactgroup設定では,contact設定で設定した通知先をグループ化して管理する(図5の(3))。通知先が複数ある場合には,membersの後に,contact_nameで指定した名前をカンマで区切りながら列挙する。

 host設定では,ホストの監視方法を定義する(図5の(4))。この際,複数のホストで共通の監視方法を用いるなら,テンプレートとして共有する設定を用意できる。

 nameに「generic-host」と記された設定が,テンプレートになるホストの監視方法だ。監視時間や通知間隔(秒),通知相手のグループなどを設定している。最後の「register 0」は,この設定がテンプレートであることを示している。

 このテンプレートを利用し,各ホストの監視方法を定義したものが,host_nameに「localhost」と「onpu」を記した個所になる。useによりテンプレートを指定し,共通の監視方法を適用している。

 check_commandには,ホストが稼働中か否かを調べるコマンドを設定する。ここでは,PINGを使って調査するコマンド「check- host-alive」を設定した。なお,このコマンドは「checkcommands.cfg」ファイルで定義されている。

 hostgroup設定では各ホストの監視方法をグループ化して管理するためのものだ(図5の(5))。ここではLAN内のコンピュータをまとめて「LAN」というグループに所属させている。

 nameが「generic-service」のservice設定は,サービス設定のテンプレートである(図5の(6))。監視時間や通知間隔(秒),通知相手のグループなどを設定している。ホストの監視方法と同様に,最後の「register 0」は,この設定がテンプレートであることを示している。

 このテンプレートを利用して監視対象となるサービスを設定しているのが,service_descriptionに「PING」や「HTTP」と記した個所である(図5の(7))。localhostとonpuの双方に対し,PINGでの稼働監視とHTTPを使ったWebサーバー監視を実施するように設定した。この設定に使うコマンドも,checkcommands.cfgファイルに定義してある。