Pandora: Documentation ja: Events

From Pandora FMS Wiki
Jump to: navigation, search

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

1 イベント

1.1 概要

Pandora FMS のイベントシステムでは、監視対象のシステムで発生するすべてのイベントのリアルタイムの記録を見ることができます。 表示される情報は、モジュールのステータス変更、発生または復旧したアラート、システムの再起動、カスタムイベントです。 デフォルトでは、イベントビューでは、その時点で何が起きているかが表示されます。これは、あらゆるタイプのプロフェッショナル監視ソフトウェアで運用チームが最もよく使用するビューの 1つです。

イベントは、次の通り "イベント(Events) > イベント表示(View Event)" から管理できます。

Menu eventos.png

以下は、デフォルトのイベントビューワの例です。ここで表示されているフィールドはカスタマイズすることができます(イベント表示の章を参照)。

Event list.png

Pandora FMS バージョン 726 以降では、イベントを ID、状態、名前などで並べ替えることができます。

Event orden.png

イベントビューワには、イベントの問題の説明、それの発生元(エージェント)、および発生日時が表示されます。場合によっては、他の関連データがあります(例えば、イベントを生成したエージェントのモジュール、グループ、モジュールに関連付けられたタグなど)。虫眼鏡をクリックすると、すべてのイベントの詳細を見ることができます。

Detalle evento 1.jpg
Detalle evento 2.jpg

デフォルトでは、イベントは特定の検索によって表示されます。これを変更し、さまざまなフィルタリングオプションを使用して興味のある情報を表示することができます。

Filtro evento.png

ここでわかるように、デフォルトでは(設定オプションで変更することはできますが)、Pandora FMS は最大 8時間以内のイベントを表示し、承諾されていないイベントのみを表示します。 1つのグループにしかアクセスできないユーザーは、そのグループのイベントのみ表示できます。 デフォルトではイベントはグループ化されます。同じ発生元と同じタイプの複数のイベントがある場合、イベントは 1つだけ表示されます。イベントの詳細表示では、リストの 1つの項目にグループ化された同じイベントがいくつあるかを確認できます。

また、以前に作成したフィルタを適用できるように、特定の検索を保存することができます。

イベントは記録システムであり、監視システムの重要な部分です。

この画面を表示するオペレータは、個々のエージェントを参照することなく、監視しているシステムの現在の状態(アクティブなイベント)とすべての履歴(すべての承諾済イベント)に関する情報を知ることができます。また、全体の状態、データツリー、名前、ビジュアル画面をブラウズすることもできます。

運用者は、現在アクティブな問題のみを表示した "きれいな" イベントコンソールを参照できます。これにより、アラートを生成する必要なく、いつでも画面を見るだけで何が発生したか知ることができます。

1.2 イベント操作

1.2.1 イベントの承諾と状態、自動承諾

イベントは、新規、処理中、承諾済の 3つのステータスを持ちます。デフォルトのイベントは、システムに登録されると「新規」状態になります。 モジュールの状態の変化によりイベントが発生すると、通常は正常な状態から異常状態への最初のイベントと、問題が解決された後の正常な状態へ戻るイベントの 2つのイベントが発生します。

このような場合、異常状態(障害または警告)への移行したイベントは、正常状態に戻った場合は自動的に承諾されます。これは、イベントの自動承諾と呼ばれ重要な機能です。これによりイベントコンソールにすでに参照する必要のない情報は非表示にすることができます。 イベントが承諾されると、このビューでは今現在の問題ではなく過去の問題とみなされるため、デフォルトでは表示されず、イベントのデフォルトの初期表示画面からは消えます。

イベントを見つけたら、それを承諾することができます。れにより、システムは日付とイベントを承諾したユーザーを記録します。 また、コメントを残すことも可能です。例えば、"確認して、サーバ上のディスクを空にしました" など。

Event sample4.png

承諾ボタンをクリックすると、画面が更新され、承諾済みのイベントが「消えます」。これは、デフォルトのイベント表示では、承諾されていないイベントまたは割り当てられたイベントのみが表示され、承諾されたイベントは表示されないためです。

Event sample5.png

イベント表示を再度読み込みし、すべてのイベントをフィルタリングして表示すると、承諾済のイベント(左側に緑の×印)を見ることができます。そこでは、入力されたテキスト、いつ誰が承諾したかという情報を見ることができます。

