From 09127c7f8ae7c81dc3acc0fdd1ecdfacd7508c0e Mon Sep 17 00:00:00 2001 From: jsatoh Date: Thu, 20 Jun 2013 06:58:51 +0000 Subject: [PATCH] 2013-06-20 Junichi Satoh * include/help/ja/help_alerts_config.php: Added a new help. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8355 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 4 + .../include/help/ja/help_alerts_config.php | 199 ++++++++++++++++++ 2 files changed, 203 insertions(+) create mode 100644 pandora_console/include/help/ja/help_alerts_config.php diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index c755f09827..3886d55959 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,7 @@ +2013-06-20 Junichi Satoh + + * include/help/ja/help_alerts_config.php: Added a new help. + 2013-06-19 Mario Pulido *godmode/alerts/alert_list.php, diff --git a/pandora_console/include/help/ja/help_alerts_config.php b/pandora_console/include/help/ja/help_alerts_config.php new file mode 100644 index 0000000000..93e008ff6e --- /dev/null +++ b/pandora_console/include/help/ja/help_alerts_config.php @@ -0,0 +1,199 @@ + +

Pandora FMS アラート設定クイックガイド

+
+ +アラートシステムの概要

+ +Pandora FMS のアラート定義は複雑だと良く言われます。バージョン 2.0 以前は、アラートの設定は簡単でした。個々のアラートで状態を定義し、それぞれの場合においてアクションが実施されなかった時に何をするかを定義していました。これは "直感的" です (しかし、それぞれが閾値の設定を持っており、多くの人の頭痛の種になっていました)。シンプルではありますが、良くは無いのではないでしょうか。

+ +一人のユーザ (たくさんのエージェントをインストールし、Pandora FMS を良く利用していました) が、2000 のモジュール全てに対して、アラートを 設定 しなくてはいけないという点でとても大変であるということを言及しました。この点とその他問題のために、我々はアラートシステムをモジュール化し、アラートが発生したときに実行するアクション (アラートアクション) および、アクションによって実行されるコマンド (アラートコマンド) から、アラートを発生させる定義 (アラートテンプレート) を分割するよう改変を行いました。モジュールとアラートテンプレートの組み合わせにより、アラートが発生します。

+ +この方法で、"Host alive" というモジュールを持ち、"Host down" というアラートテンプレートが関連付けられた 1000 のシステムがあったとします。このとき、"Call to the operator" というアラートがデフォルトで実行されます。そして、オペレータへ通知する前に何回のアラート検知までを許容するか(何回目まではオペレータへ通知しないか)を変更したいと考えたとき、テンプレートの定義を変更するだけで実現できます。1000個のアラート設定を一つ一つ設定変更する必要はありません。

+ +Pandora FMS で、何人かのユーザは、数十のマシンのみを管理していますが、数百を管理しているユーザもいます。また、数千ものシステムをモニタしているユーザもいます。我々は、Pandora FMS で、すべての種類の環境の管理を可能にしなければいけません。



+アラートの仕組み

+ + '550px')); ?> + +アラートは次の組み合わせです。

+ + コマンド
+ アクション
+ テンプレート

+ +コマンドは、アラートが発生したときに実行する操作を定義します。コマンドの例としては、ログへの書き込み、email または SMS の送信、スクリプトの実行などです。

+ +アクションは、テンプレートと共にコマンドに関連付けられており、フィールド1、フィールド2、フィールド3の 3つのパラメータを使ってコマンドを実行するようにカスタマイズできます。これらのパラメータは、コマンド実行時の引数として渡すことができるため、コマンドの実行をカスタマイズできます。

+ +テンプレートでは、アラートの発生条件、アクション、復旧通知といった一般的なパラメータを定義します。

+ + 発生条件: アラートが発生する条件で、例えば、データが閾値を越えた場合や、状態が障害になった場合などです。
+ 実行アクション: アラートが発生した時に、実行するアクションの設定です。
+ 復旧通知: アラート発生後にシステムが復旧したときに実行するアクションの設定です。

