Pandora: Documentation ja: Alerts

From Pandora FMS Wiki
Jump to: navigation, search

Pandora FMS ドキュメント一覧に戻る

Contents

1 Pandora FMS におけるアラート設定

1.1 概要

アラートは、モジュールの値が変化したときに Pandora FMS が行う動作の定義です。このような動作は設定可能で、管理者へメールやSMS を送ったり、SNMP トラップの送信、システムログへのインシデントの記録などができます。アラートは、基本的に、モジュールを実行している Pandora FMS サーバが動作している OS 上で、アクションから起動させるスクリプトです。

アラートには、単一アラート、イベントアラート、SNMP トラップアラートといったいくつかのタイプがあります。この章では、一般的な、特に一つ目のタイプにおけるアラートシステムについて説明します。

1.2 現在のアラートシステムの概要

Pandora FMS では、アラートはいくつかの発報条件、そのアラートのために選択されたアクション、そして、設定されたアクションの実行を担当する Pandora FMS サーバにおけるいくつかのコマンド実行の定義によって動作します。

一般的なアラートシステムは、各モジュールに一つのアラートを関連付けます。アラートは、一つ以上のアクションを実行できます。

1.2.1 アラートの仕組


Esquema-alert-structure.png


アラートは次の組み合わせです。

  • コマンド: アラートが発生したときに Pandora FMS サーバが実行するコマンド定義します。コマンドの例としては、ログへの書き込み、email または SMS の送信、スクリプトの実行などです。
  • アクション: これは「どのように行われるか」を定義するものであり、コマンドの引数のカスタマイズです。モジュール名やエージェントなどの特定のパラメータをコマンドに渡して、コマンド実行をカスタマイズすることができます。
  • テンプレート: これは、「いつ実行されるのか」を指定し、アクションを引き起こす条件を定義します。 たとえば、モジュールが障害状態になった場合などです。

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

アクションとテンプレートを定義するとき、'フィールド1'、'フィールド2'、'フィールド3' といったアラートをカスタマイズするために使う一般的なフィールドがあります。

これらのフィールドは、テンプレート -> アクション -> コマンド という情報の伝達の優先順位に従って適用され、最後にはコマンドの実行パラメータとして使われます。

優先順位は次の通りです。

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

ここで、フィールド の値は、一つ前の レイヤ で指定したものを上書きします。

Alert precedence.png


テンプレートにフィールド1の設定があったときに、そのアクションのフィールド1に設定がない場合、テンプレートからフィールド1の内容が継承されます。 ただし、アクションのフィールド1にすでに独自の内容(アクションの作成中に設定したもの)が設定されている場合は、テンプレートで設定したものより優先されます。 テンプレート -> アクション -> コマンドの順に、各ステップでフィールド1、フィールド2、フィールド3の定義がない場合は、前のステップで設定した内容が継承されます。

以下の図では、テンプレートからコマンドへのパラメータの継承を示しています。


Esquema-parameters-carrying.png


以下は、どのようにテンプレートの値がアクションの値で上書きされるかの例です。


Alertas esquema6.png


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

  • テンプレート:
    • フィールド1: [email protected]
    • フィールド2: [Alert] The alert was fired
    • フィールド3: The alert was fired!!! SOS!!!
  • アクション:

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

  • コマンド:
    • フィールド1: [email protected]
    • フィールド2: [Alert] The alert was fired
    • フィールド3: The alert was fired!!! SOS!!!

フィールド2 と フィールド3 の場合、テンプレートで定義された値は保持されますが、フィールド1 の場合は、アクションで定義された値が使用されます。

1.3 アラートコマンド

異常値を検知した場合、Pandora FMS はさまざまな動作ができます。syslog への記録、メールや SMS の送信、また、Pandora FMS サーバ上でのスクリプトの実行が可能です。

Susi2.png

Pandora FMS コンソールから対応するセクションで新しいアラートコマンドを作成することができます。: アラート(Alerts)> コマンド(Commands)

1.3.1 アラートのコマンド作成

フォームは、コマンドについていくつか説明情報を求めます。

Susi3 5.png

以下に、各フィールドについて説明します。

名前 コマンドの名前です。解りやすく簡潔に書きます。例えば、「ログ出力」など。

コマンド アラートが発報したときに実行されるコマンドです。マクロを使用すると、アラートで設定されたパラメータを置き換えることができます。 使用できるマクロは、以降のマクロの章で詳しく説明します。

アラートのコマンドを作成するときは、これらのコマンドが Pandora FMS サーバによって実行されることを考慮する必要があります。アラートは、Pandora FMS サーバを実行するユーザの権限で実行されます。

コマンドを定義するときには、コマンドラインからコマンドの実行が成功し、期待した結果(電子メールの送信、ログファイルへのエントリの生成など)が得られることをテストしてください。

グループ コマンドグループです。どのアラートのコマンドが関連付けられるかを定義します。

説明 アラートのコマンドの詳細説明です。

フィールドととり得る値の説明

各フィールド:

  • 説明(Description): コマンドアクションの設定フォーム内のテキストボックスの近くのタブです。
  • とり得る値(Possible values): フィールドがとり得る値です。

フィールドを設定したら、テキストボックスの代わりに選択になりす。それぞれの値(送信される値)に対して、選択にはタグ(表示される値)が必要です。

サポートしている書式は次の通りです。

value1,tag1;value2,tag2;value3,tag3

例:

最初の 4つの数字を選択することができる簡単なフィールド:

1,Number one;2,Number two;3,Number three;4,Number four



Possible values 1.png





Possible values 2.png



Info.png

バージョン 6.0 から、コマンドフィールドの値として _html_editor_ というトークンが指定されていると、アラートアクションの作成や編集のコマンドフィールドに HTML エディタを表示することができます。

 


Susi4 5.png

設定したら、作成(Create) ボタンをクリックします。

1.3.2 アラートのコマンド編集

アラート(Alerts) -> コマンド(Commands) をクリックすることにより、新たに作成されたアラートコマンドを編集できます。


Susi2.png

アラートのコマンドを編集するには、コマンド名をクリックします。

Susi6 5.png

選択したコマンドの編集を行ったら、更新(Update) ボタンをクリックします。

eMail, Internal Audit および、Pandora FMS Event は変更できません。

1.3.3 アラートコマンドの操作

Susi7.png