一方、イベントを承諾する代わりに、以下のように、[応答] タブでイベントを「処理中」としてマークすることができます。

Event sample6.png

未確認の作業とは認識させない状態で、承諾せずに停止やブロックするイベントとしてイベント表示に残すこともできます。それは同じように登録される他のイベントをグループ化します(イベントのグループ化を参照)。しかし、それ自身は承諾されません。 イベントの表示のされ方は次のようになります。

Event sample7.png

また、応答 タブで、イベント削除やホストへの ping 実行など、イベントに対して実行可能な他のアクションを見つけることができます。

以下に示すように、個々にイベントを承諾したり、 "処理中" にしたり、削除できます。

Op indi.png

以下に示すように、イベントをマークしてまとめて、承諾、処理中にしたり、削除することができます。

Op masiva.png

1.2.2 カスタムイベント表示

イベント表示がデフォルトで表示するフィールドをカスタマイズすることができます。それには、'イベント(Events)' -> 'カスタムイベント(Custom events) をクリックします。ここで、表示するフィールドを選択することができます。

デフォルトでは、次のフィールドが表示されます。

  • イベント名
  • エージェント名
  • 状態
  • タイムスタンプ

"有効なフィールド(Fields available)" リストから表示したいフィールドを選択し、"選択済フィールド(Fields selected)" へ動かします。選択したら、"更新(Update)" ボタンをクリックします。

Custom events.png

1.2.3 イベントフィルタの作成

イベント(Events) > イベントフィルタ(Events Filters) をクリックすると、フィルタの作成、削除、編集ができます。

Filtros evento.png

"フィルタの作成(Create filter)" ボタンをクリックすると、次のようにイベントフィールドに入力できます。


Crear filtro evento.png


フィルタを保存すると、イベント表示からそれをロードして、毎回フィルタを再設定することなく必要な情報をすばやく表示することができます。


Event1.JPG


1.2.4 イベントのフィルタリング

イベント参照ページから、イベント一覧で特定のイベントを検索するためのフィルタリングができます。

イベント参照ページから、イベントフィルタ(Event control filter) でイベントフィルタリングオプションに、拡張オプション(Advanced options) で拡張オプションへアクセスできます。


Event6.JPG


多くのフィールドがあり、いくつかは説明は不要ですが、以下では理解するのが難しいかったり複雑なものについて説明します。

  • イベントタイプ(Event Type): イベントタイプの選択ボックスです。以下のタイプがあります。
    • エージェントの作成(Agent creation)
    • 停止されたアラート(Alert ceased (oudated))
    • 発報アラート(Alert fired)
    • 承諾されたアラート(Manual alert validation)
    • 復旧したアラート(Alert recovered) (停止されたアラートとは異なります)
    • 設定変更(Configuration change) (インベントリからのモジュールへの影響)
    • エラー(Error) (generic)
    • 障害状態(Monitor in critical status)
    • 警告状態(Monitor in warning status)
    • 正常状態(Monitor in normal status)
    • 不明状態(Monitor in unknown status)
    • 不明(Unknown) (generic)
    • システム(Systema) (generic)
    • 自動検出による新規ホスト(New host detected via recon)
    • 正常ではない(Not normal) (generic)
  • 重要度(Severity): イベントの重要度を示します。イベントの重要度は、そのイベントに関連するモジュールのステータスとは関係ありません。イベントがアラートに関連している場合、重要度は同じレベルになります。 重要度には以下の 5つがあります。
    • 障害(Critical)
    • 情報(Informational)
    • メンテナンス(Maintenance)
    • 正常(Normal)
    • 警告(Warning)
  • 最大表示範囲(Max hour old): このフィールドは、最大どこまで遡るかを指定します。
  • 複数回発生イベント(Repeated): デフォルトでは Pandora はイベントをグルーピングします。同じ発生元、同じタイプの 10個のイベントがあった場合、一つのみ表示し、イベントの詳細表示で同じイベントがいくつ上がっているかを示します。すべての個別のイベントを表示するように動作を変更することができます。

フィルタは保存したり、'フィルタ読み込み(Load Filter)' アイコンをクリックすることにより、読み込むことができます。

1.2.5 イベントの削除

