テンプレートベースオブジェクトデータ設定ファイルオプション


重要: Nagiosはconfigureスクリプトでオプションを与えることによってオブジェクト設定ファイルの保存に異なる方式で設定することができます。このドキュメントでは、Nagiosをテンプレートベースオブジェクトデータルーチンサポートでコンパイルしたという仮定での追加データ定義の方法を記述しています。


Notes

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

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

イントロダクション

テンプレートベース設定ファイルフォーマットを使用する1つの利点として、他のオブジェクト定義からプロパティを継承させたオブジェクト定義を作ることが出来るということがあります。オブジェクト継承についての概念、使用方法についてはこのドキュメントで述べています。オブジェクト定義の作成やメンテナンスをより簡単にするためにこのドキュメントを読んで充分に理解することをつよくお薦めします。

時間節約のトリック

少しのオブジェクト定義を設定ファイルに書くことで多数のオブジェクトを作成できるテンプレートベースオブジェクト定義で可能になることがいくつかあります。その1つを挙げてみると、複数のホストやホストグループ用にサービスを定義するために1つのサービス定義だけで済むと言うことがあります。もっと他の方法についてはここに記載しています。

リテンションのメモ

重要な点としてはいくつかのホストやサービス定義が変更されてもNagiosがそれを認識しない場合があるということです。このような挙動をするサービスやホスト定義にはアスタリスクマークを付けています(*)。このような動きの理由は状態保存オプションがプログラムワイドに有効になっている場合、Nagiosは設定ファイルの状態保存ファイルに保存されている値を選択するからです。

この問題を解決する方法の1つとしては、ホストやサービス定義のretain_nonstatus_informationディレクティブを使用してnon-status情報は保存しないようにすることです。このディレクティブで無効にするとNagiosが(再)起動した際に保存ファイルの状態よりも設定ファイルの初期値を参照するようになります。このオプションを使用するのはあまり推奨していません、というのは(あなたの視点から見て)予期しない結果になってしまうからです。

代わりに、外部コマンド を使ったり、ウェブインタフェイスから設定ファイルの値にホストやサービスの値を変更することができます。これは通常追加情報GIを使用することで行なえます。このオプションは仕事がすこし多くなりますが、上で述べたnon-status情報の保存を無効にするよりはちょっとましです。

目次

ホスト定義
サービス定義
通知先定義
ホストグループ定義
通知先グループ定義
時間帯定義
コマンド定義
サービス依存定義
サービスエスカレーション定義
ホスト依存定義
ホストエスカレーション定義
ホストグループエスカレーション定義

ホスト定義

説明:

ホスト定義はサーバ、ワークステーション、デバイスなどのネットワーク上の物理的な定義です。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define host{
host_namehost_name
aliasalias
addressaddress
parentshost_names
check_commandcommand_name
max_check_attempts#
checks_enabled[0/1]
event_handlercommand_name
event_handler_enabled[0/1]
low_flap_threshold#
high_flap_threshold#
flap_detection_enabled[0/1]
process_perf_data[0/1]
retain_status_information[0/1]
retain_nonstatus_information[0/1]
notification_interval#
notification_periodtimeperiod_name
notification_options[d,u,r]
notifications_enabled[0/1]
stalking_options[o,d,u]
   }

サンプル定義:

define host{
	host_name			bogus-router
	alias				Bogus Router #1
	address				192.168.1.254
	parents				server-backbone
	check_command			check-host-alive
	max_check_attempts		5
	process_perf_data		0
	retain_nonstatus_information	0
	notification_interval		30
	notification_period		24x7
	notification_options		d,u,r
	}

ディレクティブの説明:

host_name: これはそのホストを識別するショートネームです。ショートネームはサービスやホストグループ定義でどのホストに属しているか識別するために使用されます。 ホストは属している(監視する)複数のサービスを持つことができます。適切に使用すれば、このショートネームが$HOSTNAME$マクロに含まれます。
alias: これはそのホストを識別するロングネームもしくは説明です。これはそのホストをより簡単に識別するために使用します。適切に使用すれば、このエイリアスが、 $HOSTALIAS$ マクロに含まれます
address: これはそのホストのIPアドレスを定義します。FQDNを使用することもできますが、DNSサービスに障害が発生した場合問題を引き起こします。適切に使用すれば、このアドレスが$HOSTADDRESS$ マクロに含まれます。Note:もしアドレスディレクティブを空欄した場合、そのホスト名をアドレスに使います。しかし注意すべきはDNSサービスが停止した場合監視しているサービス全てが名前解決できないため障害と判断されるでしょう。
parents: これはこのホストの"親"ホストをカンマ区切りのショートネームで記述します。親ホストの典型的なものとしては監視サーバとリモートホストの間に位置するルータやスイッチ、ファイアウォールなどが挙げられます。リモートホストの近くにあるルータやスイッチなどは"親"ホストと考えられます。詳しい情報はここにある"ネットワークホストの到達性と状態の決定"ドキュメントを参照してください。もしこのホストが監視サーバと同一のネットワークにある(ルータなどを挟んでいない場合)場合は、ローカルネットワークとして考えられ、親ホストは持たないでしょう。もしそのホストに親ホストが無い場合(つまりNagiosホストとそのホストが同一セグメント上にある)はここの値は空欄にしてください。親ホストを指定するかどうかと言うことは監視になんの影響も与えません。
check_command: これはそのホストが稼働しているかどうかをチェックするコマンドのショートネームを指定します。概して、このコマンドはこのホストが"生きている"かどうかpingをそのホストに発行して試みます。このコマンドはOK(0)ステータスで帰ってくる必要があり、そうでなければNagiosはそのホストが停止していると想定します。もしこの引数を空欄にした場合、そのホストはチェックされず、Nagiosは常にそのホストが稼働していると想定します。このことプリンタなどの頻繁に電源を落とす機器を監視するのに役立ちます。通知コマンドを発行する回数はhost_check_timeoutオプションで制御します。
max_check_attempts: これはホストチェックコマンドがOKステートではないステートを返して来たときにNagiosが何回再試行を試みるかと言う設定です。この値を1に設定したらNagiosはホストチェックを再度行わずに警告を発行します。 Note:もしそのホストの状態をチェックしたくないのであれば、ここの値は最小値の1に設定しなくてはなりません。 そしてホストチェックをバイパスするためには、<host_check_command>オプションは空欄にします。
checks_enabled *: このディレクティブはこのホストチェックが有効かそうでないか決定するために使用されます。値:0=ホストチェック無効,1 = ホストチェック有効。
event_handler: これはホストの状態が変化した時(つまり、停止もしくは復旧した時)かならず実行されるコマンドのショートネームを設定します。イベントをハンドリングするスクリプトの書き方の詳細な説明についてはイベントハンドラドキュメントを読んでください。 もしこのホストにイベントハンドラを設定したくない場合は、空欄のままにしてください。 このイベントハンドラコマンドを最大何度動かすかと言うことについてはevent_handler_timeoutオプションで制御します。
event_handler_enabled *: このディレクティブはこのホストのイベントハンドラが有効かそうでないか判断するために使用します。値:0=ホストイベントハンドラ無効、1=ホスト言えベンとハンドラ有効。
low_flap_threshold: このディレクティブはこのホストのflap検知の低しきい値を設定します。flap検知に関するより詳しい情報はここです。もしこの値を0に設定したら、low_host_flap_threshold で設定されているプログラムワイドな値を使用します。
high_flap_threshold: このディレクティブはこのホストのflap検知の高しきい値を設定します。flap検知に関するより詳しい情報はここです。もしこの値を0に設定したら、high_host_flap_thresholdで設定されているプログラムワイドな値を使用します。
flap_detection_enabled *: このディレクティブはこのホストでflap検知を行なうかどうか判断するために使用します。flap検知に関するより詳しい情報はここです。値:0=ホストflap検知無効、1=ホストflap検知有効。
process_perf_data *: このディレクティブはこのホストでパフォーマンスデータを処理するかどうか決定するために使用します。値:=パフォーマンスデータ処理無効、=パフォーマンスデータ処理有効
retain_status_information: retention, 1 = enable status information retention. このディレクティブはステータスに関する情報をプログラムが再起動したときに保持するかどうか決定するために使用します。これはretain_state_informationディレクティブで状態保存を有効にしている場合に便利です。値:0=ステータス情報保存無効、1=ステータス情報保存有効
retain_nonstatus_information: このディレクティブはnon-status情報をプログラムが再起動したときに保持するかどうか決定するために使用します。これはretain_state_informationディレクティブで状態保存を有効にしている場合に便利です。値:0=non-status情報保存無効、1=non-status情報保存有効
notification_interval: これは通知先に再度このサーバがまだ停止しているか未到達であるかを通知先に再通知する前にどれだけ待つかその"time units"を設定します。もしメイン設定ファイルinterval_lengthをデフォルトの60から変更していないのであれば、ここで設定する数字はは分数を表します。もしこの値を0に設定した場合、Nagiosはこのホストの障害に関して再通知を行いません - 1障害のみ通知されます。
notification_period: href="#timeperiod">時間帯のショートネームを設定します。もしこの時間帯がカバーしていない時間帯にホストが停止や未到達、復旧した場合、通知は送られません。より詳しい情報はここの"時間帯"ドキュメントを読んでください。
notifications_options: このディレクティブはホストの通知を何時行うか決定するために使用します。有効なオプションは以下に示す1つ以上のコンビネーションです:d=DOWNステートになったら通知する。u=UNREACHABLEステートになったら通知する。r=復旧したら(OKステート)通知する。n(none)を設定するとホスト通知は行われません。 例:このフィールドにd,rを入れると通知はホストがDOWNもしくはDOWNステートから復旧した時にのみ送られます。
notifications_enabled *: このディレクティブはこのホストの通知を有効にするか無効にするか決定します。値: 0 = ホスト通知無効、1 = ホスト通知有効。
stalking_options: このディレクティブはホストステート"stalking"を有効にするかどうか決定します。 有効なオプションは次の1つ以上のコンビネーションです: o=UPステートをstalkする、d = DOWNステートをストークする、そして,u = UNREACHABLEステートをストークする。ステートストーキングの詳しいドキュメントは ここです。

