障害検知・復旧メール通知設定

ここでは、監視項目(モジュール)の状態が正常かどうかを判定し、障害状態(または警告状態)の際にメール通知を行う設定例を示します。

まず最初に、個々の設定を行う前に Pandora FMS における障害通知の仕組みを理解しておく必要があります。Pandora FMS では、「アラート」という機能でそれを実現しており、モジュールに対してアラートの “テンプレート” を割り当てることにより設定を行います。”テンプレート” では、モジュールがどのような状態になった際にどのような “アクション” を実行するかを定義します。また、”アクション” では、実際に実行する “コマンド” を指定します。これらの設定は、Pandora FMS コンソールの「アラート」メニューから確認・設定できます。

また、現在設定されているアラートの一覧が「アラート一覧」から参照できます。

つまり、”コマンド” → “アクション” → “テンプレート” という形の階層構造の設定となっており、最終的にモジュールには “テンプレート” を割り当てる形となります。

デフォルトのテンプレートとしては、次の設定があらかじめ用意されています。(もちろん、新たに作成することもできます。)

  • Critical condition → モジュールが障害状態になった際および、復旧した際に、管理者宛にメール通知します。
  • Warning condition → モジュールが警告状態になった際および、復旧した際に、管理者宛にメール通知します。
  • Manual alert → モジュールの値が 1 と 0 の間になった際に、アラートとします(アクションは定義されていないため Pandora FMS コンソール上のイベントに表示されます)。

なお、管理者のメールアドレスは、デフォルトでは Pandora FMS インストール時に設定したアドレスとなっています。変更したい場合は、”アラート” → “アクション” メニューから、”Mail to Admin” を選択します。

以上を理解したうえで、個々の設定を見てみます。

ping応答、プロセス存在監視など、booleanデータを返すモジュールのアラートメール通知設定

「モニタリング」→「表示」→「エージェント詳細」メニューから、監視設定を行いたいエージェントを選択すると、boolean の監視項目は次のように表示されています(ping応答の例)。

boolean のモジュールでは Pandora FMS は、監視データが “1” (以上)の場合正常と判断し、”0″ の場合障害と自動判定します。モジュールに対してしきい値を明示的に指定する必要はありません。

では、メール通知設定をしてみます。”アラート一覧” から “作成” をクリックします。

最初の 2つの項目は、アラートメール通知設定を行いたい、エージェントとモジュール(ここでは Host Alive)の選択です。3つ目の項目でアクションを設定しますが、”通常のアクション” を設定するとテンプレートで定義されているアクションとなります(それ以外のアクションを指定したり、アクションを追加したりもできます)。4つ目は、適用するテンプレートの指定です。この例では、”Critical condition” つまり、該当のモジュールが障害状態になった際のアラートを定義していることになります。

一通り設定したら、”アラートの追加” をクリックします。

以上で、boolean モジュールに対する基本的なアラートメール通知設定は完了です。

CPU使用率、メモリ使用率など、数値データを返すモジュールのアラートメール通知設定

CPU使用率、メモリ使用率、ディスク使用率など、数値データに対して監視設定を行う場合、まずは値がどの範囲に入った場合に警告や障害状態とするのかの閾値設定を行う必要があります。そのためには、まずは、”リソース” → “エージェント管理” メニューを選択します。

監視しているエージェント一覧が表示されるので、設定を行いたいエージェントのモジュールをクリックします。

モジュール一覧が表示されるので、アラートメール通知設定をしたいモジュールをクリックします(以下の例では CPU Load)。

警告状態および、障害状態の項目で閾値を設定し、”更新” をクリックします。

この設定により、Pandora FMS が該当モジュールの値が 70~90 の場合は警告状態、91~100 の場合は障害状態であると判断するようになります。(69以下は正常)

では、続いてメール通知設定をしてみます。”アラート一覧” から “作成” をクリックします。

最初の 2つの項目は、アラートメール通知設定を行いたい、エージェントとモジュール(ここでは CPU Load)の選択です。3つ目の項目でアクションを設定しますが、”通常のアクション” を設定するとテンプレートで定義されているアクションとなります(それ以外のアクションを指定したり、アクションを追加したりもできます)。4つ目は、適用するテンプレートの指定です。この例では、”Critical condition” つまり、該当のモジュールが障害状態になった際のアラートを定義していることになります。

一通り設定したら、”アラートの追加” をクリックします。

以上で、数値モジュールに対する基本的なアラートメール通知設定は完了です。

ログ監視など、文字列モジュールのアラートメール通知設定

ログ監視など、文字列データに対して障害通知設定を行う場合、主に以下の 2通りの方法があります。

  • Pandora FMS コンソール上で、特定の文字列を検知した際に該当モジュールの状態を障害状態に変化させ、障害状態の検知を通知する方法
  • Pandora FMS コンソール上のモジュールの状態変化はさせず、通知条件の方で特定の文字列を通知条件として設定する方法

それぞれメリット・デメリットがあります。障害対応オペレーションフローに応じて適切な手法を選択します。

