分散監視 (Distributed Monitoring)


・ NetSaintのインストール

今回説明する「分散監視(Distributed Monitoring)」は、下図のようなネットワークモデルを想定しています。
この「Central Monitoring Server(CMS)」が、「Distributed Monitoring Server(DMS)」のネットワーク配下にある「Host1」及び「Host2」の稼動状況を監視するのが、目的です。

それでは、、CMS(Central Monitoring Server)とDMS(Distributed Monitoring Server)にNetSaintをインストールして行きましょう。

(1)DMS(Distributed Monitoring Server)へのインストール
DMSで稼動させるNetSaintには、次のような機能が必要となります。
( )内のファイルがその設定ファイルです。

  @ チェック対象となるホストやサービスを定義する。( hosts.cfg )
  A スタンバイモードで起動するように設定する。( netsaint.cfg )
  B obsess over service が機能するように設定する。( netsaint.cfg )
  C ocsp コマンドを定義しておく。( hosts.cfg )

いろいろと新しい機能が必要となりますが、基本編の「NetSaintのインストール」どおり、デフォルトの /usr/local/netsaint のディレクトリにNetSaint本体とPluginsをインストールすればOKです。
ただ、RedHat Linux 7.3にインストールする場合には、基本編の「RedHat Linux 7.3でのNetSaintのインストール」に記載している修正を事前に行ってください。

(2)CMS(Central Monitoring Server)へのインストール
さて、CMSで稼動させるNetSaintには、次のような機能が必要となります。
( )内のファイルがその設定ファイルです。

  @ ウェッブのインターフェースが使えるように設定する。( nscgi.cfg )
  A アクティブモードで起動するように設定する。( netsaint.cfg )
  B 起動と同時にサービスチェックを行わないように設定する。( netsaint.cfg )
  C エクスターナルコマンドが使えるように設定する。( netsaint.cfg )
  D パッシブサービスチェックが行えるように設定する。( netsaint.cfg )

この@、A、Dについては、デフォルトのインストールで設定されています。
Cについては、応用編の「エクスターナルコマンド(External Command)」で説明した方法で設定します。
面白いのは、Bの「(NetSaintの)起動と同時にサービスチェックを行わない」という点ですね。
既に説明しましたように、CMSはDMSから送られてきた情報を処理するという役割を与えられていますので、自らはサービスチェックを行わないようにするのです。

さて、CMSへのNetSaintのインストールですが、基本的な方法については既に説明していますので、ここは応用編らしく少し工夫を凝らしてみます。

といいますのは、この「分散監視(Distributed Monitoring Service)」まで読み進んでこられた方の中には、既に自サーバー上でNetSaintを稼動させている方もいらっしゃるかと思います。
そこで、そのサーバーにもう一つNetSaintをインストールする方法を紹介します。

デフォルトでは、/usr/local/netsaint というディレクトリにNetSaintがインストールされますので、今回は /usr/local/netsaint_dm というディレクトリにインストールします。

なお、繰り返しとなりますが、RedHat Linux 7.3にインストールする場合には、基本編の「RedHat Linux 7.3でのNetSaintのインストール」に記載している修正を忘れずに行ってください。

# mkdir /usr/local/netsaint_dm
# tar xvzf netsaint-0.0.7.tar.gz
# cd netsaint-0.0.7
# ./configure --prefix=/usr/local/netsaint_dm  --with-cgiurl=/cgi-bin/netsaint_dm
# make all
# make install
# make install-config

なお、既に /etc/rc.d/init.d/netsaint というinitスクリプトがインストールされていると思いますので、今回は
# make install-init
を省略します。

次に、Pluginsを同様な方法でインストールします。

# tar xvzf netsaint-plugins-1.2.9-4.tar.gz
# cd netsaint-plugins-1.2.9-4
# ./configure --prefix=/usr/local/netsaint_dm  --with-cgiurl=/cgi-bin/netsaint_dm
# make all
# make install

各種設定ファイルの設定内容については後ほど説明しますが、ここではエクスターナルコマンドを利用するための準備をしておきます。
詳細は、応用編の「エクスターナルコマンド(External Command)」を御覧ください。

@ # /usr/sbin/groupadd nscmd
A # /usr/sbin/usermod -G nscmd netsaint
B # /usr/sbin/usermod -G nscmd apache

C # mkdir /usr/local/netsaint_dm/var/rw
D # chown netsaint.nscmd /usr/local/netsaint_dm/var/rw
E # chmod u+rwx /usr/local/netsaint_dm/var/rw
F # chmod g+rw /usr/local/netsaint_dm/var/rw
G # chmod g+s /usr/local/netsaint_dm/var/rw

なお、上記の@〜Bについては、既に登録してあれば不要です。

最後に、今回インストールしたNetSaintのWebインターフェースを利用することができるように /etc/httpd/conf/httpd.conf ファイルを修正します。
基本編と同様に htpasswd を利用したアクセス制限をかけるようにします。

Alias /netsaint_dm/ /usr/local/netsaint_dm/share/
ScriptAlias /cgi-bin/netsaint_dm/ /usr/local/netsaint_dm/sbin/

<Directory /usr/local/netsaint_dm/sbin>
AllowOverride AuthConfig
order allow,deny
allow from all
Options ExecCGI
AuthType Basic
AuthUserFile /etc/httpd/.htpasswd
AuthName "Allowed Webmaster Only"
require valid-user
</Directory>

<Directory /usr/local/netsaint_dm/share>
AllowOverride AuthConfig
order allow,deny
allow from all
AuthType Basic
AuthUserFile /etc/httpd/.htpasswd
AuthName "Allowed Webmaster Only"
require valid-user
</Directory>

以上で、CMSへのNetSaintのインストールも終了しました。

さて、CMSとDMSへのNetSaintのインストールが終わったところで、この分散監視(Distributed Monitoring)を行うための基本である「アクティブサービスチェック」と「パッシブサービスチェック」について、少し説明しておきましょう。


back HOME