削除(Delete): アラートを削除するには、アラートの右側にあるグレーのごみ箱アイコンをクリックします。

複製(Copy): アラートはコピーすることができます。フィールドやグループなどの詳細を変更することで、既存のコマンドと似たのコマンドを作成する場合に便利です。

eMailInternal Audit および、Pandora FMS Event は削除や複製はできません。

1.3.4 定義済のコマンド

Pandora FMS アラートシステムで利用できるようにあらかじめ定義されたコマンドがあります。

eMail

Pandora FMS サーバからメールを送信します。Perl の sendmail モジュールを利用します。Pandora FMS では、アラートの実行に特定のツールが必要です。libmail-sendmail-perl xprobe2 パッケージがインストールされている必要があります。

このアクションはよりビジュアルなテンプレートが作成できる HTML でメール送信します。これはメールの受信者が(画像、フォントなど)のテンプレートで使用されるリソースにアクセスできることを考慮する必要があります。

Internal audit

これは、Pandora FMS の内部監査システムに記録を残す内部アラートです。これは、Pandora FMS のデータベースに保存され、コンソールのイベントビューワから確認することができます。

Pandora FMS Event

Pandora FMS イベントマネージャにカスタムイベントを生成します。

Pandora FMS Alertlog

/var/log/pandora/pandora_alert.log に、プレーンテキストのログファイルとしてアラートを出力します。

SNMP Trap

引数を使って SNMP トラップを送信します。

Syslog

アラートを syslog に飛ばします。システムの logger コマンドを利用します。

Sound Alert

アラートが発生した時に音を鳴らします。

Jabber Alert

事前に定義したサーバのチャットルームに jabber アラートを送信します(先に .sendxmpprc ファイルを編集します)。フィールド3 をテキストメッセージに利用し、フィールド1 が発信者の名前、フィールド2 がチャットルーム名です。

SMS Text

指定した携帯に SMS を送信します。ただし、これが実行できるようにアラートを事前に定義しておく必要があります。また、Pandora FMS から SMS を送信できるように設定したゲートウェイが必要です。また、SMS を送信するのみ Gnokii をインストールすることも可能です。この場合、ノキアの携帯を USB ケーブルで接続して直接送信できます。具体的方法は別途説明しています。

Validate Event

モジュールに関連するすべてのイベントを承諾します。エージェント名とモジュール名を指定します。

1.3.5 コマンドの例

1.3.5.1 Jabber でのアラート送信

Jabber サーバを通して、アラートを送信するように Pandora FMS を設定するのはとても簡単です。Jabber はログだけでなく、アラートをリアルタイムで送ることができるシステムで、アラートを受け取る人のグループを設定することができます。

1.3.5.1.1 Jabber サービスのインストール

クライアント側の手順:

  1. Gaim (Pidgin) などの Jabber クライアントをインストールします。
  2. アカウントを登録します。(Pigdin にて、"Accounts" タブをクリックしてアカウントを設定します。)
  3. 登録したアカウントでログインします。

Pandora FMS サーバ側の手順:

  1. sendxmpp をインストールします。このツールにより、Pandora FMS サーバが Jabber サービスにメッセージを送信できるようになります。
  2. /home 以下に、.sendxmpprc ファイルを作成します。
  3. ファイルを編集し、次のような設定を行います。
  [email protected] password
  1. ファイルのパーミッションを変更します。
  chmod 0600 .sendxmpprc

以上で、次のようにコマンドラインからメッセージを送信できるようになります。

  $ echo "Hello" | sendxmpp -s pandora [email protected] 

Pandora FMS のウェブコンソールにアラートを登録するには、新たなコマンドを追加し、その設定を行います。次のようにすると良いでしょう。

  • フィールド1: Jabber アドレス
  • フィールド2: テキスト

コマンドを次のように定義します。

  echo _field2_ | sendxmpp -s pandora _field1_
1.3.5.1.2 Jabber 利用例

チャットルームへメッセージを送信します:

  $ echo "Dinner Time" | sendxmpp -r TheCook --chatroom [email protected]

ログの出力を Jabber に送信します:

  $ tail -f /var/log/syslog | sendxmpp -i [email protected]

注意: 公開 Jabber サーバに負荷をかけたり、利用を拒否されないように気をつけてください。

1.3.5.2 expect によるメール送信

メールの送信をするのに、SMTP 認証を利用する必要がある場合があります。このとき、sendmail の認証設定を行う代わりに EXPECT スクリプトを使う方が簡単で融通がきくかもしれません。ここでは、Exchange サーバを使ってメールを送信する場合に、EXPECT を使う例を示します。

/root/smtp というファイルを以下の内容で作成します。

#!/usr/bin/expect -f
set arg1 [lindex $argv 0] 
set arg2 [lindex $argv 1]
set arg3 [lindex $argv 2]
set timeout 1 
spawn telnet myserver.com 25 
expect "220"
send "ehlo mymachine.mydomain.com\r"
expect "250"
send "AUTH login\r"
expect "334"
send "2342348werhkwjernsdf78sdf3w4rwe32wer=\r"
expect "334"
send "YRejewrhneruT==\r"
expect "235"
send "MAIL FROM: [email protected]\r"
expect "Sender OK"
send "RCPT TO: $arg1\r"
expect "250"
send "data\r"
expect "354"
send "Subject: $arg2\r"
send "$arg3 \r\r"
send ".\r"
expect "delivery"
send "quit"
quit

ファイルのパーミッションに実行権限を付けます。

chmod 700 /root/smtp 

テストを行う前に、/usr/bin/expect が正しく動作するかどうか確認してください。

Pandora FMS でこれを利用するには、新たなコマンドを作成する (もしくは既存のメール送信コマンドを編集する) 必要があります。Pandora FMS アラートコマンドの "コマンド(Command)" フィールドで次の設定をします。

/root/smtp _field1_ _field2_ _field3_

スクリプトはシステムのどこにあっても構いません。アラートスクリプトは、データを処理するサーバから起動されるということだけ認識しておいてください。ネットワークデータであれば、ネットワークサーバです。XML ファイルを通してエージェントから送られてくるデータであれば、データサーバです。

もし、複数のサーバがある場合は、アラートを実行したい全 Pandora FMS サーバに対して、同じスクリプトを同じ場所に同じユーザおよび同じパーミッションでコピーする必要があります。