前者は Pandora FMS コンソール上で障害検知条件にマッチするログが記録された場合に該当モジュールが障害状態表示となるため、コンソール上での “見た目” はわかりやすくなります。しかしながら一度障害状態となったモジュールに対しては、コンソール上で障害状態を「承諾」し、モジュールを正常状態に戻す操作をする必要があります。「承諾」操作を行わない限り、次の障害条件に合致するログを検知してもアラートを発報しません。これは、Pandora FMS がモジュールを “状態” で管理しているためです(「承諾」前はオペレータが対応中であり追加の通知はしないという考え方とも言えます)。

後者は、Pandora FMS コンソール上では、モジュールにどんなログが記録されても正常状態表示となります。しかしコンソール上での「承諾」操作は不要で、障害条件に合致したログすべてに対してアラートを発報させることができます。

Pandora FMS コンソール上で、特定の文字列を検知した際に該当モジュールの状態を障害状態に変化させ、障害状態の検知を通知する方法

この場合は、まずはどのような文字列が発生した場合にモジュールを警告や障害状態とするのかの設定を行う必要があります。そのためには、まずは、”リソース” → “エージェント管理” メニューを選択します。

監視しているエージェント一覧が表示されるので、設定を行いたいエージェントのモジュールをクリックします。

モジュール一覧が表示されるので、アラートメール通知設定をしたいモジュールをクリックします(以下の例では /var/log/secure を監視する secure_log という名前のモジュール)。

警告状態および、障害状態の項目でマッチングさせる文字列の条件を正規表現で設定し、”更新” をクリックします。

この例では、Pandora FMS が該当モジュールで ssh という文字が現れた際に障害と判断するようになります。

では、続いてメール通知設定をしてみます。”アラート一覧” から “作成” をクリックします。

最初の 2つの項目は、アラートメール通知設定を行いたい、エージェントとモジュール(ここでは secure_log)の選択です。3つ目の項目でアクションを設定しますが、”通常のアクション” を設定するとテンプレートで定義されているアクションとなります(それ以外のアクションを指定したり、アクションを追加したりもできます)。4つ目は、適用するテンプレートの指定です。この例では、”Critical condition” つまり、該当のモジュールが障害状態になった際のアラートを定義していることになります。

一通り設定したら、”アラートの追加” をクリックします。

以上で、Pandora FMS コンソール上でモジュールの状態変化をさせることによる文字列モジュールに対する基本的なアラートメール通知設定は完了です。

改めて書きますが、この設定でアラートを検知した際は、次のアラートを検知できるように Pandora FMS コンソール上で「承諾」操作を忘れないようにしてください。

Pandora FMS コンソール上のモジュールの状態変化はさせず、通知条件の方で特定の文字列を通知条件として設定する方法

この場合は、Pandora FMS コンソール上のモジュールの状態変化は発生させません。代わりにアラートのアクションで通知条件となる文字列を設定します。そのためには、まずは、”アラート” → “テンプレート” メニューを選択します。

アラートテンプレートの画面が表示されるので、新規作成のため「作成」をクリックします。

アラートテンプレートの設定画面が表示されるので、ステップ1~ステップ3を順番に設定します。まずは、ステップ1で必要項目を設定します。最低限、テンプレートの名前と優先度の設定を行います(以下の例では “sshアクセス検知” という名前のテンプレートとしています)。

ステップ1の入力が完了したら、”次” をクリックしてステップ2へ進みます。

ここで、アラート通知される条件となる文字列の設定を行います。文字列のマッチングによる通知なので “条件種別” で “正規表現” を選択し、”値” にマッチングさせる正規表現を入力します。

ステップ2の入力が完了したら、”次” をクリックしてステップ3へ進みます。

ステップ3では “復旧アラート” が “無効” になっていることを確認します。特定の文字列を検知した際にアラート通知するための設定ですので、復旧通知という概念がありません。そのため、ここは “無効” にします。

確認したら、画面右下の “終了” をクリックします。以上で、特定の文字列を検知した際にアラート通知するためのアラートテンプレートの定義が完了です(ここで示した例では “sshアクセス検知” というテンプレート)。

では、続いて作成したアラートテンプレートを用いてメール通知を行う設定をしてみます。”アラート一覧” から “作成” をクリックします。

最初の 2つの項目は、アラートメール通知設定を行いたい、エージェントとモジュール(ここでは secure_log)の選択です。3つ目の項目でアクションを設定しますが、”通常のアクション” を設定するとテンプレートで定義されているアクションとなります(それ以外のアクションを指定したり、アクションを追加したりもできます)。4つ目は、適用するテンプレートの指定です。ここであらかじめ作成しておいた “sshアクセス検知” のアラートテンプレートを指定します。

一通り設定したら、”アラートの追加” をクリックします。

以上で、Pandora FMS コンソール上のモジュールの状態はそのままに、アラートテンプレートによって特定文字列を検知した際にアラートメール通知させる基本的な通知設定は完了です。