2017/08/15 CentOS7.0/PandoraFMS7.0 NG710





Pingに3回応答しなかったらメールを送信する(V7.0)

これはPandora FMS V7.0(V6.0)による設定です。
V5での設定は「Pingに3回応答しなかったらメールを送信する(V5.0)」を参照してください

特に多いパターンと思われます。
応答が確実でないPingに一回応答しなかっただけでメールを送信していては騒がしいです。
3回ほど連続してダウンしていたら、ダウンとみなします。

ここでは以下の設定を想定します。

・Pingの送信間隔は1分
・3回応答しなかったら、メール送信を行う

運用環境に合わせ、適宜変更してください。




Ping監視・HostAliveモジュールの設定方法は、Pingに応答しなかったらメールを送信する(v7)を参照してください。
Ver6.0/7.0は障害通知・復旧通知の設定が簡単になっています。
ここでは設定を整理しつつ、アラートを設定します。


0.メール送信設定をする

#vi /etc/pandora/pandora_server.conf

以下の値を変更します
mta_address メールサーバアドレス
mta_from メール送信元アドレス

もし認証の必要なメールサーバなら、mta_user、mta_pass、mta_authも設定します。

#service pandora_server restart




1.メール送信アクションを設定する


障害状態のメール送信先を設定します。
左のアイコンからベルマークを選択し、[アクション]を起動します。



「Mail to Admin」アクションをコピーします。


名前に適当な通報名を入れます。
送信先アドレスを示す名前がいいでしょう。(監視チーム、など)



フィールドに以下の値を設定します。



障害通知
復旧通知
Destination address(送信先アドレス)
フィールド1
mainte-member@example.local
mainte-member@example.local
Subject(メールタイトル)
フィールド2
 (空)

[BIZ-System] Recover _agent_
Text(本文)
フィールド3
Module: _module_
Agent: _agent_
Timestamp _timestamp_
Current value: _data_
Module: _module_
Agent: _agent_
Timestamp _timestamp_
Current value: _data_

PandoraFMS V5までは、アクションには一つのフィールド群しか指定できませんでしたから、障害通知と復旧通知はアラートテンプレート側で管理する必要がありました。
PandoraFMS V6あたりから、障害通知用と復旧通知用のフィールドをアクション側で指定できるようになり、
アクション側で障害・復旧のデータを管理できるようになりました。

ただ障害通知のメールタイトルは空にしておきます。
なぜなら障害アラートと警告アラートで同じアクションを使うなら、できればメールタイトルは別にしておきたいところでしょう。
メールタイトルはアラートテンプレート側で定義します。


これでメールを送るアクションの設定はできました。






2.アラートテンプレートの確認


左のアイコンメニューからベルのマークを選択し、[テンプレート]を選択します。

設定済みの「Critical condition」を選択します。



ステップ2の「状態」を設定します。


再通知間隔を10年。(デフォルトは1日。アラートが継続する場合は1日ごとにメールが来ます)
通常のアクションを「なし」に設定します。

なお、最小アラート数は0のままです。

PandoraFMS V5の頃はアラートテンプレート側で最小アラートを設定して、3回失敗でアラート発生を設定していました。
なぜならモジュール側で「2回までは無視、3回目から障害扱い」の設定(連続抑制時間隔)を設定すると、復旧するにも同じ回数成功しないと回復イベントが発生しなかったからです。

しかしV6以降では、モジュール側で障害が発生する回数と、復旧する回数を別々に指定できます。
このため最小アラートの設定はモジュール側に持たせることにします。




ステップ3の拡張フィールドでは、発報フィールドのフィールド2だけ設定します。



発報フィールド
復旧フィールド
フィールド1
(送信先アドレス)
 変更なし
 変更なし
フィールド2
(メールタイトル)
 [BIZ-System] Critical _agent_

 変更なし
フィールド3
(本文)

 変更なし
 変更なし

アクションフィールド側で、空白になっている障害通知フィールド2にかわり、アクションテンプレート側のフィールド2が採用されます。

その他のフィールドについてはアクション側で定義されているので、上書きされます。
例えば復旧フィールドのフィールド2については、なにが書いてあっても、「[BIZ-System] Recover _agent_」というメールタイトルが採用されます。

もしスッキリしないのなら、不要なフィールドの内容を全て削除しておくと勘違いはないでしょう。





3.監視項目(モジュール)を追加する


エージェント管理画面右上のアイコンから、「モジュール」を選択し、
「ネットワークサーバモジュールの新規作成」を選択し「作成」をクリックします。
※もしもモジュールというタブがなければ、まず歯車の「設定」タブをクリックします。



モジュールコンポーネントで「Network Management」「HostAlive」を選択します。
このHostAliveがPingでの監視のことです。




連続抑制回数の設定で、個別状態変化を選択し、値を設定します。
正常移行時 0 (1回でイベント発生)
警告移行時 0
障害移行時 2 (2回まで無視。3回目でイベント発生)

なお、Host AliveはBool型のモジュールで、障害と回復の2つしかステータスを持たないため、警告移行時の
パラメータは無視されます。
(1回エラーで警告、3回エラーで障害発生、が理想でしたが)



拡張オプションで、監視間隔を1分に設定し、保存します。







4.アラートの割り当て

エージェントの設定変更で、アラートを追加します。



モジュールに「Host Alive」、アクションに1.で作成したメール送信アクション、
テンプレートに「Critical condition」を設定し、アラートを追加します。




これで、必要な設定が完了しました。
対象サーバをネットワークから切り離し、3分後(実際は3分30秒くらい)にメールが送信されることを確認します。






モジュールのコンポーネントのデフォルト設定を変更する場合


Ping監視を毎回同じ設定で監視するのなら、毎回毎回Host Aliveを割り当てるたびに
「監視間隔」「抑制回数」を変更するのは手間です。

それならモジュールのデフォルト設定を事前に変更しておくとよいでしょう。


コンポーネント管理を選択し、コンポーネント一覧を表示させます。
たくさんあって見つけづらいので、検索します。



検索文字列にhost alive と入力して、検索。
絞り込まれたHost Aliveモジュールをクリックします。




表示されたデフォルト設定の中で、「間隔」と「通知抑制回数」を事前に変更しておきます。







prev.gif