コマンドは、Pandora FMS サーバのプロセスを実行しているユーザの権限にて実行されます。

1.3.5.3 Gnokii による SMS 送信

Nokia の携帯電話もしくは、Gnokii に対応した携帯電話 (対応携帯かどうかは Gnokii プロジェクトページを確認してください) を利用するために、Gnokii を利用できます。また、Pandora FMS サーバから SMS アラートを送信するには、携帯電話と接続するための USB ケーブルが必要です。

Gnokii は、多くの Nokia 携帯およびいくつかのその他携帯をサポートしています。

Gnokii を使って、コマンドラインから SMS を送信することができます。この方法は、インターネットを通して SMS を送信するゲートウェイを利用する必要がなく、専用の高い GSM のハードウエアを使う必要もなく、Pandora FMS サーバから直接 SMS を送信するのにとても簡単な方法です (ネットワークがダウンしていても使えます)。

Gnokii の他には、Gammu というプロジェクトもあります。

Gnokii で SMS を送信するコマンドラインの例を示します。

echo "PANDORA: Server XXXX is down at XXXXX" | gnokii --sendsms 555123123

Gnokii は、画像を添付しての SMS 送信はできません。しかしメッセージを受信したときに参照する URL を次のように送信することができます。

echo "Image capture sample" | gnokii --sendsms 555123123 -w http://artica.homelinux.com/capture.jpg

画像の URL を送信したり、携帯からコンソールへアクセスしたり分析データにアクセスするような URL を送信することができます。

開発チームでは、インターネット接続が出来ない状態での Nokia 6030 携帯から SMS の送信をテストしています。Nokia 6030 携帯では、gnokiirc ファイルの module 6510 の定義を利用します。SMS の送信には約 4秒かかります。

Gnokii の代わりに、より強力な送信を行える Gammu をインストールすることもできます。

1.3.5.4 別システム (UNIX) でのリモートコマンド実行

時々、他のシステムでコマンドを実行したい場合があります。その場合は、ssh コマンドを利用します。コマンドを実行するシステムは UNIX システムで、ssh デーモンがインストールされ、起動されている必要があります。

コマンドを実行するマシンにアクセスしたときに、パスワード入力を求められるのを避けるには、リモートでコマンドを実行する Pandora サーバ側の公開鍵を、コマンドを実行するシステムに先にコピーしておく必要があります。

準備が完了したら、次のようにコマンドを設定します。

ssh [email protected] [_field1_]

_field1_ は変数です。好きなようにコマンドを設定できます。

1.4 アラートアクション (5.0 を含む Pandora FMS 全バージョン)

アクションは、コマンド (前章にて説明) に、フィールド1、フィールド2 ...、フィールド10 を関連付けた、アラートのコンポーネントです。

アクションは、どのように コマンドを起動するかを定義できます。

1.4.1 アクションの作成

アラート(Alerts) -> アクション(Action) および 作成(Create) をクリックすることにより新たなアクションを作成します。

Accion1.jpg

作成(Create) をクリックすると、次のような画面が表示されます。

Accion2.jpg

次に、各フィールドへ入力します。

  • 名前(Name): アクションの名前です。
  • グループ(Group): アクショングループです。コマンドに 全て(All) 以外のグループが割り当てられている場合、コマンドに関連付けられたグループまたは 全て(All) グループのみをアクショングループとして設定できます。
  • コマンド(Command): アラートが発生したときに実行されるコマンドをこのフィールドで定義します。Pandora にあらかじめ定義されているコマンド以外も選択できます。
  • フィールド 1(Field 1): フィールド 1 の値を定義します。必要に応じてコマンドで利用されます。
  • フィールド 2(Field 2): フィールド 2 の値を定義します。必要に応じてコマンドで利用されます。
  • フィールド 3(Field 3): フィールド 3 の値を定義します。必要に応じてコマンドで利用されます。
  • 実行されるコマンドのプレビュー(Command Preview): このフィールドは編集できません。システムで実行されるコマンドが自動的に表示されます。

フィールドの入力が完了したら、作成(Create) ボタンをクリックします。

Boton1.jpg

システム管理メニューの アラート管理 -> アクション では、すでに作成済みのアクションを編集することも可能です。

1.4.2 アクションの編集


Alert action.png

アクションを編集するには、アクション名をクリックします。


Alert action edit.png

編集が完了したら、"更新(Update)" ボタンをクリックします。


1.4.3 アクションの削除

アクションを削除するには、アクションの右にあるグレーのごみ箱アイコンをクリックします。

Sipo.jpg

1.5 アラートテンプレート

テンプレートは、パラメータを定義した複数のアラートをまとめたものです。エージェントのモジュールに、しきい値超過時等に処理を実行するようなアラートを複数適用する場合に利用します。テンプレートにより、管理者はエージェントへのアラート適用を簡単にできるようになります。

1.5.1 テンプレートの作成

アラートメニュー > テンプレート(Templates) へ行きます。作成ボタンをクリックすることにより、新たなテンプレートを作成することができます。

Planti.jpg

作成(Create) ボタンをクリックすると、次のような画面が表示されます。

Sabo.jpg

各フィールドに入力します。

  • 名前(Name): テンプレートの名前です。
  • 説明(Description): テンプレートの説明を入力します。他のテンプレートと区別するのに便利です。
  • 優先度(Priority): アラートの情報を設定します。アラートを検索する時に便利です。次の優先度を選択できます。

以下から優先順位を選択します。

    • メンテナンス(Maintenance)
    • 情報(Informational)
    • 正常(Normal)
    • 警告(Warning)
    • 障害(Critical)

次をクリックし、新たなページへ行きます。


Templform2.JPG


ここでは、いつ 起動するかの設定をテンプレートに行います。

  • 条件種類(Condition Type): モジュールの値がどのような状態の時にアラートとするかを定義します。選択した種類によって、追加の設定があります。以下に説明します。
  • 正規表現(Regular Expression): 正規表現が使われます。アラートは、モジュールの値が正規表現に定義された条件にマッチした場合に発報します。 これは、文字列とテキストデータに対して利用します。 その他の条件は、数値データタイプにおける状態を意図しています。


Regular.jpg


正規表現を選択すると、それにマッチした場合かどうかを選択するチェックボックスが現れます。チェックした場合は、値が正規表現にマッチした場合にアラートが発生します。チェックしない場合は、値が正規表現にマッチしない場合にアラートが発生します。

  • 最大および最小(Max and Min): 最大値と最小値が使われます。