Service Definition

説明:

サービス定義はホスト上で稼動している"サービス"を識別します。"サービス"という呼び名は非常に曖昧です。そのホストで実際に稼動しているサービス(POP,SMTP,HTTPなど)も指しますしそのホストに関連した他のタイプも指します(PINGのレスポンス、ログイン中のユーザ、ディスク空き領域など)。サービス定義の様々な引数については以下で説明します。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define service{
host_namehost_name
service_descriptionservice_description
is_volatile[0/1]
check_commandcommand_name
max_check_attempts#
normal_check_interval#
retry_check_interval#
active_checks_enabled[0/1]
passive_checks_enabled[0/1]
check_periodtimeperiod_name
parallelize_check[0/1]
obsess_over_service[0/1]
check_freshness[0/1]
freshness_threshold#
event_handlercommand_name
event_handler_enabled[0/1]
low_flap_threshold#
high_flap_threshold#
flap_detection_enabled[0/1]
process_perf_data[0/1]
retain_status_information[0/1]
retain_nonstatus_information[0/1]
notification_interval#
notification_periodtimeperiod_name
notification_options[w,u,c,r]
notifications_enabled[0/1]
contact_groupscontact_groups
stalking_options[o,w,u,c]
   }

サンプル定義:

define service{
	host_name		linux-server
	service_description	check-disk-sda1
	check_command		check-disk!/dev/sda1
	max_check_attempts	5
	normal_check_interval	5
	retry_check_interval	3
	check_period		24x7
	notification_interval	30
	notification_period	24x7
	notification_options	w,c,r
	contact_groups		linux-admins
	}

ディレクティブの説明:

host_name: これはこのサービスが"稼動"している ホストショートネームを指定します。
service_description;: スペース、ダッシュ、コロンを含むことの出来るサービスの説明です(セミコロン、アポストロフィー、クエスチョンマークは含めません)。同じホストに関連した2つのサービスが同じ記述を行うことができません。サービスはhost_nameservice_descriptionで一意に識別します。
is_volatile: この設定はそのサービスが"volatile"サービスかどうか設定します。 サービスは通常volatileではありません。通常のサービスとvolatileサービスとの違いに関する詳しい情報はここです。このフィールドを1に設定するとこのサービスはvolatileで0に設定すると通常のサービスになります。
check_command:

これはNagiosがサービスの状態をチェックするために走らせるコマンドです。コマンドには3つの書式がつかえます:

1. "Vanilla" コマンド: このコマンド名は単純にすでに定義されているコマンド名のみです。上の例1がこのタイプの書式です。
2. 引数付きコマンド: これは基本的には"vanilla"コマンドの書式と同じでが、コマンドに!で区切られたコマンド引数が付いています。上の例2がこのコマンド書式にあたります。引数はコマンド名と(他の引数とも)!で区切られています。コマンドは$ARGx$ マクロを使うように定義されていなければなりません。上の例2では、$ARG1$が192.168.0.2を指し、$ARG2$が/を指し、$ARG3$は88を指します。Note: Nagiosは最大16個のコマンドライン引数をハンドルすることが出来ます。($ARG1$から$ARG16$まで)
3. "Raw" コマンドライン: オプションとして特定の実行するコマンドラインの引数を指定することが出来ます。その場合コマンドライン部分をダブルクオートで囲まなくてはなりません。ダブルクオートの外にあるものは実際に実行する際にはストリップされます。rowコマンドライン部分にはどんまマクロも処理されません。
サービスチェックを最大何度実行するかを制御するにはservice_check_timeout オプションを使用します。

