オブジェクト定義

提供: Nagios 3翻訳プロジェクト Wiki
2010年8月8日 (日) 21:48時点におけるWikiadmin (トーク | 投稿記録)による版 (オブジェクトタイプ Object Types)

移動: 案内検索

導入 Introduction

Nagiosのオブジェクト設定フォーマットの1つの特徴として、他のオブジェクト定義からの継承プロパティーをオブジェクト定義として作ることができるということがあります。継承オブジェクトの動作方法についてはここにあります。オブジェクト定義の作成やメンテナンスをより簡単にするためにこのドキュメントを読んで充分に理解することをつよくお薦めします。 また, 違った形で退屈な設定作業のための近道をオブジェクトのトリックで提供しているので研究してください。

設定ファイルを作成または編集する時、以下の事を覚えておいて下さい:

1.'#'文字で始まる行はコメントであり、実行されない
2.設定の名前は大文字小文字を区別する
3.設定行の中のセミコロン(;)の後の文字はコメントとして扱われ、実行されない

リテンションのメモ Retention Notes

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

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

サンプル設定ファイル Sample Configuration Files

注釈: サンプル設定ファイルは クイックスタートインストールガイドに従うと、/usr/local/nagios/etc/ にインストールされます。


オブジェクトタイプ Object Types

  • ホスト定義 (Host definitions)
  • ホストグループ定義
  • サービス定義
  • サービスグループ定義
  • 通知定義
  • 通知グループ定義
  • 時間帯定義
  • コマンド定義
  • サービス依存定義
  • サービスエスカレーション定義
  • ホスト依存定義
  • ホストエスカレーション定義
  • ホスト依存定義
  • ホストエスカレーション定義
  • 拡張ホスト情報定義
  • 拡張サービス情報定義


ホスト定義 (Host definitions)
説明

ホスト定義は、物理的なサーバ、ワークステーション、あなたのネットワークにあるデバイスなどを定義するのに使用されます。

定義フォーマット

注意: 赤の設定は必須ですが、黒の設定は任意です。

赤で書かれた設定は必須ですが、黒でかかれているものは任意です。

define host{
host_name host_name
alias alias
display_name display_name
address address
parents host_names
hostgroups hostgroup_names
check_command command_name
initial_state [o,d,u]
max_check_attempts #
check_interval #
retry_interval #
active_checks_enabled [0/1]
passive_checks_enabled [0/1]
check_period timeperiod_name
obsess_over_host [0/1]
check_freshness [0/1]
freshness_threshold #
event_handler command_name
event_handler_enabled [0/1]
low_flap_threshold #
high_flap_threshold #
flap_detection_enabled [0/1]
flap_detection_options [o,d,u]
process_perf_data [0/1]
retain_status_information [0/1]
retain_nonstatus_information [0/1]
contacts contacts
contact_groups contact_groups
notification_interval #
first_notification_delay #
notification_period timeperiod_name
notification_options [d,u,r,f,s]
notifications_enabled [0/1]
stalking_options [o,d,u]
notes note_string
notes_url url
action_url url
icon_image image_file
icon_image_alt alt_string
vrml_image image_file
statusmap_image image_file
2d_coords x_coord,y_coord
3d_coords x_coord,y_coord,z_coord
    }
定義の実例
define host{

	host_name			bogus-router

	alias				Bogus Router #1

	address				192.168.1.254

	parents				server-backbone

	check_command			check-host-alive

	check_interval			5

	retry_interval			1

	max_check_attempts		5

	check_period			24x7

	process_perf_data		0

	retain_nonstatus_information	0

	contact_groups			router-admins

	notification_interval		30

	notification_period		24x7

	notification_options		d,u,r

	}

定義の説明
