Notmaxmin.png


'以下の値にマッチしたら、条件を満たしたと判断する(Trigger when matches the value)'をチェックすると、値が最大と最小の間の範囲に入った場合にアラートを発報します。チェックしないと、値が範囲に入っていないときにアラートを発報します。

  • 最大(Max): 最大値が使われます。モジュールの値が指定した値より大きい場合にアラートが発生します。

Max.png

  • 最小(Min): 最小値が使われます。モジュールの値が指定した値より小さい場合にアラートが発生します。

Min.png

  • 同じ値(Equal to): モジュールの値が指定した値と同じになった場合にアラートが発生します。これは、最大/最小と同じように、234 や 124.35 のように、数値データに対してのみ利用できます。

Equal.png

  • 異なる値(Not Equal to): 上記と同じですが条件が逆です。(論理的に NOT)

Notequal.jpg

  • 警告状態(Warning Status)/障害状態(Critical)/不明状態(Unknown status): モジュールの状態が利用されます。モジュールが指定の状態の場合にアラートが発生します。

Status template.png

以下は、表示されるフィールドの説明です。

曜日(Days of Week)

アラートを発生させる曜日を設定します。

特別日一覧を利用する(Use special days list)

特別日(祝日および出勤日)一覧を使うかどうかを設定します。

開始時間(Time From)

アラートを発生させる開始時間を設定します。

終了時間(Time To)

アラートを発生させる終了時間を設定します。

再通知間隔(Time Threshold)

アラームカウンターをリセットする時間です。

アラートの最大数を超えても、アラートを再度発報しない間隔を定義します。

指定した時間間隔ののちカウンターはリセットされます。正常な値となりアラートが復旧した場合は、アラートリカバリ が有効であればその場でリカバリー通知されます。

最小アラート数(Min number of alerts)

アラートを発生させるまでに、モジュールが何回異常値になることを許容するかを設定します(常に、モジュールの連続抑制回数に定義された数字になってからカウントされます)。デフォルトは 0 で、最初に状態が変化した時にアラートが発生することを意味します。これは、誤検知による通知をフィルターする機能として利用できます。

アラートが継続していない場合カウンタをリセットする(Reset counter when alert is not continuously) (>=6.1)

再通知間隔以内であっても、アラート状態が継続していない場合は、最小アラート数のカウンタをリセットしたくない場合に有効化します。

例えば、最小アラート数を 1に設定し、このオプションをチェックしない場合は、次のように 2回目の障害でアラート通知されます。

OK -> NG -> OK -> OK -> NG(このタイミングでアラート通知) ->....

それに対して、このオプションをチェックすると、つぎのようにアラート通知されます。

OK -> NG -> OK -> OK -> NG -> NG(このタイミングでアラート通知) ->....


最大アラート数(Max number of alerts)

連続で送信する最大のアラート数を設定します。

フィールド 1 (Field 1)

"_field1_" の値を設定します。以降で説明するマクロで利用できます。

フィールド 2 (Field 2)

"_field2_" の値を設定します。

フィールド n (Field n)

"_fieldn_" の値を設定します。

通常のアクション(Default Action)

ここでは、デフォルトのアクションテンプレートを設定します。テンプレートがモジュールに割り当てられたときにデフォルトで設定されるアクションになります。何も設定しないか、もしくは 1つだけ設定することができます。デフォルトには複数のアクションは設定できません。

フィールドを入力したら、"次(Next)" ボタンをクリックすると、最後のフォームが表示されます。



Combo.jpg

次の画面では以下の設定を行います。

復旧アラート (Alert Recovery)

復旧アラートを有効にするかどうかを設定します。

復旧アラートが有効になっている場合、モジュールがテンプレートで示された条件を満たさなくなったときに、このカラムに定義されているフィールドで指定された引数で関連付けられたアクションが実行されます。

フィールド 2 (Field 2)

復旧アラートの "_field2_" の値を設定します。

フィールド n (Field n)

復旧アラートの "_fieldn_" の値を設定します。

設定を完了したら、終了(Finish) ボタンをクリックします。

1.5.2 フィールド 1 から 10 までに設定可能なマクロ

