square.gif 構成設定の実施シナリオ

homeicon.gif Print Page Send Comments

グループの定義

目次 表示

 グループは柔軟性が高く強力です。強力である分、設定によって重大な影響がもたらされるため、その管理には十分な注意が必要です。もっとも単純な場合、グループはホストを異なる Nagios 設定ファイルに振り分けるために使用します。これに対し、もっとも複雑な実装では、設定が複数のNagiosインスタンスにまたがるため、これらインスタンス間でサービス・チェックに適用するグループマクロを決定するのにグループを使用します。

ファイル管理や Nagios の複数のインスタンスを管理する他に、多くのユーザにとってのグループの最大の利点は、ホスト管理に必要なサービス数を少なくできることです。 グループマクロを適切に実装すれば、以前必要だった多数の冗長なサービスを減らすことができます。また新機能として、ホストグループ、さらには単独のホストに対して、グループを用いたPre Flight Test(プリフライトテスト)の実行が可能になりました。(注: グループに親が含まれていない場合、テストはフェイルします。) また、ホストやサービスに連絡先グループを割り当てる方法としてグループを使うこともできます。

新規グループ

screenshoticon.gif表示/隠す

  1. Configuration(コンフィグレーション)のメニューオプションから Groups(グループ)を選択します。

  2. New(新規)を選択します。

  3. New Group(新規グループ)画面が表示されます。

  4. グループの Name(名前)を入力します。 グループにホストを割り当てると、<グループ名>_hosts.cfg という名前のファイルに書き込まれ、そのサービスは <グループ名>_services.cfg. というファイルに書き込まれます。 したがって、グループ名はファイルの命名規則に従わねばなりません。

  5. Add(追加)を選択して、次の Manage Group(グループ管理)画面に進みます。

グループの管理 - 詳細

screenshoticon.gif表示/隠す

  1. Detail(詳細 )タブの各項目に入力します。

  2. Save(保存)を選択して、新規グループを追加します。 Delete(削除) を選択するとグループを削除します。 現在のグループ名を変更するには、Rename(名前を変更)を選択します。 Close (閉じる)を選択すると、保存せずにManage Group(グループ管理)画面を終了します。

: Detail(詳細)

Name(名前 )

グループ名です。

Description(説明 )

[任意] コメントや指示を入力します。

Contact Groups
(コンタクトグループ)

 

グループにコンタクトグループを割り当てることにより、ホストグループ、ホスト、またはサービスレベルでコンタクトグループが定義されていなかった場合のデフォルトの連絡先を設定できます。 Nagios では、ホストとサービス/ホストグループには別々にコンタクトグループが割り当てられます。 GroundWork では、引き続き Nagios1.2 の手法である、ホストグループへのコンタクトグループの割り当てを許しています。 同じコンタクトグループを共有している場合でも、2個所で管理する必要があります。 コンタクトグループをグループに対して設定することにより、このような冗長性を排除できます。

注意: グループに定義されたコンタクトグループは、ホストテンプレートやサービステンプレートで定義したコンタクトグループよりも優先されます。 一方、子のサブグループに割り当てられたコンタクトグループは、親グループのコンタクトグループよりも優先されます。

Group Status
(グループステータス)

グループを非アクティブに設定すると、メンバのホストとそのサービスは Nagios の GUI から削除され、Status Viewer(GroundWork Monitor)の_Inactive Host Groupに移されます。ただし、設定は保持されます。 ホストを復帰させるには、非アクティブ設定のグループからホストを削除するか、ホストが含まれるグループの非アクティブ設定を解除します。

複数インスタンス  -
Build Instance Properties(インスタンス構築の設定項目):
Build Folder(
構築フォルダ)

 

複数インスタンス ? グループによって Nagios の複数インスタンスを一元的に管理する方法が得られます。 各インスタンスがグループとなり、グループは一連の子サブグループの親になることができます。 各グループに対して、画面左側のナビゲーションツリーには、それぞれの NagiosCGI 設定、Nagios のメイン設定、Nagios リソースマクロ群へのリンクがあります。 現状では、GroundWorkは設置方法を公式には承認していません。 Build Instance(インスタンスの構築)オプションでは、指定した書き込み可能なフォルダに、インスタンスに対応する適切なファイル群を生成しから、設置モジュールであるMonarchDeploy.pmを呼び出します。 単にこれらのファイルをエクスポートするオプションもあります。