max_check_attempts: このディレクティブではサービスチェックがOK以外の状態を返したときに何度Nagiosが再試行するかの回数を定義します。この値を1に設定するとNagiosHあサービスチェックの再試行を行わずに警告を生成します。
normal_check_interval: このディレクティブは次の"regular"サービスチェックをスケジュールする前にどのくらい待つかその待ち時間の"をtime units"で定義します。"regular"チェックとはサービスの状態がOKの状態かnon-OKの状態だがすでに再試行をmax_attemptsの数だけ行っている状態の時に発生します。interval_lengthの値をデフォルト値の60から変更していない限り、この数は分を表します。より詳しい情報はチェックのスケジューリング文書を見て下さい。
retry_check_interval: このディレクティブはサービスチェックの再試行をスケジュールする前にどれだけ待つか待ち時間を"time units"で定義します。サービスはチェックがnon-OK状態で帰ってくるとこのretry interval間隔で再スケジュールされます。サービスがmax_attemptsの数だけ再試行い状態が変化しなかったら、check_interval で定義している"通常"の間隔に戻ります。interval_lengthの値をデフォルト値の60から変更していない限り、この数は分を表します。より詳しい情報はチェックのスケジューリング文書を見て下さい。
active_checks_enabled *: このディレクティブはこのサービスのアクティブチェックが有効かどうか決定するために使用します。値: 0 =アクティブサービスチェック無効、1=アクティブサービスチェック有効。
passive_checks_enabled *: このディレクティブはこのサービスのパッシブチェックが有効かどうか決定するために使用します。値: 0 =パッシブサービスチェック無効、1=パッシブサービスチェック有効。
check_period: This directive is used to specify the short name of the time period during which active checks of this service can be made.
parallelize_check: このディレクティブはサービスチェックの並列処理を行うかどうか決定します。デフォルトでは全サービスチェックは並列処理されます。サービスチェックの並列処理を無効にすると重大なパフォーマンスの問題が発生します。サービスチェックの並列処理に関する詳しいドキュメントはここです。値: 0=サービスチェックは並列処理されません(注意!)、1=サービスチェックは並列処理されます。
obsess_over_service *:
check_freshness *: このディレクティブはこのサービスのfreshnessチェックを有効にするかどうか決定します。値: 0=freshnessチェック無効、1=freshnessチェック有効。
freshness_threshold: このディレクティブはこのサービスのfreshnessしきい値(秒)を指定します。このディレクティブの値を0にするとNagiosが自動でfreshnessしきい値を決めます。
event_handler_enabled: このディレクティブはこのサービスでイベントハンドラを使用するかどうか決定します。値:0=イベントハンドラ無効、1=イベントハンドラ有効。
low_flap_threshold: このディレクティブはこのサービスのflap検知で使用する低しきい値を設定します。flap検知に関する詳しい情報はここです。もしこの値を0にすると、low_service_flap_threshold で設定したプログラムワイドの値が使用されます。
high_flap_threshold: このディレクティブはこのサービスのflap検知で使用する高しきい値を設定します。flap検知に関する詳しい情報はここです。もしこの値を0にすると、high_service_flap_threshold で設定したプログラムワイドの値が使用されます。
flap_detection_enabled *: このディレクティブはこのサービスでflap検知を使用するかどうか決定します。flap検知に関する詳しい情報はここです。値: 0=サービスflap検知無効、1=サービスflap検知有効。
process_perf_data *: このディレクティブはこのサービスでパフォーマンスデータを処理するかどうか決定するために使用します。値:=パフォーマンスデータ処理無効、=パフォーマンスデータ処理有効
retain_status_information: このディレクティブはステータスに関する情報をプログラムが再起動したときに保持するかどうか決定するために使用します。これはretain_state_informationディレクティブで状態保存を有効にしている場合に便利です。値:0=ステータス情報保存無効、1=ステータス情報保存有効
retain_nonstatus_information: このディレクティブはnon-status情報をプログラムが再起動したときに保持するかどうか決定するために使用します。これはretain_state_informationディレクティブで状態保存を有効にしている場合に便利です。値:0=non-status情報保存無効、1=non-status情報保存有効
notification_interval: これは通知先に再度このサービスがまだ停止しているか未到達であるかを通知先に再通知する前にどれだけ待つかその"time units"を設定します。もしメイン設定ファイルinterval_lengthをデフォルトの60から変更していないのであれば、ここで設定する数字はは分数を表します。もしこの値を0に設定した場合、Nagiosはこのホストの障害に関して再通知を行いません - 1障害のみ通知されます。
notification_period: このディレクティブはこのサービスの通知を送る時間帯のショートネームを指定します。時間帯がカバーしていない時間には通知先に通知は送られません。
notification_options: このディレクティブはサービスの通知を何時行うか決定するために使用します。有効なオプションは以下に示す1つ以上のコンビネーションです:w=WARNINGステートになったら通知する。u=UNKNOWNステートになったら通知する。c=CRITICALステートになったら通知する。r=復旧したら(OKステート)通知する。n(none)を設定するとサービス通知は行われません。 例:このフィールドにw,rを入れると通知はサービスがCRITICALもしくはCRITICALステートから復旧した時にのみ送られます。
notifications_enabled *: This directive is used to determine whether or not notifications for this service are enabled. Values: 0 = disable service notifications, 1 = enable service notifications. このディレクティブはこのサービスの通知を有効にするか無効にするか決定します。値: 0 = サービス通知無効、1 = サービス通知有効。
contact_groups: これはこのサービスの障害(もしくは復旧)時に通知を送る通知先グループショートネームのリストです。カンマ句切で複数の通知先グループを設定できます。
stalking_options: このディレクティブはサービスステート"stalking"を有効にするかどうか決定します。 有効なオプションは次の1つ以上のコンビネーションです: o=OKステートをstalkする、w = WARNINGステートをストークする、u = UNKNOWNステートをストークする、そしてc=CRICICALステートをストークする。ステートストーキングの詳しいドキュメントは ここです。

