CGI Configuration File


・nscgi.cfg
それでは、最後の設定ファイル nscgi.cfg を編集していきましょう。
この nscgi.cfg を編集することによって、ホストやサービスをチェックした結果をCGIに出力しますので、Webでアクセスすることができるようになります。
また、「NetSaint用のApacheの設定」で書いたように、アクセス制限も設定することが出来ます。
以下がその設定内容で、「赤字」で記載しているところがサンプルを編集した箇所です。

No 項        目 内    容    等
1 main_config_file=/usr/local/netsaint/etc/netsaint.cfg netsaint.cfgファイル。
2 physical_heml_path=/usr/local/netsaint/share HTMLファイルを実際に設置するディレクトリ。
3 url_html_path=/netsaint Webでアクセスする時に指定するディレクトリ。
4 netsaint_check_command=/usr/local/netsaint/
libexec/check_netsaint
/usr/local/netsaint/var/status.log 5 '
/usr/local/netsaint/netsaint

(注:1行で書かれています)
デフォルトではコメントアウトされていますが、NetSaintの処理状況をチェックしたり、Web上からコマンドを実行させるのに必要です。
5 use_authentication=1 アクセス制限するための認証機能を使います。
6 #default_user_namer=guest ここで設定したユーザーは認証なしでアクセスできるようになりますので、基本的には設定しません。
7 authorized_for_system_information=admin NetSaintの処理状況のCGI(extinfo.cgi)にアクセスできるユーザー。
複数のユーザーを列挙する場合には、「,」(コンマ)で区切ります。
また、具体的なユーザー名を記述せずに、任意のユーザーを表す「*」を使用することも可能です。(以下の設定でも同様に「*」を使えます。)
8 authorized_for_configuration_information=admin ホストやサービスの設定状況を閲覧できるCGI(config.cgi)にアクセスできるユーザー。
9 authorized_for_system_commands=admin Netsaintを停止・再起動できるユーザー。
プログラムモードの変更も出来ます。
10 authorized_for_all_services=admin 全てのサービス・ホストの情報を閲覧できるユーザー。
11 authorized_for_all_hosts=admin
12 authorized_for_all_service_commands=admin Web(cmd.cgi)から全てのホストやサービスにコマンドを発することの出来るユーザー。
13 authorized_for_all_host_commands=admin
(インストールされた nscgi.cfg では、N0.13とNo.14の間に次に説明するアイコン表示の設定が入っています。)
No 項        目 内    容    等
14 suppress_alert_window=1 ダウンしているホストを別のミニウィンドウで表示しない。
(0=表示する。 1=表示しない。)
15 refresh_rate=90 画面をリフレッシュする間隔。(単位:秒)
16 max_lifo_size=524288 表示用データをソートするときに割り当てる最大メモリサイズ。(512KB)

このNo.7からNo.13のところが、「NetSaint用のApacheの設定」のセクションでお約束していました「全部のCGIを見れるようにするための設定方法」です。(~_~)
説明では、「admin」という具体的なユーザー名を記述していますが、全て「*」にして「.htpasswd」でアクセス制限をかける方法もあります。
というか、当サイトではそっちの方法でアクセス制限をかけているのですが。。。(~_~;)



続いて、監視対象のホストをいろいろなアイコンを使って表示するように設定します。
これは、オプションの設定ですが、なかなか気に入っています
この設定に関する書式は、次のとおりです。
  hostextinfo[<ホスト名(略称)>]=<ホスト情報のURL>;<使用するアイコン>;
                    <3-D(VRML)用アイコン>;<ステータスマップ用アイコン>;<ALTタグ>;
                    <ステータスマップ用のx座標>,<同y座標>;
                    <3-Dステータスマップ用のx座標>,<y座標>,<z座標>;

なお、このアイコン表示を利用するに当たっては、下記の点に注意してください。
    (1)ここで使用するアイコンは /usr/local/netsaint/share/images/logos/ のディレクトリに保存
       しておく。(いくつかのサンプルがインストールされます。)
    (2)使用するアイコンはGIF、PNG、またはJPGイメージを使用する。
    (3)ステータスマップ用のアイコンはGD2イメージを使用する。
    (4)ステータスマップ用の<x座標>、<y座標>で(0,0)は左上を表し、正の値を使用する。
    (5)3-Dステータスマップ用の<x座標>、<y座標>、<z座標>正・負の値が使用できる。

