ポリシーを使ったモニタリング
ポリシー
概要
ポリシーシステムは、大規模な監視環境の管理を容易にすることを目的としています。 これは、リモート設定機能 エージェント設定 を使用して設定ファイルを変更することにより、モジュール、アラート、外部アラート、プラグイン、リモートインベントリおよびコレクションを一元化された方法でエージェントに伝播できます。ビデオチュートリアル «Pandora FMS policies. Centralized monitoring. Workshop.» もご覧ください。
ポリシーに加えた変更を適用するには、対応する画面で ポリシーの適用(apply the policy) (キューへの挿入) を行います。
ポリシー管理は、次のように Pandora FMS Web コンソールの左側のメニューの 設定(configuration) > ポリシー管理(Manage Policies) をクリックします。
クイックガイド “テンプレート、ポリシー、一括操作の違い” でも詳細を確認できます。
ポリシー管理
ポリシーの検索
メタコンソールとノードの両方の検索ヘッダから、Pandora FMS のポリシーを検索できます。 例:
メタコンソールでの検索では、2つのタイプの結果を返します。
- 一元化検索(Centralized search): 表示されるポリシーは、メタコンソール自体のポリシーです。 表には、データがメタコンソール自体から取得されていることを示すダッシュが入力された サーバ フィールドが表示されます。
- 非一元化検索(Non-centralized search): 表示されるポリシーは、各ノードから直接取得されたポリシーです。 表には、各ノードの名前が入力されたサーバの名前が表示されます。
ポリシーの追加
システム管理メニューの ポリシー管理(Manage policies) をクリックすると、定義されている全ポリシーが表示されます。
新たにポリシーを作成するには、“作成(Create)” ボタンをクリックします。以下に新たなポリシーの作成画面を示します。ここでは、名前、所属するグループおよびオプションで説明を入力します。
ポリシーの複製
ポリシーの削除
ポリシーを削除するには、関連づけられたものが無い状態である必要があります。
ポリシーにエージェントがある場合、削除ボタンは無効になり、全エージェントの削除ボタンが表示されます。このボタンを押すとエージェントが削除され、ポリシーの削除ボタンが有効になります。
ポリシーの設定
ポリシーを設定するには、システム管理メニューの ポリシー管理(Manage policies) でポリシー名をクリックするか、設定変更したいポリシーの上にマウスカーソルをもっていきリンクをクリックします。
ポリシーの設定では、次のウインドウがあります。
- エージェント(Agents)
- モジュール(Modules)
- インベントリモジュール(Inventory Modules)
- アラート(Alerts)
- 外部アラート(External alerts)
- コレクション(Collections)
- リンク(Linking)
- キュー(Queue)
- エージェントプラグイン(Agent plugins)
- エージェントウィザード(Agent wizards)
実行可能な異なるアクションはポリシーが適用されるまで適用されません。たとえば、エージェントをポリシーに追加する場合は、複数のモジュールおよびアラートを作成することができますが、適用するまでは反映されません。
同様に、一つのポリシーを適用し、かつ要素を編集や削除した場合は、次の実行まで変更は反映されません。
すべての変更は、“キュー(Queue)” ウインドウに表示されます。また、そこでプロセスキューにポリシーを投入できます。また、そこで適用されるのを待ちます。
ポリシーキュー管理
ポリシー操作キューには、最後に適用してから変更があった要素のまとめがあります。
この一覧には、更新する必要のある要素と、削除がペンディング状態の要素があります。
- 更新がペンディング
- エージェント
- グループ
- リンクがペンディングになっているモジュール
- リンク解除がペンディングになっているモジュール
- 削除がペンディング
- エージェント
- グループ
- モジュール
- インベントリモジュール
- アラート
- 外部アラート
- プラグイン
このサマリは、ポリシーを適用すべきかどうかを示しています。時々、エージェントの隣のアイコンで、適用がペンディングになっているものを適用するボタンがあります。
ペンディングとなっている変更(例ではアラートの変更)は、データベースにのみ記録されます。このボタンはこのレベルにおいてのみの変更です。そのため適用は早いです。
しかし、設定ファイルに適用する変更を行う(例えばコレクションやローカルモジュールの編集)と、処理が完了します。
サマリでは、修正がペンディング状態であるかに関わらず、すべてを適用するボタンがあります。
適用を選択した場合、処理キューにポリシーエージェントを追加します。Pandora FMS サーバは、キューに入っているペンディングポリシーの適用を行います。画面を再読み込みすると、処理の進行状況を確認することができ、処理が完了したか、いつ完了したかがわかります。
エージェントとグループ
この画面では、エージェントやグループでフィルタリングして、ポリシーにエージェントを追加したり削除したりします。
エージェント
一番上で、異なるエージェントやグループをコントロールやシフトキーを使って選択することができます。
下には、ポリシーに関連付けられたすべてのエージェント一覧が表示されます。また、ポリシーからの削除待ちのエージェントも表示されます。
エージェント一覧は、グループ、文字列、状態でフィルタできます。 次の要素が表示されます。
- エージェント名
- リモート設定
- ポリシーにおけるエージェントの状態
- エージェントで未リンク状態のモジュール数
- エージェントを適用するキューに入れるためのボタン
- エージェントがポリシーグループから適用されたかどうかを知るためのアイコングループ
- 最終処理の日時
- 削除/削除取消ボタン
エージェントが削除されると、その名前は取り消し線で表示され、削除ボタンは元に戻すボタンになります。エージェントは再びポリシーにリンクされます。
もちろん、ポリシーが キュー ページで適用されると、ポリシーエージェントの追加または削除が有効化されます。
グループ
バージョン 760 以降、このオプションで設定されたグループのいずれかに新しいエージェントが割り当てられると、それらのエージェントは自動的にポリシー設定を受け取ります。
上にはグループの再帰オプションがあります。オンにすると、すべての子グループもポリシーに追加されます。 目的のグループは、Ctrl
キーまたは Shift
キーを使用して選択できます。
下には、ポリシーに関連付けられたすべてのグループ一覧が表示されます。また、ポリシーからの削除待ちのエージェントも表示されます。
グループ一覧は以下の情報を表示します。
名前(Name)
グループ名
S.
ポリシーグループ状態
A.
適用するためにそのグループをキューに追加するためのボタン
T.
グループエージェントの総数に対する、そのポリシーが適用されているそのグループに属するエージェントの数
最終適用(Last application)
ポリシーが最後に適用されたタイムスタンプ
D.
削除/取り消しボタン
グループが削除されると、その名前は取り消し線で表示され、削除ボタンはそれを取り消してグループをポリシーに再度リンクするボタンに置き換えられます。 そのグループに属するエージェントも消されて表示されます。
もちろん、削除するポリシーグループの追加は、これが適用されるまで有効になりません。
モジュール
モジュールメニューでは、ポリシーに追加するモジュールの設定ができます。
モジュールを追加するには、メニューからモジュールの種類を選択します。6つのモジュール (データサーバ、ネットワーク、プラグイン、WMI、予測および、ウェブ) から 1つを選択し、作成(Create) ボタンをクリックします。
これは、エージェント内でモジュールを作成するのと同じ手順です。
データサーバモジュールの作成
データサーバモジュールは、ソフトウエアエージェントへ追加するモジュールです。このモジュールが動作するようにするためには、エージェントでリモート設定が有効になっている必要があります。
データサーバモジュールを作成するには、“データサーバモジュールの新規作成(Create a new data server module)” を選択し、作成(Create) ボタンをクリックします。
すると、モジュールの全フィールドを設定できる新たな画面が表示されます。
拡張オプション(Advanced Options) をクリックし、拡張オプションにアクセスします。
これらの機能の説明は、**テンプレートとコンポーネント** を参照してください。 フィールドを入力するか、ローカルであらかじめ定義したものを使うか、2つのオプションがあります。ローカルコンポーネント を参照してください。
ネットワークサーバモジュールの作成
ネットワークサーバモジュールを作成するには、'ネットワークサーバモジュールの新規作成(Create a new Network Server Module)' を選択し、“作成(Create)” をクリックします。
すると、モジュールの全フィールドを設定できる新たな画面が表示されます。
拡張オプション(Advanced Options) をクリックし、拡張オプションにアクセスします。
この画面のフィールドの説明は、テンプレートとコンポーネントの章に記載しています。
フィールドの入力を完了したら、“作成(Create)” をクリックします。
ほとんどの場合モジュールは繰り返し使われるため、毎回フィールドを入力して追加するより、事前にコンポーネントを定義してそれを使う方が良いです。
コンポーネントを使うには、“モジュールコンポーネント(Using module component)” からコンポーネントグループを選択します。
グループを選択すると、利用したいコンポーネントを選択できるようになります。
この例では、Cisco Mibs グループの “Catalyst CPU Usage” というコンポーネントを選択しています。
コンポーネントを選択すると、それを編集することができます。フィールドの入力が完了したら、“作成(Create)” をクリックします。
プラグインサーバモジュールの作成
プラグインサーバモジュールは、プラグインサーバで管理されるモジュールです。
プラグインサーバモジュールを作成するには、“プラグインサーバモジュールの新規作成(Create a new Plugin Server Module)” を選択して、“作成(Create)” をクリックします。
モジュールの全フィールドを設定できる新たな画面が表示されます。
拡張オプション(Advanced Options) をクリックし、拡張オプションにアクセスします。
フィールドに入力するか、事前に定義したローカルコンポーネントを選択します。フィールドの詳細に関しては、テンプレートとコンポーネントを参照してください。
フィールドの入力を完了したら、“作成(Create)” をクリックします。
ほとんどの場合モジュールは繰り返し使われるため、毎回フィールドを入力して追加するより、事前にコンポーネントを定義してそれを使う方が良いです。コンポーネントの利用については、ネットワークモジュールの作成で説明しています。
エージェントの IP アドレスなど、動的パラメータを設定するにはマクロを利用します。存在するマクロの一覧を見るには、Plugin(?) でヘルプボタンをクリックします。
WMI サーバモジュールの作成
WMI サーバモジュールを作成するには、“WMI サーバモジュールを新規作成する(Create a new WMI Server Module)” をクリックし、“作成(Create)” をクリックします。
全てのモジュールフィールドを定義します。
“高度なオプション(Advanced Options)” をクリックすることにより、高度なオプションへアクセスできます。
フィールドについては、**テンプレートとコンポーネント** の説明を確認してください。
正しく全フィールドに記入したら、“作成(create)” をクリックします。
モジュールはほとんどの場合繰り返し利用されることに注意してください。 モジュールを追加するたびに常にフィールドに入力する代わりに、オプションとしてモジュールをコンポーネントとして事前に定義し、それを使用するのが良いです。 コンポーネントの使用については、「ネットワークモジュールの作成」というセクションでさらに説明します。 詳細については、WMI を介した Windows リモート監視 を参照してください。
ウェブサーバモジュールの作成
ウェブサーバモジュールを作成するには、“ウェブサーバモジュールの新規作成(Create a new Web Server module)” を選択し、作成(Create) をクリックします。
モジュールの全フィールドを設定します。
“高度なオプション(Advanced Options)” をクリックして、高度なオプションへアクセスします。
フィールドの説明については、**テンプレートとコンポーネント** を参照してください。
全てのフィールドを正しく入力したら、“作成(Create)” をクリックします。
ウェブモジュールの場合、コンポーネントはありません。
ウェブモジュールについてのより詳細は、ウェブモニタリング を参照してください。
作成済モジュールの編集
ポリシーに割り当てられたモジュールは編集することができます。
モジュール名をクリックすると、モジュール設定オプションが表示されます。
修正したら、更新(Update) ボタンをクリックします。
ポリシーモジュールの名前を変更すると、ポリシーが適用されたときの他のフィールドの名前が変更されます。
ポリシーモジュールの名前を変更し、エージェント内に新しい名前のモジュールが存在すると、そのモジュールに適用され、古い名前のモジュールは削除されます。
作成済モジュールの削除
ポリシーからモジュールを削除し、エージェントからも削除するには、モジュール名の左側のごみ箱をクリックします。実行するとモジュールの表示は残っていますが、打消し線が引かれ、削除ボタンが取消に置き換わります。
複数のモジュールを削除したい場合は、ごみ箱アイコンの右側のチェックボックスを選択して、“削除(Delete)” をクリックします。
インベントリモジュール
システムに存在するインベントリ、間隔、および権限を選択することで、ポリシーにインベントリモジュールを作成することもできます。
他のポリシーの要素と同じように、インベントリモジュールを削除すると、削除ボタンの代わりに取り消し線と 取り消しアイコンが表示されます。
リモートインベントリモジュールの追加に関しての詳細は、インベントリモジュール を参照してください。
アラート
アラートの追加
アラートの編集
アラートの追加はとても簡単で、若干の設定があるだけであるため、アラートの編集機能はありません。アラートを編集するには、削除してから新たに作成してください。
アラートの削除
ポリシーからアラートを削除し、設定されたエージェントから削除するには、アラートの行の X をクリックします。これを実行するとアラートは一覧には残りますが、名前が取り消し表示となり、削除ボタンが取り消しボタンに変わります。
外部アラート
外部アラートは、アラートに似ていますが、アラートをポリシーモジュールのメインリストには無いエージェントモジュールにリンクできる点が異なります。これは、すべてのモジュールではなく、いくつかのエージェントモジュールにアラートを割り当てる場合にとても便利です。
外部アラートの追加
新たな外部アラートを作成するには、以下のフィールドを入力する必要があります。最初のフィールドでは、ポリシー内に無いエージェントモジュールのみが表示されています。そして、2番目のフィールドでは、アラートテンプレートを選択します。この機能は、メタコンソールとノードの両方にあります。
外部アラートの編集
外部アラートの追加はとても簡単で、ごくわずかな設定のみであるため、外部アラートの編集機能はありません。外部アラートを編集したい場合は、一度削除してから新たに作成します。
外部アラートの削除
エージェントプラグイン
ポリシープラグインを追加するためのプロセスは、エージェントのそれと同じです。ソフトウエアエージェントでのプラグインの利用 を参照してください。
エージェントプラグインがポリシーによって適用されるには、プラグインがエージェントによって指定されたパスに存在している必要があります。
プラグインの開発に関する詳細は、エージェントプラグイン開発 を参照してください。
モジュールの状態
ポリシーが適用されることによってモジュールが作成されると、そのモジュールはポリシーアイコンで参照されます。 これらのポリシーモジュールにはいくつかの状態があります。
- リンク済(Linked)
- リンク解除(Unlinked)
- 適用済(Adopted)
- リンク・適用済(Linked adopted)
リンク済モジュール
これらは、ポリシーで作成されるモジュールです、適用されるとエージェント内にも作成されます。これらは、ポリシーで作成される通常のモジュールです。
このボタンをクリックして、モジュール設定ページからモジュールをリンクおよびリンク解除できます。
リンク解除モジュール
リンクされていないモジュールは、ポリシーに属しているが、ポリシーの変更の影響を受けないモジュールです。 特定のポリシーに属するモジュールに対して 個別の例外 を作ることができるため便利です。これにより、ポリシーから特定のエージェントモジュールを “カスタマイズ” することができます。
ポリシーの変更は、モジュールが再びリンクされたときにのみ適用されます。
適用済モジュール
このモジュールは、エージェント内の既存のモジュールと同じ名前でポリシー内に作成されたものです。 ポリシーを適用する場合、Pandora FMS は新しいモジュールを作成する代わりに既存のモジュールのデータを使用し、エージェントから管理され続けます。
このタイプのモジュールは、ポリシーで行われた変更の影響を受けません。
ポリシーを削除しても、適用済モジュールはエージェントから削除されず、ローカル定義を再度使用します。
リンク・適用済モジュール
適用済モジュールをリンクして、ローカルの代わりにポリシーで設定された定義を使用できます。これにより、ポリシーからモジュールを管理するときに、何らかの変更があるとモジュールも変更されます。
ポリシーを削除すると、リンク・適用済モジュールは、ローカルの定義利用に戻ります。
ポリシーからエージェントを削除すると、リンク済モジュールは削除され、リンク・適用済モジュールのみが保持されます(ポリシーの前のローカル定義とともに)。
ファイルコレクション
これらは通常、スクリプトまたはプラグインを一括展開するために使用され、ポリシーエージェントによって実行されます。
まず最初に、エージェント参照で手動でエージェントごとにファイルコレクションを使う方法と、同じことをポリシーを使って行う方法を見てみます。
最初にファイルコレクションを作成します。そのためには、次の画面ショットのように、エージェント管理の “コレクション(Collections)” サブオプションをクリックすることにより、新しいコレクションを作成します。
ファイルコレクションを作成したら、コレクションにファイルをアップロードします。バイナリ、スクリプト、データファイルなどを扱えます。全てのファイルを同じベースディレクトリに置きます。それぞれのコレクションは、それぞれのベースディレクトリがあります。これはとても重要です。コンソールの /pandora_console/attachment/collection ディレクトリに fc_XXX という名前で置かれます。XXX は、コレクションの ID を数字で表したものです。ファイルコレクションは、サブディレクトリを含めることができます。ファイルコレクションは、tentacle を使って ZIP ファイルでエージェントに送られます。ファイルコレクションは、Tentacle 転送モードでのみサポートされています。
2つのファイルをアップロードした、コレクション (fc_3) がどのように作成されるかを以下に示します。
この場合、メインのコレクション画面に戻ると、問題があることを示す三角形のアイコンが両方のコレクションに表示されます。これは、コレクションの同期がとれていないために発生します。同じ三角形のアイコンをクリックすることにより、同期させる必要があります。
ファイルコレクションの同期を実行すると、次の画面に示すような青い矢印アイコンが表示されます。
コレクションの同期が完了したら、この時点でポリシーを使わずにエージェントに適用します。エージェントの管理で、コレクションタブ (ディスクアイコン) を行く操作を繰り返します。定義されているコレクションが表示されるので、一つを選択してエージェントに適用します。以下の画面は、上記 (Windows utilities) を適用する例です。
以上で適用されました。エージェントが次回サーバに接続する時に、ファイルと .conf ファイルの若干の修正を受け取ります。この例の場合、修正内容は次の通りです。
file_collection fc_3
ファイルコレクションとポリシー
これは、エージェント個々にコレクションを適用するのととても似た動作をします。しかし、特定のエージェントに適用するかわりに、次の画面のようにポリシーに適用します。
コレクションに含まれるファイルを使うモジュールを利用したい場合、それは簡単で、決まった id を使って、コレクションを含むディレクトリを参照するだけです。以下にプラグインモジュールの利用例を示します。
ポリシーがプラグインでどのように動作するかの詳細は、この章の該当のセクションを参照してください。
コレクションの中央管理
Pandora FMS OUM729 以降では、メタコンソールからコレクションを中央管理できます。
より詳細は、こちらを参照してください。
エージェントにおけるファイルコレクションの場所
それぞれのファイルコレクションは、'短い名前' を持っています。この例では、“fc_1383033439” で、ユーティリティ、スクリプトや、実行ファイルなどを含んだコレクションが、“%ProgramFiles%\pandora_agent\collections\fc_1383033439” に置かれることを意味しています。コレクションは圧縮された形式でエージェントに送信されるため、このファイルコレクションには、ファイルを解凍するための解凍ツールが含まれている必要があることに注意してください。 エージェントバージョン3.2以降、この機能は “%ProgramFiles%\pandora_agent\utils” の下にインストールされます。
この情報は、これらのファイルを使用して機能するモジュールを使用する際に、“実際の” パスを指定するのに重要です。
以下は別の例です。
コレクションの名前が “fc_18” であれば、置かれる場所は %ProgramFiles%\pandora_agent\collections\fc_18 になります。
各ファイルコレクションは、ファイルコレクションが互いに上書きしたり、ファイルコレクション間で競合が発生したりするのを防ぐために、異なる場所に保存されます。
コレクション制御システムは、エージェント構成ファイル管理と同様に、md5ハッシュに基づいています。 Pandora FMS コンソールでコレクションを作成すると、md5ハッシュが作成され、後でエージェントに送信されます。 この md5 は、Pandora FMS コンソールでコレクションに変更が加えられ、エージェントに変更が加えられていない場合にのみ更新されます。 したがって、コンソールでコレクションの変更がない間は、ローカルコレクションはコンソール内にとどまります。コンソールでコレクションに何らかの変更を加えると md5 が再計算され、エージェントの md5 と一致しなくなると、以前の内容が上書きされ、最新のコレクションが適用されます。
これは、Windows エージェントで、“fc_1383033439” というコレクションに含まれる “df_percent.vbs” というファイルを対象とした、プラグイン利用の例です。
module_plugin cscript //B "%ProgramFiles%\pandora_agent\collections\fc_1383033439\df_percent.vbs"
ポリシー検索
メタコンソールとノードの両方からポリシー検索を実行することができます。検索ヘッダーとメインの検索結果メニューにアイコンがあります。
ポリシー結果の画面には、次のフィールドを持つ表が表示されます。
- 名前
- 説明
- グループ
- 状態
メタコンソールには、 2つのタイプの結果があります。
- 集中検索(Centralized search): 表示されるポリシーは、メタコンソール自体にあるポリシーです。 表には、記号が記入されたサーバフィールドがあります。これは、データがメタコンソール自体から取得されたことを示します。
- 日集中検索(Non-centralized search): 表示されるポリシーは、各ノードから直接取得されます。 表には、各ノードの名前が入ったサーバフィールドがあります。
メタコンソールからのポリシー管理
メタコンソールからポリシーを管理することができます。すべてのノードへ情報を適用する役割を持つ各サーバへ、情報を配布する処理を行います。この情報の配布は、すべてのノードがメタコンソールと同じデータを持つことが重要であるため、複雑です。
設定と集中管理モード
メタコンソールには集中管理モードがあります。つまり、ポリシーに関しては管理はメタコンソールから行われ、ノードでは実行しません。メタコンソールでは、一般設定からこのモードを選択します。
ノードから集中管理モードであるかを確認するには、ライセンス画面で同期を確認します。この場合、すべてのポリシー管理ページは参照のみの状態になります。新たなノードを追加した場合は、自動的にこのモードになります。
ノードが集中管理モードであるかを確認してください。この場合、ポリシー画面に警告メッセージが表示されます。
メタコンソールにおけるポリシーキュー
メタコンソールにおけるポリシーキューは、ノードとは異なります。ノードでは、状態表示画面で適用が完了していないポリシーおよび適用済ポリシーの履歴を見ることができましたが、メタコンソールでは後者が削除されました。適用されていない、または進行中のポリシーだけが、それが属するノードと共に表示されます。
ただし、履歴を確認したい場合はノードで見ることができます。リードオンリーになっている中で、唯一これだけがノードで管理できる部分です。
データの整合性
ノードとメタコンソールでポリシーのデータは同じでなければいけません。モジュール、アラート、インベントリモジュール、コレクションなどが関連します。メタコンソールからポリシーを適用したときに、これらのすべてのデータはノードにコピーされます。
これは、非常に多様で非常に機密性の高い情報です。データのコピー時にエラーが発生するかもしれません。その場合は、コンソールにエラーが表示され、ノードは前のデータに戻されます。クリーンインストールでは問題は発生しませんが、ノードで手動で作成した以前のポリシー構成を削除し、メタコンソールに渡して後でそれらを同期させることをお勧めします。