+ +アラートシステムの情報の流れ

+ +アクションとテンプレートを定義するとき、フィールド1、フィールド2、フィールド3というフィールドがあります。これらはコマンド実行時にパラメータとして渡されます。このパラメータの値は、テンプレートからアクションへ、そしてコマンドへ引き渡されます。テンプレートからアクションへの引き渡しは、アクションでフィールドが定義されていない場合のみ実行されます。アクションで定義されている場合はそれが使われます。

+ + '550px')); ?> + +これは、テンプレートの値がどのようにアクションの値で上書きされるかの例です。

+ + '550px')); ?> + +例として、次のフィールド設定で、アラート発生時にメールを送信するテンプレートを作成します。

+ + テンプレート:
+ フィールド1: myemail@domain.com
+ フィールド2: [Alert] The alert was fired
+ フィールド3: The alert was fired!!! SOS!!!

+ + アクション:
+ フィールド1: myboss@domain.com
+ フィールド2:
+ フィールド3:

+ +コマンドに渡される値は次のようになります。

+ + コマンド:
+ フィールド1: myboss@domain.com
+ フィールド2: [Alert] The alert was fired
+ フィールド3: The alert was fired!!! SOS!!!

+ +アラートの作成

+ +ここで、上記のような例を仮定すると、まずは数値データのモジュールを一つモニタします。以下の例では、system CPU 使用率をモニタするモジュールをとりあげます。温度を返す温度センサーなどでも良いです。まず最初に、モジュールがデータを正しく受け取っているかを見てみましょう。

+ + '550px')); ?> + +このスクリーンショットでは、sys_cpu というモジュールがあり、現在の値が 7 であるということが解ります。この例では、この値が 20以上になったらアラートを上げたいと考えます。そのためには、20以上の値になったら、障害状態になるようにモジュールを設定します。設定するには、スパナアイコンをクリックします。

+ + '550px')); ?> + +以下の画面の赤で囲っている部分の値を設定します。

+

+ + '550px')); ?> + +設定を反映させます。これで、CPU モジュールの値が 20以上になるとステータスが障害状態になり、次のように赤い表示になります。

+ + + '550px')); ?> + +以上で、どのような時が正常 (正常で緑表示) で、どのような時が異常 (障害で赤表示) かをシステムが認識するようになりました。次のすべきは、モジュールが障害状態になったときにメール通知する設定です。そのためには、Pandora FMS アラートシステムを利用します。

+ +この設定をするには、まずは、必要なコマンド (メールを送る) が一つあるということを認識する必要があります。この例では、Pandora FMS にあらかじめ定義されているメール送信コマンドを利用するので簡単です。

+ +アラートの設定

+ +まずは、"Send an email to the operator" というアクションを作成しないといけません。新たなアクションを作成するには、システム管理メニューから、アラート管理 -> アクションの順にクリックします。

+ + '550px')); ?> + +このアクションでは、eMail というメールを送信するコマンドを使います。これはとても簡単で、一つのフィールド (フィールド 1) だけ設定すれば良く、他の 2つの設定は不要です。フィールド1、2、3 は何かというのは、Pandora FMS のアラートシステムの中で最もわかりにくい部分の一つです。

+ +これらのフィールドは、アラートテンプレートの情報をコマンド設定へ "渡す" ために利用されます。また、そこから、実際に実行されるコマンドに渡されます。つまり、テンプレートとコマンド設定の両方から、異なる情報を実行されるコマンドに与えることができます。この場合、コマンドに対してフィールド 1のみを指定し、フィールド 2 と 3 は設定していません。

+ +フィールド 1 にはオペレータのメールアドレスを設定します。この例では、"sancho.lerena@notexist.com" 宛にメールを送ります。

+ +テンプレートの設定 (アラートテンプレート)