host_name: この設定は、ホストを特定するのに使用される省略名を定義するのに使用されます。それはこの特定のホストを参照するためのホストグループとサービス定義において使用されます。ホストはそれらに関連した(監視されている)多重サービスを持っている。適切に使用される時、$HOSTNAME$マクロはこの省略名を含むでしょう。
alias: この設定は、ホストを特定するのに使用されるより長い名前か記述を定義するのに使用されます。それは、あなたがより簡単に特定のホストを確認するのを許可するために提供されます。適切に使用される時、$HOSTNAME$マクロはこの省略名を含むでしょう。
address: この設定は、ホストのアドレスを定義するのに使用されます。 通常、これはIPアドレスです、それが本当にあなたが欲しいものであるかもしれませんが。(ホストの状態をチェックするのにそれを使用できる限り)あなたは、IPアドレスの代わりにホストを特定するのにFQDNを使用できますが、DNSサービスが3333ccleでなければ、これは問題を起こすかもしれません。適切に使用される時、$HOSTNAME$マクロはこの省略名を含むでしょう。
注意: あなたがホスト定義におけるアドレス設定を指定しないなら、そのホストの名前はアドレスとして使用されるでしょうこれをすることに関する警告の言葉、しかしながら…もしDNSが失敗するとプラグインがホスト名を解決できないので、あなたのサービスチェックの大部分は失敗するでしょう。
display_name: この設定は、このホストのためにウェブインタフェースに表示されるべきである別名称を定義するのに使用されます。 もし指定されないなら、これはあなたがhost_name設定に指定する値をデフォルトとします。
注意:ウェブインタフェースの将来のバージョンでは使用になるでしょうが、現在のCGIはこのオプションは使用しません。
parents: この設定はこのホストの"親"ホストをカンマ区切りのショートネームで記述します。 親ホストの典型的なものとしては監視サーバとリモートホストの間に位置するルータやスイッチ、 ファイアウォールなどが挙げられます。リモートホストの近くにあるルータやスイッチなどは" 親"ホストと考えられます。詳しい情報は ここ にある"ネットワークホストの到達性と状態の決定"ドキュメントを参照してください。 もしこのホストが監視サーバと同一のネットワークにある(ルータなどを挟んでいない場合) 場合は、ローカルネットワークとして考えられ、親ホストは持たないでしょう。 もしそのホストに親ホストが無い場合(つまりNagiosホストとそのホストが同一セグメント上にある) はここの値は空欄にしてください。親ホストを指定するかどうかと言うことは監視になんの影響も与えません。
hostgroups: この設定は、ホストが所属しているホストグループショートネーム を識別のために記述します。 複数のホストグループを記述するには、コンマで区切られていなければなりません。 この設定が、ホストグループ定義の メンバー 設定の代替として(または、それに加えて)記述されるかもしれません。
check_command: この設定は、そのホストがアップしているかダウンしているかをチェックするコマンドショートネームを指定します。 通常は, このコマンドはホストが"生きている"かどうか 確認するためにpingを発行して試みます。 このコマンドは OK (0)ステータスが返って来なければならず、 さもなければ、Nagiosはそのホストがダウンしていると想定します。 もしこの引数が空欄の場合、 アクティブにチェックされません。 このように, Nagiosはおそらくホストが常に稼働していると想定します (それは"保留" 状態として webインターフェイスに表示されるかも知れません)。 これはしばしば電源を落とすプリンタや 他のデバイスを監視するのに役立ちます。 通知コマンドを発行できる最大の数はhost_check_timeout オプションによって制御されます。
initial_state: デフォルトで、 Nagiosは、それが始まるときすべてのホストが稼働状態にあると仮定します。 この設定を用いて、ホストの初期状態を上書きすることができます。 有効なオプションは以下のとおりです: o = 稼働, d = 停止, そして u = 到達不能。
max_check_attempts: この設定は、ホストチェックコマンドがOK状態ではない状態を返してきた時に、 Nagiosが何回チェックコマンドを再試行できるかを記述します。この値に1に設定することは、 Nagiosがホストチェックを再試行することなく、警告を発する要因となります。注釈:もしそのホストの状態をチェックしたく なければ、この値を1のままに設定しておかなければいけません。ホストチェックをバイパス(無視?)するためには、 check_commandオプションは空欄にします。
check_interval: この設定は、定期的にスケジュールされたホストのチェックの間の"time units"の数を定義するのに使用されます。    あなたが60のデフォルト値からinterval_length設定を変えていないと、この数は分を意味するでしょう。check scheduling チェックスケジューリングドキュメンテーションで、この値に関する詳しい情報を見つけることができます。  
retry_interval: この設定は、ホストの再確認をスケジュールする前に待機する"time units"の数を定義するのに使用されます。 ホストはステータスが非アップに変わった時に再確認のインターバルのスケジュールを変更されます 。  一度ホストがmax_check_attemptsを試行してもステータスは変わらず、check_interval値によって"normal"に定義してあるものにスケジュールされて戻ります。interval_length を変更した場合を除き、デフォルトが60の値からの設定は, この数分のことを意味します。 この値の詳細については、check schedulingドキュメントから探すことができます。
active_checks_enabled *: この設定はこのホストでアクティブチェック(定期的にスケジュールされるか、必要に応じてなのか)を利用の有無を決定するのに使用されます。 値:0 = アクティブチェックを無効, 1 = アクティブチェックを有効(デフォルト)。
passive_checks_enabled *: この設定はこのホストに対してパッシブチェックを有効にするか否かを決定します。 値:0 = パッシブホストチェックを無効, 1 = パッシブホストチェックを有効(デフォルト)。
check_period: この設定はホストのアクティブチェックをすることが出来る" 時間帯の短い名前を指定するために使用されます。
obsess_over_host*: この設定はochp_command を使ってホストに"取り付く"かどうかを決定します。
check_freshness *: この設定はフレッシュネスチェック がホストで有効にするかどうかを決めるために指定します。 値: 0 = フレッシュネスチェックを無効 , 1 = フレッシュネスチェックを有効 (デフォルト)。
freshness_threshold: この設定は、ホストのフレッシュネス閾値(秒で)を指定します。  もしこの値を0にセットしたなら、Nagiosは自動的にフレッシュネス閾値を決定するでしょう。
event_handler: この設定は、ホストの状態の変化が見つかった時(すなわち、停止もしくは復旧するときはいつでも) はいつでも、実行されなければいけないコマンドショートネームを指定します。 イベントを取り扱うためのより詳細な説明はイベントハンドラ のドキュメントを 読んでください。イベントハンドラが最大何回動作するかはevent_handler_timeout オプションで制御します。
event_handler_enabled *: この設定は、ホストのイベントハンドラを有効にするかどうかを決めるために記述します。 値: 0 = イベントハンドラを無効, 1 = イベントハンドラを有効
low_flap_threshold: この設定は、ホストのフラップ検知において状態変更の閾値を指定して記述します。フラップ検知に関する詳細な情報は、ここにあります。 この設定の値を0にセットすると、low_host_flap_threshold 設定によって指定されるプログラムワイドな値が使われるでしょう。
high_flap_threshold: この設定は、ホストのフラップ検知において状態変更の閾値を指定して記述します。 フラップ検知に関する詳細な情報は、ここにあります。 この設定の値を0にセットすると、high_host_flap_threshold 設定によって指定されるプログラムワイドな値が使われるでしょう。
flap_detection_enabled*: この設定は、フラップ検知をホストで有効にするかどうか決定するために記述します。 フラップ検知に関する詳細な情報は、ここにあります。 値:0 = ホストフラップ検知を無効、1 = ホストフラップ検知を有効。
flap_detection_options: この設定は、フラップ検知ロジックがホストのためにどんなステータスを決定するかを記述します。 有効なオプションは次の1つまたは複数の組み合わせです: o = アップ状態, d = ダウン状態, u = 到達不能状態.
process_perf_data *: この設定はパフォーマンス情報を保存するかどうかを決定します。 値: 0 = 保存しない 、1 = 保存する
retain_status_information: この設定はnagiosの再起動後もホストのステータス情報を保持するかどうかを決定します。君がretain_state_information 設定を使っているのであればこの設定は役に立ちます。値: 0 = 保持しない, 1 = 保持する
retain_nonstatus_information: この設定はnagiosの再起動後もホストのステータス情報以外を保持するかどうか決定します。 君がretain_state_information設定を使っているのであれば役に立ちます。値: 0 = 保持しない, 1 = 保持する
contacts: これは障害や障害の復旧時に通知されるcontacts の短い名前のリストです。複数のコンタクトはコンマで区切らなければいけません。 君が2,3人への通知を希望して contactgroupsを使いたくない場合に役に立つよ。君は少なくとも1つのコンタクトかコンタクトグループ を各々のホストで定義しないといけないよ。
contact_groups: これは障害や障害の復旧時に通知されるcontactgroupsの短い名前のリストです。 複数のコンタクトグループはコンマで区切らなければいけません。 君は少なくとも1つのコンタクトかコンタクトグループを各々のホストで定義しないといけないよ。
notification_interval: この設定は依然サービスが停止もしくは到達不能であるというコンタクトを再通知する前に、 待機するための"時間単位"の数値を決めて記述します。interval_length 設定の値を60から変えない限り、この値は分を意味します。 もし、この値を0にすると、 Nagiosはこのホストの問題についてのコンタクトを再通知しません - 問題の通知は1度だけ送信されるでしょう。
first_notification_delay: この設定は、ホストが非稼動状態になるときの最初の問題通知を出す前に待機する "時間単位"の数を決めて記述します。interval_length の設定をデフォルト値の60から変えない限り、この値は1分を意味します。 この値を0にセットすると、Nagiosはすぐに通知を送信するでしょう。
notification_period: この設定は、ホストのイベント通知をコンタクトに送信することができる時間帯 のショートネームを記述します。この時間帯がカバーしない時間の間にホストが、停止する、到達不能になる、 もしくは復旧しても、通知は送信されません。
notification_options: この設定は、いつホストの通知が送信されなければならないか決めて記述します。 有効なオプションは、以下の一つ以上の組合せです: d = 停止状態で通知を送る, u = 到達不能状態で通知を送る、 r = 復旧状態(OK状態)で通知を送る、 f = ホストのフラッピングが発生、もしくは止まった時に通知を送る, s = スケジュールされたダウンタイムが開始、 もしくは終了したときに通知を送る。オプションとして n (なし)を指定すると、ホスト通知は送信されないでしょう。 どの通知オプションも指定しなかった場合、Nagiosは可能な限り状態の通知を送信すると仮定します。 例: このフィールドで d,r を指定するなら、ホストが停止するとき、また停止状態から復旧するときにだけ通知されます。
notifications_enabled *: この設定は、このホストのための通知が可能にされるかどうか決定するのに使用されます。 Values: 0 = ホスト通知無効, 1 = ホスト通知有効.
stalking_options: この設定は、どのホストが「追跡」が可能にされるか明言する事をを決定します。 妥当なオプションは、以下の1つ以上の組み合わせです: o = stalk on UP states, d = stalk on DOWN states, and u = stalk on UNREACHABLE states. 状態の追跡に関する詳しいインフォメーションを見つけることが出来るのはここです。
notes: この設定は、ホストに関係する注釈の、任意のストリングを定義するのに使用されます。   ここに注釈を明示すると、あなたは拡張された情報CGI   (あなたが指定されたホストの情報を見ている時)の中にそれを見るだろう。
notes_url: この変数は、ホストに関する詳しい情報を提供するのに使用できる任意のURLを定義するのに使用されます。 あなたがもしURLを指定すると、ここであなたが指定するURLにリンクされるCGI(あなたがホスト情報を見ている時) の中に赤いフォルダアイコンを見るでしょう。どんな有効なURLも使用できます。 もしあなたが相対パスを使う事を計画するなら、絶対パスはCGI(i.e. /cgi-bin/nagios/)へのアクセス に、何が使われるのか同様になるだろう。 これは、あなたがホストや、非常時の連絡手段などの他のサポートスタッフにとって、利用可能なより詳しい情報を 作りたいなら、非常に役に立つ場合があります。
action_url: この設定は、ホストにて実行されるために、より多くの動作を提供するのに使用される事が出来る 任意のURLを定義するのに使用されます。 URLを指定すると、あなたはここで指定するURLにリンクする(あなたがホスト情報を見ている時)のCGIに赤い「splat」アイコンを見るでしょう。 どんな有効なURLも使用できます。もしあなたが相対パスを使う事を計画するなら、絶対パスはCGI(i.e. /cgi-bin/nagios/)へのアクセスに、 何が使われるのか同様になるだろう。
icon_image: この変数は、このホストに関連するべきGIF、PNG、またはJPG画像の名前を定義するのに使用されます。 このイメージはCGIの様々な場所に表われるでしょう。 その画像はサイズが40×40画素であれば良く見えるでしょう。 ホストのための画像があなたのHTMLイメージディレクトリのlogos/サブディレクトリにあると思われます。 (i.e. /usr/local/nagios/share/images/logos).
icon_image_alt: この変数は<icon_image>議論で指定された画像に関するALTタグで使用される任意のストリングを定義するのに使用されます。
vrml_image: この変数は、このホストに関連するべきGIF、PNG、またはJPGイメージの名前を定義するのに使用されます。 この画像はstatuswrl CGIにおいて指定されたホストにて基本の地図として使用されるでしょう。 あなたが使う<icon_image>変数のための画像とは異なって、これはたぶん透明性を持つべきでない。 そうすると、ホストオブジェクトは少し変に見えるでしょう。 ホストのための画像があなたのHTMLイメージディレクトリのlogos/サブディレクトリにあると思われます。 (i.e. /usr/local/nagios/share/images/logos).
statusmap_image: この変数は、statusmap CGIのこのホストに関連するべきイメージの名前を定義するのに使用されます。 あなたが望んでいるなら、あなたはJPEGとPNGとGIFイメージ画像を指定できます。 他の画像フォーマットがstatusmapイメージが発生する多くの無駄なCPU時間に由来するのなら、 私は、GD2フォーマット画像を使用することを強く提案しますが。 Thomas Boutellのgd libraryが供給されたpngtogd2 ユーティリティを使用することによってPNG画像か、GD2イメージを作成できます。 GD2画像は、statusmap CGIがネットワーク地図画像を発生させているとき、 CPUのロードを最小にするためにuncompressed(解凍された)形式で作成されるべきです。 その画像のサイズが40×40画素であれば良く見えるでしょう。 statusmap CGIを使用していないなら、 あなたはこれらをオプション空白の状態でおくことができます。 ホストのための画像があなたのHTMLイメージディレクトリのlogos/サブディレクトリにあると思われます。 (i.e. /usr/local/nagios/share/images/logos).
2d_coords: この変数はステータスマップ CGIでホストを描画するときに使用される、座標を決めて記述します。 座標は作成された画像の物理的なピクセルと一致させて、正整数で付与しなければいけません。 描画の始点(0,0)は、画像の左上側の隅にあり、画像のはじめの正のx方向(右)から沿って、 画像の左側から沿った正のy方向(下)に拡張します。 参考として、描かれるアイコンのサイズは、 通常、約40x40ピクセル(テキストは、少し余分なスペースをとります)です。 ここで指定する座標は、左上側の隅に描画されるアイコンのものです。 注: 使用できる最大のxとy座標が何であるかということについては、心配はいりません。 CGIは、それが指定する最大のxとy座標に基づいて、作成する画像の最大寸法を自動的に計算します。
3d_coords: この変数は、ステータスワールド CGIでホストを描画するときに使用する座標を決めて記述します。 座標は、正か負の実数となります。描画の始点は(0.0,0.0,0.0)です。 参考として、描画される立方体(3次元体)のホストのサイズは、両側(テキストは、もう少しスペースをとります)0.5単位ずつです。 ここで指定する座標が、立方体(3次元体)のホストの中心として扱われます。