(アラートテンプレート、コマンド、アクションにおける) フィールド1、2、3 の全てのフィールドで、次のマクロを使うことができます。これらの "ワード" は、アラートが発生した時点でのエージェントの値に置き換えられます。

  • _address_: アラートを発報したエージェントのアドレス
  • _address_n_: "n" 番目のエージェントのアドレス。例: address_1_ , address_2_.
  • _agent_: アラートを発報したエージェントの別名。別名が定義されていない場合は、エージェント名となります。
  • _agentalias_: アラートを発報したエージェントの別名
  • _agentcustomfield_n_: エージェントカスタムフィールド番号 n (例: _agentcustomfield_9_)
  • _agentcustomid_: エージェントカスタムID
  • _agentdescription_: アラートを発報したエージェントの説明
  • _agentgroup_: エージェントのグループ名
  • _agentname_: アラートを発報したエージェントの名前
  • _agentos_: エージェントの OS
  • _agentstatus_: エージェントの現在の状態
  • _alert_critical_instructions_: モジュールが障害状態の場合の手順
  • _alert_description_: アラートの説明
  • _alert_name_: アラートの名前
  • _alert_priority_: アラートの数値での優先度
  • _alert_text_severity_: テキストでのアラートの重要度 (Maintenance, Informational, Normal Minor, Warning, Major, Critical).
  • _alert_threshold_: アラートの閾値
  • _alert_times_fired_: アラートが発報された回数
  • _alert_warning_instructions_: モジュールが警告状態の場合の手順
  • _alert_unknown_instructions_: モジュールが不明状態の場合の手順
  • _all_address_: アラートを発報したエージェントの全アドレス
  • _data_: アラートを発報するきっかけとなったモジュールのデータ
  • _email_tag_: モジュールタグに関連付けられたEmail
  • _event_cfX_: (イベントアラートのみ) アラートを発報したイベントカスタムフィールドのキーです。例えば、IPAM というキーのカスタムフィールドがあった場合、値は _event_cfIPAM_ マクロで取得できます。
  • _event_description_: (イベントアラートのみ) アラートを発報lしたイベントの説明
  • _event_extra_id_: (イベントアラートのみ) 拡張ID
  • _event_id_: (イベントアラートのみ) アラートを発報lしたイベントのID
  • _event_text_severity_: (イベントアラートのみ) (アラートを発報した)テキストイベントの重要度(Maintenance, Informational, Normal Minor, Warning, Major, Critical)
  • _field1_: ユーザ定義フィールド1
  • _field2_: ユーザ定義フィールド2
  • _field3_: ユーザ定義フィールド3
  • _field4_: ユーザ定義フィールド4
  • _field5_: ユーザ定義フィールド5
  • _field6_: ユーザ定義フィールド6
  • _field7_: ユーザ定義フィールド7
  • _field8_: ユーザ定義フィールド8
  • _field9_: ユーザ定義フィールド9
  • _field10_: ユーザ定義フィールド10
  • _field11_: ユーザ定義フィールド11
  • _field12_: ユーザ定義フィールド12
  • _field13_: ユーザ定義フィールド13
  • _field14_: ユーザ定義フィールド14
  • _field15_: ユーザ定義フィールド15
  • _groupcontact_: グループ連絡先情報。グループを作成したときに設定されます。
  • _groupcustomid_: グループカスタムID
  • _groupother_: グループに関する他の情報。グループを作成したときに設定されます。
  • _homeurl_: 公開 URL のリンクで、設定の一般オプションで設定されている必要があります。
  • _id_agent_: エージェントのID。Pandora FMS コンソールへの直接のリンクを生成するのに便利です。
  • _id_alert_: アラートのユニークな数値ID。他のソフトウエアとの連携に使います。
  • _id_group_: エージェントグループのID。
  • _id_module_: モジュールID
  • _interval_: モジュール実行間隔
  • _module_: モジュール名
  • _modulecustomid_: モジュールカスタムID
  • _moduledata_X_: モジュールから最新のデータを取得するためには、このマクロ( "X"という名前)を使用します。数字の場合は、コンソールで設定した単位(もしあれば)と指定された小数でフォーマットされます。たとえば、アラートが実行されメールを送信する場合、同じエージェントに属する他のモジュールの(場合によっては重要な)情報を含めることができます。
  • _moduledescription_: アラートを発報したモジュールの説明
  • _modulegraph_nh_: (>=6.0) (eMail コマンドを使うアラートのみ) n で示す期間の base64 でエンコードされたモジュールグラフを返します。(例: _modulegraph_24h_) サーバとコンソールの API の設定が正しくできている必要があります。この設定は、サーバの設定ファイルで行います。
  • _modulegraphth_nh_: 上記と同じマクロですが、モジュールに定義された障害および警告閾値を含みます。
  • _modulegroup_: モジュールのグループ名
  • _modulestatus_: モジュールの状態
  • _moduletags_: モジュールタグに関連付けられたURL
  • _name_tag_: モジュールに関連付けられたタグの名前
  • _phone_tag_: モジュールタグに関連付けられた電話番号
  • _plugin_parameters_: モジュールプラグインパラメータ
  • _policy_: モジュールが属するポリシーの名前
  • _prevdata_: アラートが発報される前のモジュールデータ
  • _server_ip_: エージェントに割り当てられたサーバのIP
  • _server_name_: エージェントに割り当てられたサーバ名
  • _target_ip_: モジュールの対象 IP アドレス
  • _target_port_: モジュールのターゲットポート番号
  • _timestamp_: アラートを発報した時間 (yy-mm-dd hh:mm:ss)
  • _timezone_: _timestamp_ で表現される時間のタイムゾーン

1.5.2.1 マクロを使ったアラートの設定例

次のようなフォーマットでログファイルに記録したいとします。

2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status

コマンド設定

echo _timestamp_ pandora _field2_ >> _field1_

アクション設定

フィールド1 = /var/log/pandora/pandora_alert.log
フィールド2 = <空白>
フィールド3 = <空白>

テンプレート設定

