CGI設定ファイルオプション


Notes

設定ファイルの作成および修正時には以下のことを頭に入れておいてください:

  1. '#'で始まる行はコメントとして解釈され実際には処理されません。
  2. 値は各行の先頭から始めてください - スペースが先頭に入ってはいけません。
  3. 値は大文字小文字を判断します。

サンプル設定

サンプルのCGI設定ファイルは'make config'コマンドで作成できます。デフォルトのCGI設定ファイルはcgi.cfgです。

目次

メイン設定ファイルの場所
物理的なHTMLファイルへのパス
HTMLへのURLパス

Nagiosプロセスチェックコマンド

認証の使用
デフォルトユーザ名
システム/プロセスインフォメーションへのアクセス
システム/プロセスコマンドへのアクセス
設定情報へのアクセス
グローバルホスト情報へのアクセス
グローバルホストコマンドへのアクセス
グローバルサービス情報へのアクセス
グローバルサービスコマンドへのアクセス

ステータスマップCGIの背景画像
ステータスマップのデフォルトレイアウト方式
3Dステータスマップに含まれるワールド
3Dステータスマップのデフォルトレイアウト方式

CGIのリロード間隔
サウンドによる警告

pingのシンタックス

メイン設定ファイルへの場所

書式: main_config_file=<file_name>
例: main_config_file=/usr/local/nagios/etc/nagios.cfg

この設定はメイン設定ファイルの場所を指定します。CGIは設定情報、ホストサービス状態などの情報がどこにあるか知る必要があります。

物理的なHTMLファイルへのパス

書式: physical_html_path=<path>
例: physical_html_path=/usr/local/nagios/share

これはNagiosがあるワークステーションもしくはサーバのどこにHTMLファイルがあるか物理的な位置を設定します。Nagiosは(CGIが使う)ドキュメントやイメージファイルが各々、docs/images/サブディレクトリにあるものと仮定しています。

HTMLへのURLパス

書式: url_html_path=<path>
例: url_html_path=/nagios

もしウェブブラウザ経由でNagiosにアクセスするなら、http://www.myhost.com/nagiosの様な形のURLをこの設定でNagiosに示してやる必要があります。通常、このパスはNagiosのHTMLページへのアクセスの一部です。

Nagios Process Check Command

書式: nagios_check_command=<command_line>
例: nagios_check_command=/usr/local/nagios/libexec/check_nagios /usr/local/nagios/var/status.log 5 '/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg'

これはNagiosプロセスの状態をチェックするために使用するオプションのコマンドです。このコマンドはNagiosプロセスが生きているかどうかをCGIから(そしてあなたからも)チェックできるようにします。 コマンドを特定しなければCGIはNagiosが動いているものと仮定して動作します。 このプロセスチェックコマンドを定義するなら、そのコマンドは他のプラグインと同様のGUIガイドラインに従うべきです。そのコマンドがnon-OKステータスを返した場合、CGIはNagiosプロセスが停止していると判断して、コマンドCGIからのコマンドを拒否するでしょう。

認証の使用

書式: use_authentication=<0/1>
例: use_authentication=1

このオプションはユーザがどのコマンドや情報にアクセスさせるかという認証機能と、認証をCGIに使用させるかどうかを制御します。私はCGIにこの認証機能を使うことを強くお勧めします。 認証機能を使用しない場合、誰でもNagioへコマンドを送ることができないように コマンドCGIを削除すべきです。CGIは認証機能が使用されていない場合はNagiosにコマンドを送ることができないようにはなっていますが、セキュリティ面から考えてやはり削除すべきでしょう。認証とCGIの認証機能の設定に関する詳しい説明はここにあります。

デフォルトユーザ名

書式: default_user_name=<username>
例: default_user_name=guest

この設定はCGIへアクセスするデフォルトのユーザ名を決定します。この設定はセキュアドメイン(例:ファイアウォール内からなど)ウェブサーバへのアクセスに認証の必要のないユーザを許可します。 ベーシック認証はインターネット上にパスワードがクリアテキストで流れるためセキュアサーバを使用していないユーザはベーシック認証を行わない方法としてこれを使用したいと思うかも知れません。

重要: もしセキュアなウェブサーバを使用しておらず、CGIへアクセスするユーザが何らかの方法で信頼を得ていると確証がないのなら、この設定は定義しないでください! この設定を定義するとどんな信頼の無いユーザでもすべての権限を継承するでしょう!

システム/プロセスインフォメーションへのアクセス

書式: authorized_for_system_information=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_system_information=nagiosadmin,theboss

これは追加情報CGIからシステム/プロセス情報を閲覧できる認証ユーザのカンマ区切りの名前リストです。このリスト中のユーザはシステム/プロセスコマンドを発行する権限を自動的に許可されません。ユーザが同様にシステム/プロセスコマンドを発行する権限がほしいのであれば、authorized_for_system_commands変数にそれらを加えなければなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

システム/プロセスコマンドへのアクセス

書式: authorized_for_system_commands=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_system_commands=nagiosadmin

これは追加情報CGIからシステム/プロセスコマンドを発行できる認証ユーザのカンマ区切りの名前リストです。このリスト中のユーザはシステム/プロセスコ情報を閲覧する権限を自動的に許可されません。ユーザが同様にシステム/プロセスコマンドを発行する権限がほしいのであれば、authorized_for_system_commands変数にそれらを加えなければなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

設定情報へのアクセス

書式: authorized_for_configuration_information=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_configuration_information=nagiosadmin

これは設定情報CGIで設定を閲覧できる認証ユーザのカンマ区切りの名前リストです。ここにリストされているユーザはホスト、ホストグループ、サービス、通知先、通知先グループ、時間帯、コマンドの全設定情報を見ることができます。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