+ +次に、後から使えるように可能な限り一般的な内容で、アラートテンプレートを作成する必要があります。これは、"モジュールが障害状態であることを認識" し、デフォルトとして、オペレータにメールを送信します。システム管理メニューから、「アラート管理」->「テンプレート」をクリックして、「作成」ボタンをクリックしてください。

+ + '550px')); ?> + +"条件種別(Condition)" フィールドにて状態を定義します。この場合、"障害状態(Critical stateus)" を選択しています。これにより、モジュールが障害状態になった時にアラートが通知されます。ここで、"cpu sys" モジュールに対して、20以上の値になった場合に障害状態となるように設定しています。

+ +ここで、優先度(priority)に "障害(Critical)" を設定していますが、これはアラートの優先度になります。モジュールの "障害" 状態の設定ではありません。アラートの危険度は、イベント参照など他の画面でのちほど見ることができます。

+ +ステップ2 へ進むために、"次(next)" ボタンをクリックします。

+ + '550px')); ?> + +ステップ2 では、アラートテンプレートのアラート通知に関する全ての設定を行います。最初のいくつかはとても簡単で、アラートを発生させる日や時間を定義します。

+ +最も重要なパラメータは次の通りです。 +

+ + 再通知間隔(Time threshhold): デフォルトでは 1日です。例では 1日ですが、5分に設定すると、モジュールが常にダウン状態の場合、5分間隔でアラート通知されます。もし、1日 (24時間) に設定すると、ダウンしたときに、まず一度アラート通知します。モジュールが復旧し、再びダウンすると、再びアラート通知します。しかし、二度目のダウンからダウン状態が続いても、24時間以内であればアラートを通知しません。

+ + 最小アラート数(Min. Number of alerts): Pandora FMS がアラートテンプレートで定義したアクションを実行する状態変化 (この例では、モジュールの障害状態) の回数です。この設定により、正常状態と障害状態を繰り返す大量のアラートが発生を避けることができます。ここに 1を設定すると、モジュールの一度の障害状態は無視します。0 を設定すると、モジュールの初回の障害状態でアラート通知がされます。

+ + 最大アラート数(Max. Number of alerts): 1 は、アクションを一度だけ実行することを意味します。もし、ここに 10 を設定すると、アクションを 10回実行します。この設定により、アラートの実行回数を制限することができます。

+ +再び、"フィールド1(field1)"、"フィールド2(field2)"、"フィールド3(field3)" があります。フィールド1(field1)には何も書かれていませんが、これによりアクションを設定したときに定義したものが使われます。フィールド2(field2)およびフィールド3(field3)は、メール送信のアクションで件名と本文として使われます。ここで、フィールド1(field1)は、受信アドレス (カンマ区切りで複数書けます) の定義をすることもできます。テンプレートは、マクロを使って件名と本文を定義します。この例では、次のようなメールが送信されます。("Farscape" というエージェントのモジュールを想定)

+ +To: sancho.lerena@notexist.ocm
+Subject: [PANDORA] Farscape cpu_sys is in CRITICAL status with value 20
+Texto email:

+ +This is an automated alert generated by Pandora FMS
+Please contact your Pandora FMS for more information. *DO NOT* reply this email.

+ +下に、前もって定義したデフォルトのアクションが表示されます。このテンプレートを利用する全てのアラートは、設定を変更しなければデフォルトでこの定義済アクションを利用します。

+ +次のステップ3では、障害状態が復旧したときの通知に関する設定をみていきます。

+ + '550px')); ?> + +ほとんど一緒ですが、フィールド1(field1)がありません。なぜなら、(アラート通知時に) 実行されたアクションと同じだからです。この例では、cpu-syst モジュールが復旧したということを示す件名のメールを送るだけです。

+ +復旧アラートはオプションです。復旧アラートのデータはここのフィールド(フィールド2 および 3)で定義されるという点が重要です。アクションのフィールド設定内容は "無視され、上書き" され、ここの設定が参照されます。唯一変更できないのは、フィールド1(field1)です。

+ +アラートのコマンドへの関連付け