不要となったイベントは削除することができます。それには、'イベント削除(deleting events)' オプションを使います。'操作(Operation)' および 'イベント参照(View Events)' をクリックすると、イベント一覧からイベントを削除する 2つの方法があります。

'アクション(Action)' カラム内にある、グレーのごみ箱アイコンをクリックします。

Gest62.png

自動イベント削除

設定にてイベントの最大保持期間を定義することができます。削除は、1時間ごとに実行されるデータベース(Pandora DB)の自動メンテナンス処理によって行われます。

Event purge.jpg

イベント履歴

Enterprise 版の機能で "イベント履歴(event history)" があります。これは、削除期限が来たイベントをヒストリデータベースに保存することができます。これらのイベントはイベント表示からはアクセスできず、特別なイベント履歴レポートからのみ利用できます。

Event history.jpg

1.2.6 イベントを参照するその他の方法

イベント参照は、'イベント(Events)' および 'イベント参照(View events)' をクリックすることにより行うことができ、文字を流すニュースチャネルのような表示 (ブラウザ上で黒い背景画面上に文字を動かす)もできます。

1.2.6.1 RSS イベント

Pandora FMS には RSS イベントプロバイダーがあります。好きなニュースリーダーでイベントを読むことができます。 ニュースチャネルや RSS でイベント参照するには、'イベント(Events)' および 'RSS' をクリックし、ニュースリーダで購読してください。

Gest64.png

Template warning.png

RSS イベントへアクセスするには、アクセスを許可する IP アドレスを設定する必要があります。設定は、設定 メニューの APIアクセスを許可するIPアドレスリスト にて行います。

 


1.2.6.2 イベントの画面表示(スクリーンセーバ)

最新のイベントを文字でスクロールして表示します。このオプションにより、最新のイベントを画面に視覚的に表示することができます。operation/events/events_marquee.php を編集することにより、表示するイベントの数、大きさ、色、メッセージフィルタを設定することができます。

Gest65.png

Template warning.png

イベントの RSS フィードへアクセスするには、設定メニューの APIアクセスを許可するIPアドレスリスト で、許可する IP を設定する必要があります。

 


1.2.6.3 サウンドアラート

常に Pandora のコンソールをチェックすることなく簡単にシステム管理を行うことができます。コンピュータから離れた場所にいたとしても、イベントが発生したときに、(大きなスピーカーと十分なボリュームで) 異なる音を聞くことができます。音は、サウンドイベントを一時停止するか、OK ボタンをクリックするまで鳴ります。

音を発生させるサウンドイベント一覧は次の通りです。

  • アラート発生
  • モジュールが 警告 状態になった場合
  • モジュールが 障害 状態になった場合

グループごとにイベントをフィルタリングすることも可能です。

1.2.6.3.1 設定

前述の通り、3種類のイベントがあり、Pandora コンソールから確認や設定ができます。必要であれば、それぞれのイベントの音を設定することができます。

Event sound.setup.screenshot.png

設定画面でも、イベントの右側にある再生ボタンをクリックすることにより音を聞くことができます。(ブラウザがマルチメディアコンテンツに対応しているかの確認にもなります。)

1.2.6.3.2 拡張設定

サウンドイベントの音は任意のものを入れることができます。そのためには、Pandora コンソールサーバの Pandora コンソールディレクトリ (通常は、/var/www/pandora_console/ です) 内の include/sounds/ ディレクトリに、新たな音ファイルを置きます。ただし、パフォーマンス面で、いくつかの条件を守る必要があります。

  • ファイルは、WAV フォーマットです。
  • ファイルは可能な限り小さくしてください。なぜなら、音はブラウザで再生されるので、ブラウザにファイルが送られるためです。小さくするには以下のようなテクニックがあります。
    • 音の長さは数秒にします。すでに説明している通り、音は繰り返し再生されます。
    • 音は、モノラルにします。
    • 16ビット以下のエンコーディングにします。音質は落ちますが、容量は小さくなります。
  • 音を編集したり作成したりするには、オープンソースの Audacity のようなツールの利用をお勧めします。マルチプラットフォームで簡単に利用できます。
1.2.6.3.3 利用

サウンドイベントは、非同期に 10秒間隔でイベントをスキャンします。イベントが発生すると、そのイベントに合った設定された音 (前述の設定もしくはデフォルトの音) が再生されます。ウインドウが赤で点滅しはじめ、ブラウザや OS の設定により、他のウインドウよりも前面に表示されます。