ツリーメニュー

  •  Nagios CGI ? このインスタンスのNagios CGIを設定します。

  •  Nagios CGG ? このインスタンスのNagiosメイン設定を編集します。

  •  Resource CFG ? このインスタンスのNagiosリソースマクロを設定します。

  •  Pre flight test ? グループまたはインスタンスのNagios pre flight test(プリフライトテスト: nagios ?v)を実行します。

  • Build instance and Deployment (インスタンスの構築と設置) - このインスタンスに対するNagios設定ファイルを生成し、設置モジュールを呼び出します。MonarchDeploy.pmモジュールは、インストールのmonarch/libフォルダにあります。(注: スタンドアロンバージョンを使用している場合、インストールパス /lib になります。) モジュールはグループのインスタンス構築オプションから呼び出され、left unmodified isは何も行いません。 モジュール内にはドキュメント付きのサブルーチン例があります。 自動設置を実装するには、少なくともいくらかのPerl の知識が必要となるでしょう。しかしながら、単にシェルスクリプトを呼び出すだけという方法もあります。

  • Export -  インスタンスに対する、ダウンロード可能なNagios設定ファイルを生成します。

  • Build Instance Properties(インスタンス構築の設定項目)  ? Manage Group(グループ管理) 画面の Detail(詳細) タブにあり、Build Folder(構築フォルダ)、Nagios etc Folder(Nagios etc フォルダ)、Force Hosts(ホストの強制適用)、Force Checks(チェックの強制適用)などの項目があります。 Nagiosの複数インスタンスを管理する必要がないならば、これらの設定項目は無視してください。 グループに対する Pre Flight Test の実行にも必要ありません。

  • Build Folder構築フォルダ) ? 構築を行うためのWebアカウント(GroundWorkインストールではnobody)の書き込み可能なフォルダです。 インスタンスを構築する際に、Nagiosファイルが書き込まれるフォルダです。 この配布に対する、Webサービスの書き込み可能なフォルダを入力します。 入力の誤りやパーミッションが正しくないフォルダを設定すると、インスタンス構築がフェイルします。

Nagios etc Folder
(Nagios etc フォルダ)

設定ファイルを保持するNagiosのターゲットホスト上のフォルダです。 nagios.cfg ファイルは、このパスを使って構築されます。 ターゲットホスト上のNagios設定フォルダのパスを入力してください。この値は、nagios.cfg ファイルの生成にしか用いられませんが、Nagiosのオブジェクト設定ファイルを保存するターゲットホスト上の実際の場所を反映していなければなりません。

Force Hosts
ホストの強制適用)

このインスタンスに強制的にホストのリストを含めるためのオプションです。 このオプションを選択すると、共通のメンバが属するグループのマクロ適用は保ったまま、サブグループホストのリストをオーバライドします。

Force Checks
(チェックの強制適用)

ホスト、サービス、およびこれらのテンプレートに設定された値をオーバライドします。通常、複数インスタンスのNagiso実装では、親である監視ホストはパッシブチェックを、子である監視ホストはアクティブチェックを実行します。 ホストの現在の設定方法に応じて、Force Checks(チェックの強制適用) を有効にして、該当するアクティブ/パッシブオプションを選択します。

グループの管理 - ホスト割り当て

screenshoticon.gif表示/隠す 

ホストおよびサービスはグループ名に基づいてNagios 設定ファイルに書き込まれます。 デフォルトでは、ホストはすべて hosts.cfg に、サービスはすべて services.cfg に書き込まれます。 前述のとおり、グループに割り当てたホストは <グループ名>_hosts.cfg という名前のファイルに書き込まれ、そのサービスは <グループ名>_services.cfg というファイルに書き込まれます。 したがって、グループ名はファイルの命名規則に従わねばなりません。