+ +以上で、必要な設定が完了しました。あとは、アラートテンプレートをモジュールに関連づけるだけです。そのためには、エージェントのモジュールのアラートタブへいきます。

+ + '550px')); ?> + +設定は簡単です。この画面ショットでは、 "Last_Backup_Unixtime" というモジュールに対して、事前に定義した "Module critical" というアラートが設定されています。加えて、ここでは下の画面を操作して、モジュール "cpu-sys" と、アラートテンプレート "Module critical" を関連づけようとしています。デフォルトで、このテンプレートで設定した "Sancho Lerena へメールを送信する" というアクションが表示されています。

+ +アラートのスケーリング

+ +"アクションを起こすアラートの数(Number of alerts match from)" では、アラートのスケーリングを定義します。これにより、アラート頻度を少し "再調整" することができます。例えば、最大値を 5 に設定すると、その回数だけアラートが発生します。また、1回のみ通知したい場合は、0 と 1 を設定します。そうすると、0 から 1回の間で (つまり一度だけ) メールが送信されます。

+ +一つのアラートに複数のアクションを設定することができます。それぞれに対して "アクションを起こすアラートの数(Number of alerts match from)" を定義することにより、何回通知するかを設定できます。

+ +例えば、最初の障害発生時は XXXXX にメールを送り、障害状態が継続している場合は ZZZZ にメールを送信したい場合があったとします。そのためには、アラートの関連付のあとに、割り当てられたアラートに定義済のアクションを追加することができます。以下に画面ショットを示します。

+ + '550px')); ?> + '550px')); ?> + + + +アラートのスタンバイ

+ +アラートは、有効・無効やスタンバイにすることができます。アラートの無効化とスタンバイの違いは、無効化ではアラートは動作ぜずアラートビューにも表示されませんが、スタンバイは、アラートビューへの表示だけは実行されます。アラートが発生すると、アクションおよびイベントの生成は行われません。

+ +スタンバイアラートは、アラートを受ける人に迷惑をかけることなく表示だけする場合に便利です。

+ +メール送信以外のアラートコマンドの利用

+ +メール送信は、Pandora FMS の内部コマンドであり、フィールド1、フィールド2、フィールド3 はそれぞれメール送信先、件名、本文として使うように定義されており変更することはできません。では、別のアクションを自分で定義したい時はどうすれば良いでしょうか。

+ +この場合は、新たなコマンドの定義画面へ行き、自分で定義を行います。検知したアラートそれぞれのログファイルを作成したいとします。ログファイルのフォーマットは次のようなものを想定します。

+ +DATE_ HOUR - NAME_AGENT - NAME_MODULE - VALUE - PROBLEM DESCRIPTION +

+ +ここで、VALUE は、そのときのモジュールの値です。コマンドを呼び出すアクションごとに、ログファイルができます。アクションでは、説明と、どのイベントをファイルに書くかを定義します。

+ +そのためには、次のようにコマンドの作成へ行きます。

+ + '550px')); ?> + +そして、アクションを定義します。

+ + '550px')); ?> + +作成したログを見ると次のようになっています。

+ +2010-05-25 18:17:10 - farscape - cpu_sys - 23.00 - Custom alert for LOG#1

+ +アラートは、"farscape" エージェントの "cpu_sys" モジュールで、18:17:10 に発生したこと、また、現在のデータは "23.00" であり、アクションで設定した説明が含まれていることがわかります。

+ +コマンド実行時に、フィールドやその他がどのように引き渡されて実行されたかは簡単にはわかりません。それを確認する簡単な方法は、pandora サーバの設定ファイル /etc/pandora/pandora_server.conf にて、デバッグトレースを有効にする (verbose 10) ことです。 そして、Pandora FMS サーバがどのようにコマンドを実行しているか確認するには、サーバを再起動し (/etc/init.d/pandora_server restart)、/var/log/pandora/pandora_server.log に出力されている定義されたアラートの実行ログを探します。