サウンドイベントウインドウにアクセスするには、Pandora コンソールの左側のメニューで、操作メニューから イベント参照(View Events) を選択するだけです。イベント画面のヘッダにある、音符マークのアイコンをクリックすると、小さい新たなウインドウが開きます。

Event sound.png

この小さなウインドウで、すべてのサウンドイベントの管理をおこないます。イベントを受け取るときは、これを開いた状態にしておく必要があります。ウィンドウ内には、グループ、イベントのタイプ、または特定のエージェントなど、さまざまなフィルタに応じてコンソールが動作するような、フィルタリング制御があります。 また、イベントがなくなると、小さなウィンドウにはどのイベントがなくなったのかが表示されます。

サウンドコンソールを起動するには "再生(Play)" ボタンをクリックします。イベントがきえたら、コンソールを上げなおすために "OK" をクリックし、(新たなイベントが発生するまで)音を停止します。

Window.event sound.screenshot.png

1.2.7 イベントの CSV へのエクスポート

他のアプリケーションで利用するために、イベントリストを CSV ファイルにエクスポートすることができます。

イベントを CSV へエクスポートするためには、操作メニューの イベント参照(View events) -> CSVファイル(CSV File) をクリックします。

1.2.8 イベント統計

操作メニューの イベント参照(View events) -> 統計(statistics) で、イベントの統計を参照できます。

Gest66.png

1.3 イベントアラート、イベント相関

Pandora FMS は、イベントにアラートを定義することができます。これにより、より柔軟な動作をすることができます。特定のモジュールの状態に応じてアラートが生成されるのではなく、複数の異なるエージェントの異なるモジュールによって生成することができます。これは、Enterprise 版の機能です。

アラートメニューにイベントアラートを作成するためのセクションがあります。

Menu event alert.jpg

イベントアラートは、論理演算子(and、or、xor、nand、nor、nxor)を使用するフィルタリングルールに基づいており、設定されたフィルタリングルールに一致するイベントが検索され、一致するものが見つかった場合にアラートが発報されます。

また、どの日にアラートを有効にするかなど、いくつかのパラメータを定義するためにテンプレートを用います。ただし、この場合、テンプレートはイベントアラートがいつ発報されるかを判断しませんが、フィルタに一致するイベントが検索され、一致すればアラートが発報されます。

Event alerts.png

イベントアラートの設定パラメータは、モジュールアラートと同じです。 詳細は、 こちらにあります。イベントアラート特有のパラメータとしては、以下の 2つがあります。

  • ルール評価モード: drop モードでは、一つのルールが満たされなければ、残りのアラートルールは評価されません。pass モードでは、残りのルールも評価されます。
  • グループごと: エージェント、モジュール、アラート、またはグループによって、ルールをグループ化します。例えば、2つの障害イベントを受け取ったときに、通知するようなルールが設定されていてエージェントでグループ化されていた場合は、同じエージェントから 2つの障害イベントが届きます。これは off にすることができます。

それぞれのルールは、特定の種類のイベントで通知されるように設定されます。アラートは、ルールで定義された論理式および条件を満たした場合に通知されます。

Event rules.png

ルールの設定パラメータは次の通りです。

  • 名前(Name): ルール名。
  • ユーザコメント(User comment): 任意のコメント。
  • イベント(Event): イベントテキストにマッチする正規表現。空の場合、すべてにマッチします。
  • ウインドウ(Window): イベントの生成時間範囲。この時間範囲外のイベントは拒否されます。*
  • 回数(Count): ルールにマッチし通知されるイベントの数。
  • エージェント(Agent): イベントを生成したエージェント別名にマッチする正規表現。
  • モジュール(Module): イベントを生成したモジュール名にマッチする正規表現。
  • モジュールアラート(Module alerts) (テンプレート): イベントを生成したアラート名にマッチする正規表現。
  • グループ(Group): エージェントが属するグループ。
  • 重要度(Severity): イベントの重要度。
  • タグ(Tag): イベントに関連づけられたタグ。
  • ユーザ(User): イベントに関連づけられたユーザ。
  • イベントタイプ(Event type): イベントの種類。