グループを用いてホストとサービスをさまざまな Nagios 設定ファイルに配信する場合は、ホストのメンバが重複しないホストグループを使用することを推奨します。あるいは各グループに個別にホストを追加することも可能です。 後者の欠点は、新たにホストを追加するごとに手動でグループに割り当てなければならない点です。これに対して、ホストグループによるホスト割り当てでは自動的にホストがグループに追加されます(例えば、ホストをホストグループに割り当てたとき)。 1つまたは複数のホストグループに重複しているホストは、最後に読み込まれたグループのファイルに割り当てられます。 グループは辞書の並び順で読み込まれます。

  1. Hosts(ホスト)タブより、ホスト個別またはホストグループごとにホスト割り当てのチェックボックスを選択します。 ホストグループを割り当てる方法を推奨します。これは、ホストをホストグループに追加すれば、グループにもそのホストが自動的に含まれるようになるためです。

グループの管理 - サブグループ

screenshoticon.gif表示/隠す

サブグループは特定の状況、特にNagiosの複数インスタンスを構築する場合にのみ役立つ機能です。 サブグループを使用する場合は、ホストおよびサービスはこれらが含まれる子グループのうち、辞書順で最後のファイルに割り当てられることに留意してください。 これとは逆に、マクロが重複している場合、その値は辞書順で最初の親グループから取り込まれます。 言い換えれば、一度一致した値が見つかりマクロが置換されると、その後にグループが処理されるときにマクロとしては認識されないということです。

  1. Sub Groups(サブグループ)タブの下部にある既存グループのリストからグループを選択後、Add Group(s)(グループの追加)をクリックしてグループを割り当てます。 グループの割り当てを解除するには、上部のリストから選択して Remove(削除)をクリックします。

グループの管理 - マクロ

以下のステップと図は、複数のプロキシ(この例ではWMIプロキシ)を介して実行されるサービスチェックの例を使って手順を示したものです。

ステップ 1 - コマンド

screenshoticon.gif表示/隠す

  1. グループマクロはサービスチェック上のNagios $ARG#$ マクロを展開します。 以下の2つの画面は、コマンド構文内のマクロ %PROXY% 定義をサービスチェック全体にわたって展開する方法を示したものです。

ステップ 2 - サービス

screenshoticon.gif表示/隠す

  1. プロキシの引数の変わりにマクロを用いてサービスを作成して、このサービスを複数のホストに適用した場合、マクロの値はホストが割り当てられたグループから継承されます。通常、サービス・チェックのコマンド引数には実際の値を割り当てます。 グループ・マクロを使用すると、これらの値をグループ・レベルで設定および管理できるようになります。

  2. ここでは、先に作成したコマンドラインをグループ・マクロ %PROXY% に置き換えます。

  3. この例ではホストグループとしてWindows HostGroup1Windows HostGroup2を作成し、それぞれにWindows1とWindows2というホストを割り当てることにします。

ステップ 3 - サービスのホストへの割り当て 

screenshoticon.gif表示/隠す

  1. Manage Host(ホスト管理) 画面の Service(サービス)タブでは、現在のホストのサービスを追加、変更、削除できます。
    注意
    : このページからサービスを管理すると、ほとんどの場合ホストがサービス・プロファイルから切り離され同期されなくなります。 変更を加えた場合は、このホストへのプロファイルの適用を注意深く行ってください。 今回のプロキシの例では、サービス wmi_exchange_mailbox_sendq
    をホスト Windows1Windows2 に追加します。

ステップ4 - マクロの追加

screenshoticon.gif表示/隠す

  1. このステップでは、グループ・マクロ %PROXY% を作成します。 マクロの Name(名前)Description(説明)Value(値)を入力後、Add New Macro(新規マクロ追加)を選択します。  

    注意
    : マクロ名に関しては、十分に注意する必要があります。 例えば、Nagios マクロのリストにある名前はいずれも使用してはなりません。一意であり、少なくともチェックコマンド文字列の他の部分に一致しない名前を使用します。 例えば%などの特殊文字を前後に付加する命名規則は一意性を確保できる可能性が高いため、プロキシ・マクロを%PROXY%と命名するのは推奨される方法です。 $はNagios がマクロ内で使用する特殊文字なので使用は避けるべきです。

ステップ 5 - 新規グループの作成、ホストグループの割り当て、マクロの設定  (グループ 1: Windows_WMI_Proxy1)