グローバルホスト情報へのアクセス

書式: authorized_for_all_hosts=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_all_hosts=nagiosadmin,theboss

これは全ホストの状態と設定情報を閲覧できる権限のある認証ユーザのカンマ区切りリストです。このリストに入っているユーザは自動的に全サービスの情報も閲覧できるようになります。もし全ホスト、サービスに対して同様にコマンド発行権限もほしいとおもうのであれば、 authorized_for_all_host_commandsにも該当ユーザを追加しなくてはなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

グローバルホストコマンドへのアクセス

書式: authorized_for_all_host_commands=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_all_host_commands=nagiosadmin

これはコマンドCGIから全ホストに対してコマンドを発行できる認証ユーザののカンマ区切りのリストです。ここに含まれるユーザは自動的に全サービスへのコマンド発行権限も与えられます。全ホストサービスの状態と設定情報の閲覧権限は自動的には与えられません。もし全ホストとサービスの状態と設定情報閲覧権限が同様にほしいのであれば、 authorized_for_all_hostsに該当ユーザを加えてやらなくてはなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

グローバルサービス情報へのアクセス

書式: authorized_for_all_services=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_all_services=nagiosadmin,theboss

これは全サービスの状態と設定情報を閲覧できる権限のある認証ユーザのカンマ区切りリストです。このリストに入っているユーザは全ホストの情報は自動的に閲覧できるようにはなりません。同様に、ここ含まれるユーザは自動的に全サービスへのコマンド発行権限も与えられません。もし全サービスに対して同様にコマンド発行権限もほしいとおもうのであれば、 authorized_for_all_service_commandsにも該当ユーザを追加しなくてはなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

グローバルサービスコマンドへのアクセス

書式: authorized_for_all_service_commands=<user1>,<user2>,<user3>,...<usern>
例: authorized_for_all_service_commands=nagiosadmin

これはコマンドCGIから全サービスに対してコマンドを発行できる認証ユーザののカンマ区切りのリストです。ここに含まれるユーザは自動的に全ホストへのコマンド発行権限は与えられません。同様に全ホストの状態と設定情報の閲覧権限は自動的には与えられません。もし全サービスの状態と設定情報閲覧権限が同様にほしいのであれば、 authorized_for_all_servicesに該当ユーザを加えてやらなくてはなりません。認証の設定方法やGIへの認証の設定方法の詳しい情報はこちらです。

ステータスマップCGIの背景画像

書式: statusmap_background_image=<image_file>
例: statusmap_background_image=smbackground.gd2

このオプションはステータスマップCGIのバックグラウンド背景で使用する画像を指定します。この画像はHTMLイメージパス(例:/usr/local/nagios/share/images)の中にあると想定されています。このパスは自動的にphysical_html_pathで指定したパスの"/images"パスになります。Note:画像ファイルはGIF,JPEG,PNG,GD2フォーマットが使えます。しかし、GD2フォーマット(非圧縮のフォーマットをより推奨)をお勧めします。GD2フォーマットを使えばマップ画像を生成する際のCPUの負荷を下げることができるでしょう。

ステータスマップのデフォルトレイアウト方法

書式: default_statusmap_layout=<layout_number>
例: default_statusmap_layout=4

このオプションはステータスマップCGIでのデフォルトのレイアウト方式を決定します。オプションは以下の通り:

<layout_number> 値レイアウト方式
0ユーザ定義の座標
1階層
2Collapsedツリー
3Balancedツリー
4
5円 (Marked Up)
6円 (Balloon)

3DステータスマップCGIに含まれるワールド

書式: statuswrl_include=<vrml_file>
例: statuswrl_include=myworld.wrl

このオプションはVRMLワールドに含む独自のオブジェクトを指定できます。ここではphysical_html_pathディレクティブで指定したパスに属しているものと想定されます。 Note:このファイルは完全なVRMLワールドでなくてはなりません。(たとえばVRMLブラウザで見ることができるファイルなど)

3Dステータスマップのデフォルトレイアウト方式

書式: default_statuswrl_layout=<layout_number>
例: default_statuswrl_layout=4

このオプションは3DステータスマップCGIでのデフォルトのレイアウト方式を決められます。オプションは以下の通り:

<layout_number> ValueLayout Method
0ユーザー定義の座標
2Collapsedツリー
3Balancedツリー
4

CGIのリロード間隔

書式: refresh_rate=<rate_in_seconds>
例: refresh_rate=90

このオプションは状態ステータスマップ追加情報CGIのリロード間隔を秒で指定します。

サウンドによる警告

フォーマット: host_unreachable_sound=<sound_file>
host_down_sound=<sound_file>
service_critical_sound=<sound_file>
service_warning_sound=<sound_file>
service_unknown_sound=<sound_file>
例: host_unreachable_sound=hostu.wav
host_down_sound=hostd.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=unknown.wav

このオプションは状態CGIを表示中なんらかの問題が発生した時にブラウザで音を鳴らすそのサウンドファイルを指定します。 問題発生時サウンドはもっとも深刻な問題用のサウンドを再生します。もっとも深刻な問題は未到達(unleachable)でもっとも軽い問題は不明(unknown)状態です(上の例の順です)。 サウンドファイルはHTMLディレクトリのmedia/パスにあると想定されています(例:/usr/local/nagios/share/media)。

Pingのシンタックス

書式: ping_syntax=<command>
例: ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

このオプションはWAPインタフェイス(statuswml CGIを使います)でのpingのシンタックスを決めます。 pingバイナリを必要なオプションと共にフルパスで指定してやる必要があります。コマンドが実行される前に$HOSTADDRESS$マクロ部分にホストのアドレスが代入されます。