目次 表示
グループは柔軟性が高く強力です。強力である分、設定によって重大な影響がもたらされるため、その管理には十分な注意が必要です。もっとも単純な場合、グループはホストを異なる Nagios 設定ファイルに振り分けるために使用します。これに対し、もっとも複雑な実装では、設定が複数のNagiosインスタンスにまたがるため、これらインスタンス間でサービス・チェックに適用するグループマクロを決定するのにグループを使用します。
ファイル管理や Nagios の複数のインスタンスを管理する他に、多くのユーザにとってのグループの最大の利点は、ホスト管理に必要なサービス数を少なくできることです。 グループマクロを適切に実装すれば、以前必要だった多数の冗長なサービスを減らすことができます。また新機能として、ホストグループ、さらには単独のホストに対して、グループを用いたPre Flight Test(プリフライトテスト)の実行が可能になりました。(注: グループに親が含まれていない場合、テストはフェイルします。) また、ホストやサービスに連絡先グループを割り当てる方法としてグループを使うこともできます。
Configuration(コンフィグレーション)のメニューオプションから Groups(グループ)を選択します。
New(新規)を選択します。
New Group(新規グループ)画面が表示されます。
グループの Name(名前)を入力します。 グループにホストを割り当てると、<グループ名>_hosts.cfg という名前のファイルに書き込まれ、そのサービスは <グループ名>_services.cfg. というファイルに書き込まれます。 したがって、グループ名はファイルの命名規則に従わねばなりません。
Add(追加)を選択して、次の Manage Group(グループ管理)画面に進みます。
Detail(詳細 )タブの各項目に入力します。
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に移されます。ただし、設定は保持されます。 ホストを復帰させるには、非アクティブ設定のグループからホストを削除するか、ホストが含まれるグループの非アクティブ設定を解除します。 |
複数インスタンス -
|
複数インスタンス ? グループによって Nagios の複数インスタンスを一元的に管理する方法が得られます。 各インスタンスがグループとなり、グループは一連の子サブグループの親になることができます。 各グループに対して、画面左側のナビゲーションツリーには、それぞれの NagiosCGI 設定、Nagios のメイン設定、Nagios リソースマクロ群へのリンクがあります。 現状では、GroundWorkは設置方法を公式には承認していません。 Build Instance(インスタンスの構築)オプションでは、指定した書き込み可能なフォルダに、インスタンスに対応する適切なファイル群を生成しから、設置モジュールであるMonarchDeploy.pmを呼び出します。 単にこれらのファイルをエクスポートするオプションもあります。 ツリーメニュー
|
Nagios etc Folder |
設定ファイルを保持するNagiosのターゲットホスト上のフォルダです。 nagios.cfg ファイルは、このパスを使って構築されます。 ターゲットホスト上のNagios設定フォルダのパスを入力してください。この値は、nagios.cfg ファイルの生成にしか用いられませんが、Nagiosのオブジェクト設定ファイルを保存するターゲットホスト上の実際の場所を反映していなければなりません。 |
Force Hosts |
このインスタンスに強制的にホストのリストを含めるためのオプションです。 このオプションを選択すると、共通のメンバが属するグループのマクロ適用は保ったまま、サブグループホストのリストをオーバライドします。 |
Force Checks |
ホスト、サービス、およびこれらのテンプレートに設定された値をオーバライドします。通常、複数インスタンスのNagiso実装では、親である監視ホストはパッシブチェックを、子である監視ホストはアクティブチェックを実行します。 ホストの現在の設定方法に応じて、Force Checks(チェックの強制適用) を有効にして、該当するアクティブ/パッシブオプションを選択します。 |
ホストおよびサービスはグループ名に基づいてNagios 設定ファイルに書き込まれます。 デフォルトでは、ホストはすべて hosts.cfg に、サービスはすべて services.cfg に書き込まれます。 前述のとおり、グループに割り当てたホストは <グループ名>_hosts.cfg という名前のファイルに書き込まれ、そのサービスは <グループ名>_services.cfg というファイルに書き込まれます。 したがって、グループ名はファイルの命名規則に従わねばなりません。
グループを用いてホストとサービスをさまざまな Nagios 設定ファイルに配信する場合は、ホストのメンバが重複しないホストグループを使用することを推奨します。あるいは各グループに個別にホストを追加することも可能です。 後者の欠点は、新たにホストを追加するごとに手動でグループに割り当てなければならない点です。これに対して、ホストグループによるホスト割り当てでは自動的にホストがグループに追加されます(例えば、ホストをホストグループに割り当てたとき)。 1つまたは複数のホストグループに重複しているホストは、最後に読み込まれたグループのファイルに割り当てられます。 グループは辞書の並び順で読み込まれます。
Hosts(ホスト)タブより、ホスト個別またはホストグループごとにホスト割り当てのチェックボックスを選択します。 ホストグループを割り当てる方法を推奨します。これは、ホストをホストグループに追加すれば、グループにもそのホストが自動的に含まれるようになるためです。
サブグループは特定の状況、特にNagiosの複数インスタンスを構築する場合にのみ役立つ機能です。 サブグループを使用する場合は、ホストおよびサービスはこれらが含まれる子グループのうち、辞書順で最後のファイルに割り当てられることに留意してください。 これとは逆に、マクロが重複している場合、その値は辞書順で最初の親グループから取り込まれます。 言い換えれば、一度一致した値が見つかりマクロが置換されると、その後にグループが処理されるときにマクロとしては認識されないということです。
Sub Groups(サブグループ)タブの下部にある既存グループのリストからグループを選択後、Add Group(s)(グループの追加)をクリックしてグループを割り当てます。 グループの割り当てを解除するには、上部のリストから選択して Remove(削除)をクリックします。
以下のステップと図は、複数のプロキシ(この例ではWMIプロキシ)を介して実行されるサービスチェックの例を使って手順を示したものです。
グループマクロはサービスチェック上のNagios $ARG#$ マクロを展開します。 以下の2つの画面は、コマンド構文内のマクロ %PROXY% 定義をサービスチェック全体にわたって展開する方法を示したものです。
プロキシの引数の変わりにマクロを用いてサービスを作成して、このサービスを複数のホストに適用した場合、マクロの値はホストが割り当てられたグループから継承されます。通常、サービス・チェックのコマンド引数には実際の値を割り当てます。 グループ・マクロを使用すると、これらの値をグループ・レベルで設定および管理できるようになります。
ここでは、先に作成したコマンドラインをグループ・マクロ %PROXY% に置き換えます。
この例ではホストグループとしてWindows HostGroup1とWindows HostGroup2を作成し、それぞれにWindows1とWindows2というホストを割り当てることにします。
Manage Host(ホスト管理) 画面の Service(サービス)タブでは、現在のホストのサービスを追加、変更、削除できます。
注意: このページからサービスを管理すると、ほとんどの場合ホストがサービス・プロファイルから切り離され同期されなくなります。 変更を加えた場合は、このホストへのプロファイルの適用を注意深く行ってください。 今回のプロキシの例では、サービス wmi_exchange_mailbox_sendq をホスト Windows1 を Windows2 に追加します。
このステップでは、グループ・マクロ %PROXY% を作成します。 マクロの Name(名前)、Description(説明)、Value(値)を入力後、Add New Macro(新規マクロ追加)を選択します。
注意: マクロ名に関しては、十分に注意する必要があります。 例えば、Nagios マクロのリストにある名前はいずれも使用してはなりません。一意であり、少なくともチェックコマンド文字列の他の部分に一致しない名前を使用します。 例えば%などの特殊文字を前後に付加する命名規則は一意性を確保できる可能性が高いため、プロキシ・マクロを%PROXY%と命名するのは推奨される方法です。 $はNagios がマクロ内で使用する特殊文字なので使用は避けるべきです。
続くステップでは、新規グループ(Windows_WMI_Proxy1とWindows_WMI_Proxy2)を作成し、これらグループにそれぞれホストグループ(Windows1_HostGroupとWindows2_HostGroup)を割り当てます。さらにグループごとに%PROXY%マクロを設定します。
Configuration(コンフィグレーション)のメニューオプションから Groups(グループ)を選択します。
New(新規)を選択します。
New Monrch Group(新規グループ) 画面が表示されます。
グループ名 Windows_WMI_Proxy1を入力します。
Add(追加)を選択して、次の グループの管理画面に進みます。
Hosts(ホスト)タブを選択します。
画面下部のホストグループのリストから Windows1_HostGroup を選択します。
Add HostGroup(s)(ホストグループ追加)を選択すると、ホストグループが画面上部に表示されます。
次の「マクロの設定」に進みます。
画面下部のリストから%PROXY%マクロを選択後、Add Macro(s)(マクロの追加)をクリックして、Window_WMI_Proxy1 Groupに割り当てます。
必要に応じて値を調整後、Save(保存)を選択してグループに適用します。 ここでは、値172.28.113.201をそのまま使用します。
ラベル・オプションを使用する場合は Enable label(ラベル付け実行) を選択して値を入力する必要があります。その後、Save(保存) をクリックしてグループに適用します。この値は、マクロを含むサービスのサービス記述に追加されるため、最初の文字はアンダスコアにすることを推奨します。
注意: Enable label(ラベル付け実行) オプションは、チェックに冗長性を持たせる必要がある場合に有効です。プロキシの例を用いて説明すると、フェイルオーバの手段として別のプロキシによってチェックを実行すると効果的な場合があります。 Enabel label(ラベル付け実行) オプションを使用すると、サービスをもう1つ作成する必要がなくなります。ホストを2つのグループに割り当て、両グループに %PROXY% マクロを設定しますが、その値はグループごとに変えます。ラベル・オプションを有効にして値を割り当てると、%PROXY% マクロを含むサービスに対するチェックがもう1セット生成されます。 ラベルは第2のチェックのサービス記述に追加されるため、ラベルの値をアンダスコアからはじめることを推奨します。
次のステップ「新規グループの作成(グループ2: Windows_WMI_Proxy2)」からは、第2のグループに対して上記の3つのステップを繰り返します。
グループ Windows_WMI_Proxy2 を作成します。
ホストグループ Windows1_HostGroup をグループ Windows_WMI_Proxy2 に割り当てます。
%PROXY% マクロをWindow_WMI_Proxy2グループに割り当てます。
必要に応じて値を調整後、Save(保存)を選択してグループに適用します。 今回は値を172.28.113.202に変更します。
マクロの値は、Pre Flight Test、コミット、エクスポートを実行するときに置き換えられます。これらの実行時に Nagiosは上記の手順で生成されたファイルを読み込みます。 グループマクロには実質的に制約はありませんが、Nagios マクロとは異なり、使用できるのはサービスチェックに対してのみであり、コマンド定義には使えません。