通知先定義

説明:

A contact definition is used to identify someone who should be contacted in the event of a problem on your network. 通知先の定義は監視ネットワークの障害イベントをだれが受け取るかどうか特定するために使用されます。通知先定義の様々な引数は以下の通りです。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define contact{
contact_namecontact_name
aliasalias
host_notification_periodtimeperiod_name
service_notification_periodtimeperiod_name
host_notification_options[d,u,r,n]
service_notification_options[w,u,c,r,n]
host_notification_commandscommand_name
service_notification_commandscommand_name
emailemail_address
pagerpager_number or pager_email_gateway
   }

サンプル定義:

define contact{
	contact_name                    jdoe
	alias                           John Doe
	service_notification_period     24x7
	host_notification_period        24x7
	service_notification_options    w,u,c,r
	host_notification_options       d,u,r
	service_notification_commands   notify-by-email
	host_notification_commands      host-notify-by-email
	email				jdoe@localhost.localdomain
	pager				555-5555@pagergateway.localhost.localdomain
	}

ディレクティブの説明:

contact_name: value. これは通知先を識別するショートネームです。 これは通知先グループ定義から参照されます。正しく使用していればこれは$CONTACTNAME$ マクロに含まれます。
alias: これは通知先のロングネームもしくは説明です。正しく使っていれば、 $CONTACTALIAS$ マクロに含まれます。
host_notification_period: これはサービスの障害や復旧時に通知を行なう通知先の"時間帯"のショートネームです。これは通知先にサービス通知を行なうための"on call"時間と考えることが出来ます。どのように通知時間が働き不適切に使用するとどのような潜在的な問題が発生するのかに関する詳しい説明はここ を読んで下さい。
service_notification_period: これはホストの障害や復旧時に通知を行なう通知先の"時間帯"のショートネームです。これは通知先にホスト通知を行なうための"on call"時間と考えることが出来ます。どのように通知時間が働き不適切に使用するとどのような潜在的な問題が発生するのかに関する詳しい説明はここ を読んで下さい。
host_notification_commands: これはホスト障害もしくは復旧時に通知先に通知する際に使用するコマンドショートネームを設定します。複数の通知コマンドをカンマ区切りで設定することができます。通知先に通知する必要がある時にここでリストされた全コマンドが実行されます。通知コマンドを最大何回実行するかについてはnotification_timeoutオプションで制御します。
host_notification_options: このディレクティブはホストの通知を何時行うか決定するために使用します。有効なオプションは以下に示す1つ以上のコンビネーションです:d=DOWNステートになったら通知する。u=UNREACHABLEステートになったら通知する。r=復旧したら(UPステート)通知する。n(none)を設定するとホスト通知は行われません。
service_notification_options: このディレクティブはサービスの通知を何時行うか決定するために使用します。有効なオプションは以下に示す1つ以上のコンビネーションです:w=WARNINGステートになったら通知する。u=UNKNOWNステートになったら通知する。c=CRITICALステートになったら通知する。r=復旧したら(OKステート)通知する。n(none)を設定するとサービス通知は行われません。
service_notification_commands: これはサービス障害もしくは復旧時に通知先に通知する際に使用するコマンドショートネームを設定します。複数の通知コマンドをカンマ区切りで設定することができます。通知先に通知する必要がある時にここでリストされた全コマンドが実行されます。通知コマンドを最大何回実行するかについてはnotification_timeoutオプションで制御します。
email: これは通知先のE-Mailアドレスを設定します。通知コマンドをどのように設定したかに依存しますが、これは通知する際に送られる警告の送先E-Mailアドレスを設定します。正しい使用をしていれば$CONTACTEMAIL$マクロにこの値が含まれます。
pager: これは通知先のページャ番号を設定します。同様にページャゲートウェイのE-Mailアドレスでも可能です(つまり、pagejoe@pagenet.comとか)。$CONTACTPAGER$マクロにこの値が含まれます。

ホストグループ定義

説明:

ホストグループ定義は通知をシンプルにする目的で1つ以上のホストをグループ化するために使用します。どのホストも必ず-そのホストがそのグループでたった1つだけであっても -最低1つのホストグループに属していなくてはなりません。ホストは1以上のホストグループに属す事ができます。ホストが停止、未到達、復旧したときに、Nagiosはそのホストが、どのホストグループで、それらのホストグループがどの通知先グループを持っているかを探し、それらの通知先グループに属している通知先全員に通知を行います。これは複雑に見えるかも知れませんが、ほとんどの人には必要ないかも知れません。しかしながら、これは誰がどんな障害について通知を受けるのか柔軟な対応が可能になります。ホストグループ定義の様々な引数については以下で説明しています。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define hostgroup{
hostgroup_namehostgroup_name
aliasalias
contact_groupscontact_groups
membersmembers
   }

サンプル定義:

define hostgroup{
	hostgroup_name		novell-servers
	alias			Novell Servers
	contact_groups		novell-admins
	members			netware1,netware2,netware3,netware4
	}

ディレクティブの説明:

hostgroup_name: これはホストグループを識別するショートネームです。
alias: これはホストグループを認識するためのロングネームもしくは説明です。これはそのホストをより簡単に識別するために使用します。
contact_groups: これは、このホストグループのホストが障害(もしくは復旧)した際に通知を行う通知先グループショートネームのリストです。複数のホストグループをコンマ区切りで定義できます。
members: これはこのグループに属するホストショートネームです。カンマ区切りで複数のホストを定義できます。

通知先グループ定義

説明:

通知先グループ定義は警告/復旧通知を送る目的で1つ以上の通知先の設定です。ホストやサービスが障害もしくは復旧した際に、Nagiosは通知先を適当な通知先グループから見つけ、それら通知先グループに属している通知先全員に通知を送ります。これは複雑に見えるかも知れませんが、ほとんどの人には必要ないかも知れません。しかしながら、これは誰がどんな障害について通知を受けるのか柔軟な対応が可能になります。通知先グループ定義の様々な引数については以下で説明しています。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define contactgroup{
contactgroup_namecontactgroup_name
aliasalias
membersmembers
   }

サンプル定義:

define contactgroup{
	contactgroup_name		novell-admins
	alias			Novell Administrators
	members			jdoe,rtobert,tzach
	}

ディレクティブの説明:

contactgroup_name: これは通知先グループを識別するショートネームです。
alias: これは通知先を識別するロングネームもしくはこのグループの説明です。
members: これはこのグループに含まれるべき通知先ショートネームです。複数の名前をカンマ区切りで設定できます。

時間帯定義

説明:

時間帯は通知やサービスチェックを行なう"有効"な様々な時間帯のリストです。It consists one or more time periods for each day of the week that "rotate" once the week has come to an end. Exceptions to the normal weekly time range rotations are not suported.

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define timeperiod{
timeperiod_nametimeperiod_name
aliasalias
sundaytimeranges
mondaytimeranges
tuesdaytimeranges
wednesdaytimeranges
thursdaytimeranges
fridaytimeranges
saturdaytimeranges
   }

サンプル定義:

define timeperiod{
	timeperiod_name		nonworkhours
	alias			Non-Work Hours
	sunday			00:00-24:00
	monday			00:00-09:00,17:00-24:00
	tuesday			00:00-09:00,17:00-24:00
	wednesday		00:00-09:00,17:00-24:00
	thursday		00:00-09:00,17:00-24:00
	friday			00:00-09:00,17:00-24:00
	saturday		00:00-24:00
	}

ディレクティブの説明:

timeperiod_name: This directives is the short name used to identify the time period.
alias: これは時間帯を識別するショートネームです。
someday: このsundayからsaturdayのディレクティブは各々の日の"有効"な時間の時間の範囲をコンマ区切りで定義します。定義しなければならない時間範囲は異なる7個あることに注意してください(日曜日から土曜日)。それぞれの時間範囲の指定書式は24時間制でHH:MM-HH:MMです。例を挙げると、00:15-24:00は午前0:15から午後12:20分までを指します(合計23時間45分です)。もし特定の曜日の時間範囲を空欄にすると、それはその日は"有効"ではない時間帯と言う意味になります。

コマンド定義

説明:

コマンド定義は見た通りです。コマンドを定義します。定義するコマンドにはサービスチェック、サービス通知、サービスイベントハンドラ、ホストチェック、ホスト通知、ホストイベントハンドラが含まれます。コマンド定義にはマクロを含めることができますが、そのコマンドを使用する環境でそのマクロを含めることがが"適切"かどうか確認して下さい。マクロおよび使用時の"適切"さについての詳しい情報はここを見て下さい。コマンド定義の様々な引数は以下で説明しています。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define command{
command_namecommand_name
command_linecommand_line
   }

サンプル定義:

define command{
	command_name	check_pop
	command_line	/usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$	
	}

ディレクティブの説明:

command_name: コマンドを識別するショートネームです。これは通知先, ホストそして、サービス定義から参照されます。
command_line: これはサービスやホストチェックでコマンドが使用される時、Nagiosが実際にはなにを実行するか定義します。コマンドラインが実行される前に、全適切なマクロ はそれぞれの値に置き換えられます。いつ異なるマクロを使用できるかと云う事に関してはマクロのドキュメントを参照して下さい。 コマンドラインが引用でくくられないように注意して下さい。