新規グループ (グループ 1: Windows_WMI_Proxy1)

screenshoticon.gif表示/隠す

続くステップでは、新規グループ(Windows_WMI_Proxy1Windows_WMI_Proxy2)を作成し、これらグループにそれぞれホストグループ(Windows1_HostGroupとWindows2_HostGroup)を割り当てます。さらにグループごとに%PROXY%マクロを設定します。

  1. Configuration(コンフィグレーション)のメニューオプションから Groups(グループ)を選択します。

  2. New(新規)を選択します。

  3. New Monrch Group(新規グループ) 画面が表示されます。

  4. グループ名 Windows_WMI_Proxy1を入力します。

  5. Add(追加)を選択して、次の グループの管理画面に進みます。

ホストグループの割り当て (ホストグループ 1: Windows1_HostGroup)

screenshoticon.gif表示/隠す

  1. Hosts(ホスト)タブを選択します。

  2. 画面下部のホストグループのリストから Windows1_HostGroup を選択します。

  3. Add HostGroup(s)(ホストグループ追加)を選択すると、ホストグループが画面上部に表示されます。

  4. 次の「マクロの設定」に進みます。

マクロの設定 (グループ 1: Windows_WMI_Proxy1)

screenshoticon.gif表示/隠す

  1. 画面下部のリストから%PROXY%マクロを選択後、Add Macro(s)(マクロの追加)をクリックして、Window_WMI_Proxy1 Groupに割り当てます。

  2. 必要に応じて値を調整後、Save(保存)を選択してグループに適用します。 ここでは、値172.28.113.201をそのまま使用します。

  3. ラベル・オプションを使用する場合は Enable label(ラベル付け実行) を選択して値を入力する必要があります。その後、Save(保存) をクリックしてグループに適用します。この値は、マクロを含むサービスのサービス記述に追加されるため、最初の文字はアンダスコアにすることを推奨します。
    注意
    : Enable label(ラベル付け実行) オプションは、チェックに冗長性を持たせる必要がある場合に有効です。プロキシの例を用いて説明すると、フェイルオーバの手段として別のプロキシによってチェックを実行すると効果的な場合があります。 Enabel label(ラベル付け実行) オプションを使用すると、サービスをもう1つ作成する必要がなくなります。ホストを2つのグループに割り当て、両グループに %PROXY% マクロを設定しますが、その値はグループごとに変えます。ラベル・オプションを有効にして値を割り当てると、%PROXY% マクロを含むサービスに対するチェックがもう1セット生成されます。 ラベルは第2のチェックのサービス記述に追加されるため、ラベルの値をアンダスコアからはじめることを推奨します。

  4. 次のステップ「新規グループの作成(グループ2: Windows_WMI_Proxy2)」からは、第2のグループに対して上記の3つのステップを繰り返します。

規グループの作成 (グループ 2: Windows_WMI_Proxy2)

screenshoticon.gif表示/隠す

  1. グループ Windows_WMI_Proxy2 を作成します。

ホストグループの割り当て (ホストグループ 2: Windows2_HostGroup)

screenshoticon.gif表示/隠す

  1. ホストグループ Windows1_HostGroup をグループ Windows_WMI_Proxy2 に割り当てます。

マクロの設定 (グループ 2: Windows_WMI_Proxy2)

screenshoticon.gif表示/隠す

  1. %PROXY% マクロをWindow_WMI_Proxy2グループに割り当てます。

  2. 必要に応じて値を調整後、Save(保存)を選択してグループに適用します。 今回は値を172.28.113.202に変更します。

テップ 6 - エクスポート

ツールのエクスポート(グループ 1: Windows_WMI_Proxy1_services.cfg)

screenshoticon.gif表示/隠す

マクロの値は、Pre Flight Test、コミット、エクスポートを実行するときに置き換えられます。これらの実行時に Nagiosは上記の手順で生成されたファイルを読み込みます。 グループマクロには実質的に制約はありませんが、Nagios マクロとは異なり、使用できるのはサービスチェックに対してのみであり、コマンド定義には使えません。

ツールのエクスポート (グループ 2: Windows_WMI_Proxy2_services.cfg)

screenshoticon.gif表示/隠す