具体例として、当サイトのサーバーである「ms2」の設定を見てみましょう。
hostextinfo[ms2]=;linux40.gif;linux40.gif;linux40.gd2;DELL OptiPlex G1;150,250;2.0,2.0,2.0

設定した内容は、
   ・ホスト名(略称) = ms2 (hosts.cfg で定義した略称です。)
   ・ホスト情報のURL = 指定せず。(サーバーの実際の設置場所や緊急時の連絡先等を書いた
                        ものを/usr/local/netsaint/sbin/ におくようです。)
   ・status.cgi・iextinfo.cgiで使用するアイコン = linux40.gif (見本です。→
   ・3-D(VRML)用のアイコン = linux40.gif (サンプルにはgif形式かgd2形式のアイコンしかなかったので)
   ・ステータスマップ用のアイコン = linux40.gd2
   ・ALTタグ = DELL OptiPlex G1 (アイコンが表示されないときの文字情報です。)
   ・ステータスマップ用の<x座標>,<y座標> = 150,250 (単位はピクセルでしょうか。)
   ・3-Dステータスマップ用の<x座標>,<y座標>,<z座標> = 2.0,2.0,2.0 (単位はメートル?です。)
です。

その他のホストについても同様に設定してやればいいのでしょう。
このときステータスマップ用の<x座標>、<y座標は>「50」ずつぐらいの間隔をあければいいかと思います。
また、3-Dステータスマップ用の<x座標>、<y座標>、<z座標>は「0.5」ずつぐらいの間隔が適当ではないでしょうか。

なお、3-DのCGIにアクセスして画像を表示させるのには、表示用のVRMLブラウザーがクライアントのマシンにインストールされておかなければなりません
詳しくは、Netsaint本家のCGIに関するページの「Status World CGI(VRML)」で紹介されています。
  http://www.netsaint.org/docs/0_0_7/cgis.html#statuswrl_cgi
ちなみに、私めは「Cortona」をダウンロードし、インストールしました。
ただ、表示される画像がもうひとつなので、あまり気に入ってはいないんですが。。。(ーー;)



次は監視対象のサービスをアイコン表示するための設定です。(これもオプションです。)
書式は、次のとおりです。
serviceextinfo[<ホスト名(略称)>;<サービスの説明>]=<サービス情報のURL>;<使用するアイコン>;<ALTタグ>

基本的にホストをアイコン表示する場合と同じような設定を行います。
しかし、サービスまでアイコン表示すると画面がうるさすぎますので、今回は設定しません。



その他のオプションとして、ステータスマップの背景や3-Dの背景も指定できます。
指定方法は次のとおりですので、興味のある方はチャレンジしてみてください。
   #statusmap_background_image=smbackground.gd2
   #statuswrl_include=myworld.wrl



画像の次はサウンドです。
NetSaintは、監視するホストやサービスに問題が発生している場合に音で知らせることも出来ます。
設定した内容は次のとおりです。
     host_unreachable_sound=hostdown.wav
     host_down_sound=warning.wav
     service_critical_sound=critical.wav
     service_warning_sound=warning.wav
     service_unknown_sound=warning.wav
     #normal_sound=noproblem.wav

デフォルトでは全てコメントアウトされています。
また、host_down_sound もデフォルトでは hostdown.wav を使っていますが、これは少々うるさいので warning.wav に変更しています。
この3つのwavファイルも /usr/local/netsaint/share/media/ のディレクトリにインストールされています。



最後に、データベースを使う場合の設定方法がありますが、現時点では不要ですので割愛させていただきます。
使えるデータベースソフトは、Linuxの定番である「MySQL」と「PostgreSQL」です。
なお、データベースを使う場合には、./configure 時にオプションで指定をしなければなりません。
対象となるデータは、
  (1)hosttextinfo のデータ
  (2)programstatus、hoststatus、servicestatus のデータ
  (3)hostcomments、servicecomments のデータ
です。


以上で全ての設定が終了しました。
いよいよ、NetSaintを稼動させることにしましょう。
次のセクションでNetSaintの起動・停止・再起動の方法について説明します。。

back HOME