例えば、System タグに関連づけられたサーバグループの任意のエージェントの cpu_load という名前の任意のモジュールが障害状態になったときに、生成されたイベントにマッチするルールを設定できます。

Event rule config.png

Info.png

Pandora FMS データベースに保存できるイベント数に関しては、pandora_server.conf ファイルの event_window パラメータにて定義します。この時間範囲を越えるイベントが発生した場合は、サーバは処理を行いません。そのため、サーバの設定よりも大きな時間間隔を設定しても意味がありません。

 


Template warning.png

イベント相関アラートを機能させるには、Pandora FMS サーバ設定ファイルで eventserver 1 を設定し、イベント相関サーバを有効化する必要があります。

 


1.4 コマンドラインからのイベント

1.4.1 コマンドラインからのイベント生成

WEB API を利用することにより、データベースへの接続が出来ない場合や Pandora FMS やエージェントをインストールしていなくても、リモートのサイトから Pandora FMS を操作することができます。次の特別なツールだけが必要です。

/usr/share/pandora_server/util/pandora_revent.pl

このツールは、Pandora FMS のイベントを作成したり承諾するために、リモートからの HTTP/HTTPS 接続を利用します。使い方を確認するには、引数を与えずに実行します。

Pandora FMS Remote Event Tool Copyright (c) 2013 Artica ST
This program is Free Software, licensed under the terms of GPL License v2
You can download latest versions and documentation at http://www.pandorafms.org

Options to create event: 

	./pandora_revent.pl -p <path_to_consoleAPI> -u <credentials> -create_event <options> 

Where options:

	-u <credentials>			: API credentials separated by comma: <api_pass>,<user>,<pass>
	-name <event_name>			: Free text
	-group <id_group>			: Group ID (use 0 for 'all') 
	-agent					: Agent ID
	
Optional parameters:
	
	[-status <status>]			: 0 New, 1 Validated, 2 In process
	[-user <id_user>]			: User comment (use in combination with -comment option)
	[-type <event_type>]			: unknown, alert_fired, alert_recovered, alert_ceased
							  alert_manual_validation, system, error, new_agent
							  configuration_change, going_unknown, going_down_critical,
							  going_down_warning, going_up_normal
	[-severity <severity>] 		: 0 Maintance,
						  1 Informative,
						  2 Normal,
						  3 Warning,
						  4 Crit,
						  5 Minor,
						  6 Major
	[-am <id_agent_module>]		: ID Agent Module linked to event
	[-alert <id_alert_am>]			: ID Alert Module linked to event
	[-c_instructions <critical_instructions>]
	[-w_instructions <warning_instructions>]
	[-u_instructions <unknown_instructions>]
	[-user_comment <comment>]
	[-owner_user <owner event>]		: Use the login name, not the descriptive
	[-source <source>]			: (By default 'Pandora')
	[-tag <tags>]				: Tag (must exist in the system to be imported)
	[-custom_data <custom_data>]		: Custom data should be a base 64 encoded JSON document (>=6.0)
	[-server_id <server_id>]		: The pandora node server_id (>=6.0)
        [-id_extra <id extra>]      : Id extra
        [-agent_name <Agent name>]  : Agent name, do not confuse with agent alias.
	[-force_create_agent<0 o 1>]: Force the creation of agent through an event this will create when it is 1.
        
Example of event generation:

	./pandora_revent.pl -p http://localhost/pandora_console/include/api.php -u 1234,admin,pandora 
		-create_event -name "SampleEvent" -group 2 -agent 189 -status 0 -user "admin" -type "system" 
		-severity 3 -am 0 -alert 9 -c_instructions "Critical instructions" -w_instructions "Warning instructions" 


Options to validate event: 

	./pandora_revent.pl -p <path_to_consoleAPI> -u <credentials> -validate_event <options> -id <id_event>

Sample of event validation: 

	./pandora_revent.pl -p http://localhost/pandora/include/api.php -u pot12,admin,pandora -validate_event -id 234

最初に、API アクセスを有効にする設定を行う必要があります。それには、次の 3つのステップを行います。

  1. . API アクセスを許可する IP を設定します (* を指定すると全 IP アドレスになります)
  2. . API パスワードを設定します
  3. . 通常のユーザ/パスワードまたは、API 用に定義したユーザを利用します