フィールド1 = <空白>
フィールド2 = [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
フィールド3 = <空白>

復旧通知:

フィールド2 = [RECOVERED] [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
フィールド3 = <空白>

これにより、アラートが発生するとログに次の行が出力されます。

2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status

復旧時には、次の行が出力されます。

2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status

1.5.3 テンプレートの編集

管理 -> アラート管理(Manage Alerts) -> テンプレート(Templates) のメニューをクリックすることにより、新たに作成したテンプレートを編集できます。


Plantilla.jpg

テンプレートを編集するには、テンプレート名をクリックします。

1.5.4 テンプレートの削除

テンプレートを削除するには、右側の赤い×印のアイコンをクリックします。

Cruz.jpg

1.6 アラートテンプレートのモジュールへの割当

アラートシステムに関する基本的な情報がわかったところで、アラートをモジュールへ割り当てる方法を示します。

1.6.1 アラートサブメニューでのアラート管理

1.6.1.1 アラートサブメニューでのアラート割当

モジュールへのアラートの割り当ては、システム管理メニューのアラート管理にて必要なフィールドへ入力を行い、"追加(Add)" ボタンをクリックすることにより行います。

Pinar.jpg

入力フィールドは次の通りです。

  • グループ(Group): エージェントが属するグループを選択します。
  • エージェント(Agent): アラートを割り当てるエージェント名を入力します。
  • モジュール(Module): アラートを発生させるモジュールを選択します。
  • テンプレート(Template): 割り当てたいアラートテンプレートを選択します。
  • アクション(Actions):テンプレートで定義済のアクションを選択します。あとから複数のアクションを設定することもできます。
  • 閾値(Threshold): アラート発生回数に関係なく、'action_threshold' で指定した秒数内は、一回のみアラートアクションが実行されます。

1.6.1.2 アラートサブメニューでのアラート設定

アラートを作成すると、テンプレートが持っているアクションのみ編集することができます。

アクションの右側にあるグレーのごみ箱アイコンをクリックすることにより、選択したアラートを削除することもできます。また、"追加(Add)" ボタンをクリックすることにより新たに追加することもできます。

Modifica.jpg

1.6.1.3 アラートサブメニューでのアラート無効化

作成されたアラートに対して光っている(黄色)電球アイコンをクリックすると、そのアラートを無効化することができます。

Desha.jpg

有効なアラートは黄色の電球アイコン、無効なアラートは青の電球アイコンで表されます。

1.6.1.4 アラートサブメニューでのアラート削除

アラートの右にある赤い×印のアイコンをクリックすることにより、アラートを削除することができます。

Filter.jpg

1.6.2 エージェント管理メニューでのアラート管理

1.6.2.1 エージェント管理メニューでのアラート割当

アラートを追加する別の方法としてエージェント管理から実施することもできます。システム管理メニューのエージェント管理をクリックします。すべてのエージェントが表示されます。

Tarantu.jpg

エージェントを選択し、アラートアイコンをクリックします。

Vicho.jpg

次に、入力フィールドへいきます。

  • モジュール(Module): アラートを発生させるモジュールを指定します。
  • テンプレート(Template): アラート設定したいテンプレートを選択します。
  • アクション(Actions): テンプレートで定義されているアクションを選択します。のちほど複数のアクションも選択できます。
  • 閾値(Threshold): アラートアクションは、何件アラートが発生したかに関わらずaction_threshold に指定した秒間は 1回しか実行されません。

1.6.2.2 エージェント管理メニューでのアラート編集

アラートを作成すると、テンプレートが持っているアクションのみ編集することができます。

アクションの右側にあるグレーのごみ箱アイコンをクリックすることにより、選択したアラートを削除することもできます。また、"追加(Add)" ボタンをクリックすることにより新たに追加することもできます。

Gusano.jpg

1.6.2.3 エージェント管理メニューでのアラート無効化

作成されたアラートに対して光っている(黄色)電球アイコンをクリックすると、そのアラートを無効化することができます。

Cuca.jpg

有効なアラートは黄色の電球アイコン、無効なアラートは青の電球アイコンで表されます。

1.6.2.4 エージェント管理メニューでのアラート削除

アラートの右にある赤い×印のアイコンをクリックすることにより、アラートを削除することができます。

Adorno.jpg

1.7 しきい値の設定

以下のスクリーンショットでは、障害と警告のしきい値を設定したい "CPU Load" というモジュールがあります。


Cpu1.JPG


次のスクリーンショットに示すように、モジュール編集フォームにアクセスしてしきい値を設定します。

ローカルモジュールの変更は、Enterprise 版のコンソールからのみ可能であることに注意してください。それ以外の場合は、エージェント設定ファイルを直接編集する必要があります。


Cpu2.JPG


変更を承認して保存します。 モジュール 'CPU Load' の値が 70〜90 の場合、そのステータスは警告となり、91〜100 は障害となり以下のように赤色で表示されます。


Cpu3.JPG


1.8 アクションの設定

次に、"オペレータに電子メールを送信する" アクションを作成する必要があります。 アラート > アクション のメニューへ行き、新しいアクションを作成するボタンをクリックします。

Qgcpu5.png

このアクションは、メールの宛先アドレス、サブジェクト、およびメッセージ本文に対応する 'Field1'、 'Field2'および 'Field3' という名前のフィールドとともに、'Send email' コマンドを利用します。



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

障害状態のモジュールに対して一般的なアラートテンプレートが作成され、デフォルトのアクションは電子メールでオペレータのグループに通知することです。"テンプレート" セクションからテンプレートを定義します。

Qgcpu6.png

ここで設定された優先度は、アラートが発報されたときに特定の色でイベントを表示するために使用されます。

ステップ2では、特定の発報条件を決定するパラメータ(モジュールに必要な状態やシステムが動作する時間範囲など)を指定します。

Qgcpu7.png

このステップで最も重要なパラメータは次の通りです。

  • 条件種別(Condition type: 状態変化、値の変化などによってアラートが発報されるかどうかを決定します。アラートが必要に応じて機能するために最も重要なパラメータです。 モジュールが障害状態になったときにアラートを発報するには、障害状態(Critical status) の条件を使用します。
  • 通常のアクション(Default action): アラートが発報されたときに実行されるデフォルトのアクションです。オプションです。
  • 再通知間隔(Time threshhold): デフォルトでは 1日です。例では 1日ですが、5分に設定すると、モジュールが常にダウン状態の場合、5分間隔でアラート通知されます。もし、1日 (24時間) に設定すると、ダウンしたときに、まず一度アラート通知します。モジュールが復旧し、再びダウンすると、再びアラート通知します。しかし、二度目のダウンからダウン状態が続いても、24時間以内であればアラートを通知しません。
  • 最小アラート数(Min. Number of alerts): Pandora FMS がアラートテンプレートで定義したアクションを実行する状態変化 (この例では、モジュールの障害状態) の回数です。この設定により、正常状態と障害状態を繰り返す大量のアラートが発生を避けることができます。ここに 1を設定すると、モジュールの一度の障害状態は無視します。0 を設定すると、モジュールの初回の障害状態でアラート通知がされます。
  • 最大アラート数(Max. Number of alerts): 1 は、アクションを一度だけ実行することを意味します。もし、ここに 10 を設定すると、アクションを 10回実行します。この設定により、アラートの実行回数を制限することができます。

ステップ3では、フィールド1、フィールド2、フィールド3 などのフィールドがあります。前に説明したように、テンプレートからアクション、およびアクションからコマンドへのパラメータが転送されます。 さらに、この第3のステップでは、障害発生状況が正常に戻ったときに別のアクションを実行することができる アラートリカバリ を有効または無効にすることができます。

Qgcpu8.png




1.10 アラートのモジュールへの関連付け

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

Qgcpu9.png

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

1.11 スケーリングアラート

モジュールにアラートを関連付けしたら、連続して複数回繰り返されるアラートがあった場合にアクションを追加することができます。これが、スケーリングアラートです。

追加のアクションを加え、次の画面キャプチャのように、アラートが何回連続したかでアクションを実行するかを定義します。

Alert1.JPG

アラート発生数に達した場合、発生数を定義したアクションだけでなく、その時点まで実行されたすべてのアクションが再実行されます。



1.12 スタンバイアラート

アラートは、有効化、無効化、スタンバイにできます。無効化とスタンバイには次の違いがあります。無効化ではアラートは実行されずアラート表示にも表示されません。スタンバイでは動作しアラート表示に表示されますが、表示のみで割り当てられたアクションは実行せずイベントは生成しません。

スタンバイアラートは、何が発生したかを確認するのに便利です。ただし、通知 / アクションの実行が無効化されます。

1.13 関連障害検知抑制

関連障害検知抑制は、ある範囲のエージェントへの通信が切れた場合に大量のアラートが発生するのを避けるための Pandora FMS の機能です。ルータやスイッチ等の中間のデバイスがダウンすると、その先の全てのデバイスに対して Pandora FMS との通信ができなくなるような場合を考えます。おそらく、デバイスは正しく動作していますが、Pandora FMS は ping で疎通確認がとれないため、ダウンと認識します。

Recursive cascade protection ilustration.png

関連障害検知抑制は、エージェントの設定で有効にできます。"関連障害検知抑制" のチェックボックスをチェックします。エージェントの関連障害検知抑制が動作するようにするためには、依存する親エージェントを正しく設定する必要があります。親エージェントで障害状態のモジュールがありアラートが発報されると、関連障害検知抑制を設定した下位のエージェントではアラートは実行されません。

これは、警告や不明状態のモジュールアラートには適用されません。

Down1.jpg

1.13.1

次のようなモニタ設定があったとします。

  • ルータ: ICMP のチェックと、標準の OID を使って ATM ポートの状態を確認する SNMP チェックを設定されています。また、上流のプロバイダのルータとの遅延を見ています。
  • ウェブサーバ: Pandora FMS エージェントでの、CPU 使用率、メモリ使用量、apache のプロセスチェックといった、内部チェックが設定されています。また、4ステップの HTTP チェックの遅延をチェックしています。
  • データベースサーバ: Pandora FMS エージェントでの、CPU 使用率、メモリ使用量、データベースのプロセスチェックといった、内部チェックが設定されています。また、いくつかのデータベース整合性チェックがあります。さらに、プラグインにてリモートから、ログイン、クエリの実行を行い終了、応答タイミングをみるチェックをしています。

ここで、いくつかの単一アラートを定義します。

  • ルータ

ICMP チェック / 障害状態 -> メール送信アクション SNMP チェック / 障害状態 -> メール送信アクション 遅延 > 200ms / 警告状態 -> アクション無し、関連付けのみ

  • ウェブサーバ

CPU / 警告状態 -> アクション無し、関連付けのみ メモリ / 警告状態 -> アクション無し、関連付けのみ プロセス / 障害状態 -> メール送信アクション HTTP 遅延 / 警告状態 -> アクション無し、関連付けのみ

  • データベースサーバ

CPU / 警告状態 -> アクション無し、関連付けのみ メモリ / 警告状態 -> アクション無し、関連付けのみ プロセス / 障害状態 -> メール送信アクション SQL 遅延 / 警告状態 > メール送信アクション

データベースおよびウェブサーバの親としてルータを設定します。関連障害検知抑制を両方のエージェント (データベースおよびウェブ) で有効にします。

ここで、データベースに関連付けアラートを割り当てます。

ルータ ICMP チェックが正常

かつ(AND)

ルータ SNMP チェックが正常

かつ(AND)

ウェブサーバプロセスが正常

かつ(AND)

データベースサーバプロセスが障害状態

であれば、

次のメールを送信: "Service DOWN: Database Failure"

ここで、さらにデータベースに関連付けアラートを割り当てます。

ルータ ICMP チェックが正常

かつ(AND)

ルータ SNMP チェックが正常

かつ(AND)

ウェブサーバプロセスが障害状態

かつ(AND)

データベースサーバプロセスが正常

であれば、

次のメールを送信: "Service DOWN: WebServer Failure"

さらに、次のようなアラートを定義します。

ルータ ICMP チェックが正常

かつ(AND) ルータ SNMP チェックが正常 かつ(AND)

ウェブサーバの HTTP 遅延が正常 かつ(AND)

データベースサーバの SQL の遅延が発生

かつ(AND)

データベースサーバの CPU 使用率が正常

かつ(AND)

データベースサーバのメモリ使用量が超過

であれば、

次のメールを送信: Database is getting exhausted. Please check it ASAP.

1.14 セーフオペレーションモード (バージョン >= 7.0)

Safe operation mode.png

エージェントの拡張オプションでセーフオペレーションモードを有効化することができます。

選択したモジュールの状態が障害になった場合、それが警告もしくは正常状態に戻るまで該当エージェントの残りのモジュールが無効化されます。これにより、例えば、接続障害が発生した場合にリモートモジュールを無効化することができます。

1.15 特別日一覧

Pandora FMS では、休日や休暇の特別日一覧をテンプレートとして定義して、特別日にアラートが発報されないようにすることができます。

1.15.1 特別日の作成

新たに特別日を作成するには、"アラート(Alerts)" -> "特別日一覧(List of special days" へ行き、カレンダー内の "作成(Create)" ボタンをクリックします。



Creating special day61-1.png



作成(Create)をクリックすると、次のような画面が表示されます。



Creating special day2.png



次に、フィールドに以下に示す情報を入力します。

  • 日付: 特別日の日付です。日付のフォーマットは YYYY-MM-DD です。毎年同じ日を指定したい場合は、YYYY に '*' を設定することができます。
  • グループ(Group): 特別日を適用するグループを選択します。
  • 同一曜日(Same day of the week) 曜日を選択します。上記の日付がここで指定した曜日と同様に扱われます。
  • 説明(Description): 特別日の説明です。

2012年5月3日が休日だと仮定しましょう。'2012-05-03' を '日曜' と定義すると、その日は日曜日と同じように扱われます。テンプレートに、曜日に応じて 1つまたは複数の動作をする定義ができることに注意してください。これは、テンプレートが希望通りの動作をするのに役立ちます。

設定例

月曜から金曜の午前 8時から午後 6時までの間にアラートを発報し、土曜と日曜はアラートを発報しないテンプレートがあったとします。8月15日が水曜日で祝日だったとします。このとき、特別日を設定し、同一の日 を土曜か日曜に設定します。そうすると、8月15日は、(土曜または日曜として扱われ)このテンプレートでは障害があってもアラートが発報されなくなります。

フィールドを選択して、"作成(Create)" をクリックします。

注意: 特別日一覧を有効にするには、アラートテンプレート(ステップ2)で "特別日一覧を利用する" をチェックする必要があります。

1.15.2 iCalendar(.ics) ファイルを使った特別日の一括作成

特別日は、iCalendar(.ics)ファイルを使っても作成できます。iCalendar ファイルは、画面の上部からアップロードできます。 アップロードが完了すると、当月以降のデータが登録されます。



Creating special day ics.png



1.15.3 特別日の編集

特別日は、アラート管理の特別日一覧から編集することができます。



Editing special day61-1.png



特別日を編集するには、該当の日の右にあるスパナアイコンをクリックします。



Editing special day2.png



修正が完了したら、"更新(Update)" ボタンをクリックします。

1.15.4 特別日の削除

特別日を削除するには、該当日の右側のゴミ箱アイコンをクリックします。



Deleting special day61.png



1.16 アラートの例

1.16.1 アラートの SMS 送信

ここでの例として、良く質問される SMS 送信について見てみます。

これを行うために、我々のウェブサイト (http://pandorafms.org) のモジュールライブラリで公開されているスクリプトを利用します。このスクリプトは、商用の HTTP ゲートウェイ (アカウントを作成する必要があり、費用がかかります) を用いて SMS を送信するために、商用の Perl の API を利用します。これはとても簡単で、一度アカウントを作成しスクリプトを設定 (ユーザ名とパスワードのみ) したら、準備は完了です。

SMS アカウントが設定されており、Pandora FMS サーバにスクリプトがインストールされていると仮定します。ここで、次のコマンドを実行します。

> sendsms 

You're required to enter three parameters: <source>, <destination> and 'complete message'.
Please keep in mind to encapsulate the message in single quotes (') and to enter the 
destination number by using the international code format 
(e.g. 346276223 for Spanish phone numbers).

SMS の sendsms コマンドが使えるようになっているかを確認したら、最初にそれをアラートコマンドに定義します。Pandora FMS の管理インタフェースでコマンドを定義します。



Smsalert sample1.png



このコマンドで、"346666666666" は発信者番号です。単語(アルファベット)を使うこともできますが、いくつかの携帯キャリアではアルファベットの ID は扱えません。フィールド1およびフィールド2は、コマンドの動作に使われます。携帯電話の写真では、"Aeryn" という文字列を SMS で受信しています。アラートアクションで定義される、フィールド1は送信先の電話番号、フィールド2は送信文字列です。

ここで、アラートアクションを定義します。フィールド1およびフィールド2に設定した値を使って、コマンドを実行します。特殊なケースとして、テンプレートは、SMS にデータを送りません。すべての情報はアラートのアクションで定義されます。



Smsalert sample3.png



フィールド1が自分の電話番号 (実際に夜中にかけて欲しくないので隠してますが...) です。フィールド2が SMS で送信する文字列になります。アラートが発生した時に、実行時に置き換えられるいくつかのマクロを使っています。

最後のステップとして、アラートテンプレートを作成します。(定義済であれば省略できます) モジュールが障害状態になった時に実行する、とても簡単なアラートテンプレートを作成したいと思います。アラートは、最大で1日に1回発生します。ただし、復旧したときも通知されます。



Smsalert sample5.png





Smsalert sample6.png



ここで、モジュールにアラートテンプレートとアクションを割り当てます。

Smsalert sample4.png

アラートが発生するためには、モジュールが障害状態でなければなりません。次の画面ショットでは、障害状態のしきい値を確認できるモジュール設定を表示しています。しきい値が設定されていなければ、アラートは発生しません。なぜなら、障害状態をトリガにしているからです。この例では、しきい値を '20' に設定しています。より低い値になったとき、モジュールが障害状態となり、アラートが発生します。



Smsalert sample7.png



以上で準備完了です。強制的にアラートを実行してテストすることができます。強制実行するには、エージェントのアラートビューへ行き、緑の丸いアイコンをクリックします。



Smsalert sample8.png



以下の写真に示したように、SMS が携帯電話に届きます。アラートを強制実行したために、データは "N/A" になっており、実際のデータは受信していません。



Smsalert sample9.png



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

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

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

DATE_HOUR - NAME_AGENT -NAME_MODULE -VALUE- PROBLEM DESCRIPTION

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

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


Qgcpu11.png


そして、アクションを定義します。


Qgcpu12.png

作成したログを見ると次のようになっています。

2010-05-25 18:17:10 - farscape - cpu_user - 23.00 - Custom log alert #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 に出力されている定義されたアラートの実行ログを探します。

1.16.2.1 マクロを使ったアラートの例

1行ごとに次のフォーマットでログを生成したいと仮定します。

2009-12-24 00:12:00 pandora [CRITICAL] Agent <agent_name> Data <module_data> Module <module_name> in CRITICAL status

コマンド設定

echo _timestamp_ pandora _field2_ >> _field1_

アクション設定

Field1 = /var/log/pandora/pandora_alert.log
Field2 = <En blanco>
Field3 = <En blanco>

テンプレート設定

Field1 = <En blanco>
Field2 = [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

復旧セクション:

Field2 = [RECOVERED] [CRITICAL] Agent _agent_ Data _data_ Module _module_ in CRITICAL status
Field3 = <En blanco>

アラートを実行すると、次の行がログに追加されます。

2009-10-13 13:37:00 pandora [CRITICAL] Agent raz0r Data 0.00 Module Host Alive in CRITICAL status

復旧したときは、次の行が追加されます。

2009-10-13 13:41:55 pandora [RECOVERED] [CRITICAL] Agent raz0r Data 1.00 Module Host Alive in CRITICAL status

1.17 カスタムモジュールアラートマクロ

任意の数のカスタムモジュールマクロをエージェントモジュールに追加することができます。



Add module macros.png


マクロには次の特徴があります:

  • モジュール設定のセクションで定義します
  • 情報はデータベースに保存します
  • 次のような任意の名前を持てます: _pepito_
  • エージェント設定ファイル(pandora_agent.conf)には影響しません
  • アラートシステムでのみ利用できます
  • ローカルコンポーネントには追加できません
  • ポリシー内のモジュールに追加できます

これらのマクロは、モジュールマクロセクションを展開することにより追加できます。



Module macros.png


マクロの値はアラート定義のフィールドの一部として利用できます。 例:

xxx へのメール送信アクションにマクロを含め、アラートが発生したときにメール送信するには、e-mail 本文のフィールドに次のような設定をする必要があります。



Campos alertas.png


定義済のカスタムマクロ無しでモジュールが追加された場合は、アラートが発生したときに e-mail の本文内のマクロの値は表示されません。

1.18 イベントアラートと相関

これに関しては、別途 特別な章 に記載しています。