分散監視 (Distributed Monitoring)・ NSCA ( NetSaint Service Check Acceptor ) NSCAは、アドオンパッケージですが、中央サーバー(CMS)上ではデーモンとして nsca を使い、DMS(Distriuted Monitoring Server)上ではクライアントとして send_nsca を使う、ということである。 中央サーバー上のNagios側は受身の体勢ですので、リモートのホストから送られてくる情報を待ち受けるためにnscaと いうデーモン を稼動しておくことになります。 それでは、この NSCA のインストールと設定について以下の通りである。 (1)事前準備 さて、NSCAはリモートホストとデータのやり取りを行うため、セキュリティに関して十分な注意が必要となります。 そこで、NSCAにはやり取りするデータを暗号化する機能を装備していますので、これを使うことにしましょう。 NRPEではなく、NRPEPを使うようにしましょう、ということです。 データ暗号化の機能を利用するためには、「 libmcrypt 」というライブラリが必要となりますので、「Mycrypt 」サイトからダウンロードしてきます。 そして、以下の方法でCMSとDMSの両方にインストールします。
インストールが済んだら、libmcryptライブラリがインストールされたパスを「 LD_LIBRARY_PATH 」という環境変数に追加しなければなりません。 これを忘れると、NSCAのコンパイルで「LIBMCRYPTがないぞ〜」と怒られますし、データの暗号化ができません。 ちなみに、私はlibmcryptライブラリがインストールされた /usr/local/lib のディレクトリを /etc/ld.so.conf のファイルに追加し、ldconfig を実行する方法をとりました。 すなわち、
ということである。 (2)コンパイルとインストール さて、CMSとDMSが同じOSや構成のマシンであればいいのですが、そうでない場合には必ずそれぞれのマシンでNSCAをコンパイルする必要がありま す。 CMS・DMSともに、ダウンロードしたnsca-2.4.tar.gz を適当なディレクトリに展開し、いつものコマンドでコンパイルは終了です。
さて、以上により作成された nsca-2.4/src というディレクトリにある nsca と send_nsca が目的のバイナリファイルである。 また、nsca-2.4 のディレクトリにある nsca.cfg と send_nsca.cfg もそれぞれの定義ファイルとして使用します。 インストールといっても、これらのファイルを任意の場所にコピーするだけでよいのだが、今回はCMS及びDMSに次のようにコ ピーした。ただし、グループ、所有者は nagios にしておいた方がいいようである。
#xhgrp nagios /usr/local/nagios/var/nsca.cfg など (3)DMS(Distributing Monitoring Server) 側の設定 DMS側では、send_nsca.cfg に暗号化の設定を行うだけでである。 それでは、send_nsca.cfg の内容を見てみましょう。
設定する箇所としては太字で示した2箇所だけです。 いろいろな暗号化の方法が使えるようですが、今回は NRPEPと同じ TripleDESを使うことにしました。 ということで、 send_nsca.cfg に設定するエッセンスだけを抜き出すと次の2行となります。
passwordは当然のことながら、オリジナルのものを使用してくださいね。 なお、ここで設定した「password」と「encryption_method」は、CMSの nsca.cfg でも設定するようになっており、必ず同じ値にしなければなりません。 また、設定内容を他のユーザーから読まれないように、パーミッションの設定にも注意してください。 (4) CMS(Central Monitoring Server) 側の設定 同様に、CMS側のnsca.cfg の内容を見てみましょう。 今回は、コメントをはずしたエッセンスのみを示します。 なお、○付き数字は説明のために追加したものです。
変更した項目は、赤字で示したところです。 設定内容については、直感的にわかるかと思いますので、簡単に説明しておきます。
このnsca.cfg についても、send_nsca.cfg と同様、ファイルのパーミッションに注意し てください。 (5)NSCAの起動 さて、nsca.cfg に書かれているように、NSCA は 5667番のポートを使用し、TCPを使ってデータのやりとりをおこないます。 そこで、CMS の /etc/services のファイルに次の内容を追加します。
さらに、下記の内容で nsca というファイルを /etc/xinetd.d/ ディレクトリに作成します。
以上で、リモートホスト上の設定が終了しましたので、xinetd をリスタートさせます。
また、/etc/hosts.allow に次の内容を追加します。
拒否されている場合の /var/log/message に記録されるエラーメッセージは次の通りである。
このような場合は、 /etc/hosts.allow や /etc/hosts.deny ファイルを見直してやる必要がある。 以上で NSCA(NetSaint Service Check Acceptor) の準備完了である。 前 ページ |