サービス依存定義

説明:

サービス依存定義は完全なオプションです。これらは監視している他のサービスの状態に基づいた実行サービスサービス通知の両方を制御するために使います。サービス依存関係はオプションで複雑な監視設定ができる上級者をターゲットにしています。サービス依存についての詳しい説明はここにあります(読んで下さい!)。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。 しかし、最低何か1つは使用しなくてはなりません。

define servicedependency{
dependent_host_namehost_name
dependent_service_descriptionservice_description
host_namehost_name
service_descriptionservice_description
execution_failure_criteria[o,w,u,c,n]
notification_failure_criteria[o,w,u,c,n]
   }

サンプル定義:

define servicedependency{
	host_name			WWW1
	service_description		Apache Web Server
	dependent_host_name		WWW1
	dependent_service_description	Main Web Site
	execution_failure_criteria	n
	notification_failure_criteria	w,u,c
	}

ディレクティブの説明:

dependent_host: これは依存サービスがが稼動している、もしくは属しているホストショートネームです。
dependent_service_description: これはその依存サービス説明です。
host_name: これは依存されているサービスが"稼働"している、もしくは属しているホストショートネームです。
service_description: これは依存されているサービスの説明です。
execution_failure_criteria: これらのオプションは依存サービスのチェックが実行されない状況を定義するのに使用します。依存されているサービスがここで指定したの障害ステータスのいずれかになったら、依存サービスは(チェックが)実行されません。有効なオプションは次の1つ以上のコンビネーションです:o = OKステートで失敗、w=WARNINGステートで失敗、u=UNKNOWNステートで失敗、c=CRITICALステートで失敗。 例:もしocuと指定した場合、依存関係はその依存されているサービスが、OK、CRITICAL、UNKNOWNステートになった場合、依存サービスのチェックは実行されません。このフィールドにはどんな失敗オプションも指定する必要がありません。
notification_failure_criteria: これらのオプションは依存サービスの通知が実行されない状況を定義するのに使用します。依存されているサービスがここで指定したの障害ステータスのいずれかになったら、依存サービスは(通知が)実行されません。有効なオプションは次の1つ以上のコンビネーションです:o = OKステートで失敗、w=WARNINGステートで失敗、u=UNKNOWNステートで失敗、c=CRITICALステートで失敗。 例:もしocuと指定した場合、依存関係はその依存されているサービスが、OK、CRITICAL、UNKNOWNステートになった場合、依存サービスの通知は実行されません。このフィールドにはどんな失敗オプションも指定する必要がありません。

サービスエスカレーション定義

説明:

サービスエスカレーション定義は完全なオプションで特定のサービス通知をエスカレーションするために使用します。通知のエスカレーションの働きについてはここに詳しい情報があります

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define serviceescalation{
host_namehost_name
service_descriptionservice_description
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

サンプル定義:

define serviceescalation{
	host_name		nt-3
	service_description	Processor Load
	first_notification	4
	last_notification	0
	notification_interval	30
	contact_groups		all-nt-admins,themanagers
	}

ディレクティブの説明:

host_name: このディレクティブはこのエスカレーションに属しているサービスホストショートネームです。
service_description: このディレクティブははこのエスカレーションに属しているサービスを識別する説明です。
first_notification: これはこのエスカレーションが有効になった最初に通知を識別する数です。たとえば、もしこの値を3に設定したら、このエスカレーションはサービスが3つめのエスカレーションになる期間に使用されるだけです。
last_notification: これはこのエスカレーションが有効になった最後の通知を識別する番号です。たとえばこの値を5にした場合、このエスカレーションは特定のサービスの通知を5回以上は送りません。この値を0にした場合、このエスカレーションは永遠に続きます(何通でも通知したかは気にしません)。
contact_groups: これはサービス通知がエスカレーションした時に通知されるべき通知先グループショートネームです。カンマ区切りで複数の通知先グループを設定できます。
notification_interval: このエスカレーションが有効である間の通知が送られる間隔です。この間隔に0を設定するとこのエスカレーション定義が有効になった時の最初の通知のみ送られますが、それ以外のそのホストのどんな障害についても通知は送られません。そして、サービスが復旧した時に再度通知が送られます。これは大量の通知を受け取りたくない場合に有用です。 Note:あるサービスに複数のエスカレーション設定があり通知レンジがオーバーラップしている場合、それらエスカレーションエントリの最も小さい通知間隔が適用されます。

ホスト依存定義

説明:

ホストの依存関係は1つ以上のホストのステータスからホストの挙動を制御することができる上級者向け機能です。ホスト依存関係はオプションで複雑な監視設定ができる上級者をターゲットにしています。ホスト依存関係の働きのより詳しい情報はこちらです(読んでください!)。

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define hostdependency{
dependent_host_namehost_name
host_namehost_name
notification_failure_criteria[o,d,u,n]
   }

サンプル定義:

define hostdependency{
	host_name			WWW1
	dependent_host_name		DBASE1
	notification_failure_criteria	d,u
	}

ディレクティブの説明:

dependent_host: このディレクティブは依存ホストを識別するショートネームです。
host_name: これは依存されているホストを識別するショートネームです。
notification_failure_criteria: このオプションは依存ホストの通知が実行されない状況を定義するのに使用します。依存されているホストがここで指定したの障害ステータスのいずれかになったら、依存ホストは(通知が)実行されません。有効なオプションは次の1つ以上のコンビネーションです:o = UPステートで失敗、d=DOWNステートで失敗、u=UNREACHABLEステートで失敗。 例:もしn(無し)と指定すると、通知依存は失敗することが無く、依存ホストの通知は常に送られます。例:このフィールドにdを指定した場合、依存ホストの通知は依存されたホストがDOWNステートの時には送信されません。

ホストエスカレーション定義

説明:

ホストエスカレーション定義は完全なオプションで特定のホスト通知をエスカレーションするために使用します。通知のエスカレーションの働きについてはここに詳しい情報があります

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define hostescalation{
host_namehost_name
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

サンプル定義:

define hostescalation{
	host_name		router-34
	first_notification	5
	last_notification	8
	notification_interval	60
	contact_groups		all-router-admins
	}

ディレクティブの説明:

host_name: このディレクティブはこのエスカレーションが適用されるホストを識別するためのホストのショートネームです。
first_notification: これはこのエスカレーションが有効になった最初に通知を識別する数です。たとえば、もしこの値を3に設定したら、このエスカレーションはホストが3つめのエスカレーションになる期間に使用されるだけです。
last_notification: これはこのエスカレーションが有効になった最後の通知を識別する番号です。たとえばこの値を5にした場合、このエスカレーションは特定のホストの通知を5回以上は送りません。この値を0にした場合、このエスカレーションは永遠に続きます(何通でも通知したかは気にしません)。
contact_groups: これはホスト通知がエスカレーションした時に通知されるべき通知先グループショートネームです。カンマ区切りで複数の通知先グループを設定できます。
notification_interval: このエスカレーションが有効である間の通知が送られる間隔です。この間隔に0を設定するとこのエスカレーション定義が有効になった時の最初の通知のみ送られますが、それ以外のそのホストのどんな障害についても通知は送られません。そして、ホストが復旧した時に再度通知が送られます。これは大量の通知を受け取りたくない場合に有用です。 Note:あるサービスに複数のエスカレーション設定があり通知レンジがオーバーラップしている場合、それらエスカレーションエントリの最も小さい通知間隔が適用されます。

ホストグループエスカレーション定義

説明:

ホストグループエスカレーション定義は完全なオプションで特定のホストグループの通知をエスカレーションするために使用します。通知のエスカレーションの働きについてはここに詳しい情報があります

定義書式:

Note: 赤色のディレクティブは必須で、黒はオプションです。

define hostgroupescalation{
hostgroup_namehostgroup_name
contact_groupscontactgroup_name
first_notification#
last_notification#
notification_interval#
   }

サンプル定義:

define hostgroupescalation{
	hostgroup_name		netware-servers
	first_notification	5
	last_notification	0
	notification_interval	30
	contact_groups		netware-admins,themanagers
	}

ディレクティブの説明:

hostgroup_name: このディレクティブはこのエスカレーションが適用されるホストグループ を識別するためのショートネームです。
first_notification: これはこのエスカレーションが有効になった最初に通知を識別する数です。たとえば、もしこの値を3に設定したら、このエスカレーションはホストグループが3つめのエスカレーションになる期間に使用されるだけです。
last_notification: これはこのエスカレーションが有効になった最後の通知を識別する番号です。たとえばこの値を5にした場合、このエスカレーションは特定のホストグループの通知を5回以上は送りません。この値を0にした場合、このエスカレーションは永遠に続きます(何通でも通知したかは気にしません)。
contact_groups: これはホスト通知がエスカレーションした時に通知されるべき通知先グループショートネームです。カンマ区切りで複数の通知先グループを設定できます。
notification_interval: このエスカレーションが有効である間の通知が送られる間隔です。この間隔に0を設定するとこのエスカレーション定義が有効になった時の最初の通知のみ送られますが、それ以外のそのホストのどんな障害についても通知は送られません。そして、ホストが復旧した時に再度通知が送られます。これは大量の通知を受け取りたくない場合に有用です。 Note:あるサービスに複数のエスカレーション設定があり通知レンジがオーバーラップしている場合、それらエスカレーションエントリの最も小さい通知間隔が適用されます。