イベント詳細の不明、障害、警告の手順フィールドを設定するには、イベントタイプが、going_unknown, going_down_critical または going_down_warning のいずれかでなければいけません。

例:

/pandora_revent.pl -p http://192.168.50.12/pandora_console/include/api.php -u pandora12,admin,pandora 
-create_event -name "Another nice event" -group 0 -type "system" -status 0 -severity 4
-user "davidv" -owner_user "admin" -source "Commandline" -comment "Prueba de comentario"

1.4.2 コマンドライン (pandora_revent_create) からのイベントのみの生成

イベントの承諾を除き、pandora_revent スクリプトど同じ機能です。

/usr/share/pandora_server/util/pandora_revent_create.pl

このツールは、Pandora FMS いイベントを作成するために、リモート HTTP/HTTPS 接続を利用します。引数無しで実行すると、書式を参照できます。

Pandora FMS Remote Event Tool Copyright (c) 2013 Artica ST
This program is Free Software, licensed under the terms of GPL License v2
You can download latest versions and documentation at http://www.pandorafms.org

Options to create event: 

	./pandora_revent_create.pl -p <path_to_consoleAPI> -u <credentials> -create_event <options> 

Where options:

	-u <credentials>			: API credentials separated by comma: <api_pass>,<user>,<pass>
	-name <event_name>			: Free text
	-group <id_group>			: Group ID (use 0 for 'all') 
	-agent					: Agent ID
	
Optional parameters:
	
	[-status <status>]			: 0 New, 1 Validated, 2 In process
	[-user <id_user>]			: User comment (use in combination with -comment option)
	[-type <event_type>]			: unknown, alert_fired, alert_recovered, alert_ceased
							  alert_manual_validation, system, error, new_agent
							  configuration_change, going_unknown, going_down_critical,
							  going_down_warning, going_up_normal
	[-severity <severity>] 		: 0 Maintance,
						  1 Informative,
						  2 Normal,
						  3 Warning,
						  4 Crit,
						  5 Minor,
						  6 Major
	[-am <id_agent_module>]		: ID Agent Module linked to event
	[-alert <id_alert_am>]			: ID Alert Module linked to event
	[-c_instructions <critical_instructions>]
	[-w_instructions <warning_instructions>]
	[-u_instructions <unknown_instructions>]
	[-user_comment <comment>]
	[-owner_user <owner event>]		: Use the login name, not the descriptive
	[-source <source>]			: (By default 'Pandora')
	[-tag <tags>]				: Tag (must exist in the system to be imported)
	[-custom_data <custom_data>]		: Custom data should be a base 64 encoded JSON document (>=6.0)
	[-server_id <server_id>]		: The pandora node server_id (>=6.0)

Example of event generation:

	./pandora_revent_create.pl -p http://localhost/pandora_console/include/api.php -u 1234,admin,pandora 
		-create_event -name "SampleEvent" -group 2 -agent 189 -status 0 -user "admin" -type "system" 
		-severity 3 -am 0 -alert 9 -c_instructions "Critical instructions" -w_instructions "Warning instructions"

最初に、API アクセスを有効にする設定を行う必要があります。それには、次の 3つのステップを行います。

  1. . API アクセスを許可する IP を設定します (* を指定すると全 IP アドレスになります)
  2. . API パスワードを設定します
  3. . 通常のユーザ/パスワードまたは、API 用に定義したユーザを利用します

イベント詳細の不明、障害、警告の手順フィールドを設定するには、イベントタイプが、going_unknown, going_down_critical または going_down_warning のいずれかでなければいけません。

例:

/pandora_revent_create.pl -p http://192.168.50.12/pandora_console/include/api.php -u pandora12,admin,pandora 
-create_event -name "Another nice event" -group 0 -type "system" -status 0 -severity 4
-user "davidv" -owner_user "admin" -source "Commandline" -comment "Prueba de comentario"

1.4.3 イベントのカスタムフィールド

カスタムフィールドのあるイベントは、Pandora FMS の CLI から生成できます。例えば、イベントは次のコマンドで生成されます。

perl pandora_manage.pl /etc/pandora/pandora_server.conf --create_event 'Custom event' system Firewalls 'localhost' 'module' 0 4  'admin'     '{"Location": "Office", "Priority": 42}'

これは、次のようになります。

Event custom data.png