Notifications¶
|Failover Managerクラスターに影響する重要なイベントが発生すると、電子メール通知を送信したり、通知スクリプトを呼び出します。|Failover Managerを構成した場合電子メール通知を送信するには、クラスターの各ノードのポート25で実行されているSMTPサーバーが必要です。次のパラメーターを使用して、|Failover Managerの通知動作を構成します。
user.email
script.notification
from.email
設定プロパティの編集の詳細については、 クラスタープロパティ の指定を参照してください。
通知の本文には、通知をトリガーしたイベント、およびクラスターの現在の状態に関する詳細が含まれています。例:
EFM node: 10.0.1.11
Cluster name: acctg
Database name: postgres
VIP: ip_address (Active|Inactive)
Database health is not being monitored.
VIPフィールドには、ノードに実装されている場合、仮想IPのIPアドレスと状態が表示されます。
|Failover Manager各通知に重大度レベルを割り当てます。次のレベルは、必要な注意のレベルが高まることを示しています。
INFOは、エージェントに関する情報メッセージを示しており、手動による介入は不要です(たとえば、|Failover Managerが開始または停止しました)。 INFOレベル通知のリスト を参照してくださいWARNINGは、管理者がシステムをチェックする必要があるイベントが発生したことを示します(たとえば、フェイルオーバーが発生した)。 警告レベル通知のリスト を参照してくださいSEVEREは、重大なイベントが発生し、管理者の即時の注意が必要であることを示します(たとえば、フェールオーバーが試行されたが完了できなかった)。 重大レベルの通知のリスト を参照してください
重大度レベルは、通知の緊急度を指定します。重大度レベルが SEVERE の通知はすぐにユーザーの注意を必要としますが、重大度レベルが INFO の通知はユーザーのアクションを必要としないクラスターに関する操作情報に注意を喚起します。通知の重大度レベルはロギングレベルとは関係ありません。構成ファイルで指定されたログレベルの詳細に関係なく、すべての通知が送信されます。
notification.level プロパティを使用して、通知をトリガーする最小の重大度レベルを指定できます。
Please note: :管理用メールアドレスへの通知の送信に加えて、すべての通知はクラスターログファイル( /var/log/efm-4.1/<cluster_name>.log )に記録されます。
以下の表にリストされている条件は、 INFO レベルの通知をトリガーします。
Subject |
Description |
|---|---|
実行されたフェンシングスクリプト |
実行されたフェンシングスクリプト*script_name*結果:script_results |
実行されたプロモーション後スクリプト |
実行されたプロモーション後スクリプト*script_name*結果:script_results |
実行されたリモート事前プロモーションスクリプト |
実行されたリモートプレプロモーションスクリプト*script_name*結果:script_results |
実行されたリモートポストプロモーションスクリプト |
実行されたリモートポストプロモーションスクリプト*script_name*結果:script_results |
実行されたポストデータベース障害スクリプト |
実行されたデータベース障害後スクリプト*script_name*結果:script_results |
実行されたプライマリ分離スクリプト |
実行されたプライマリ分離スクリプト*script_name*結果:script_results |
クラスター*cluster_name*の*node_address* で実行されている監視エージェント |
監視エージェントが実行されています。 |
クラスター*cluster_name*の*node_address* で実行されているプライマリエージェント |
プライマリエージェントが実行されており、データベースの状態が監視されています。 |
クラスター*cluster_name*の*node_address* で実行されているスタンバイエージェント |
スタンバイエージェントが実行されており、データベースの状態が監視されています。 |
クラスター*cluster_name*のノード*node_address* で実行中のアイドルエージェント |
アイドルエージェントが実行されています。ローカルデータベースを起動した後、エージェントを再開できます。 |
ノード*node_address* へのVIPの割り当て |
VIP*VIP_address*をノード*node_address*に割り当てる結果:script_results |
ノード*node_address* からVIPを解放する |
ノード*node_address*からVIP*VIP_address*を解放する結果:script_results |
クラスタ*cluster_name* の自動再開チェックを開始しています |
このノードのエージェントは、auto.resume.period 秒ごとにチェックして、障害のあるデータベースの監視を再開できるかどうかを確認します。この時間中にクラスタを確認し、データベースが再び起動しない場合はエージェントを停止する必要があります。詳細については、エージェントログを参照してください。 |
実行されたエージェント再開スクリプト |
実行されたエージェントはスクリプトを再開しました*script_name*結果:script_results |
プロモーション中にバックアップされたWALログ |
このスタンバイを新しいプライマリに合わせて再設定すると、pg_xlogまたはpg_walの内容が*pgdata* ディレクトリにバックアップされました。このバックアップは、ディスクスペースを解放するのに都合が良いときに削除する必要があります。 |
以下の表にリストされている条件は、警告 レベルの通知をトリガーします。
Subject |
Description |
|---|---|
クラスター*cluster_name*の*node_address* で監視エージェントが終了しました |
監視エージェントが終了しました。 |
クラスター*cluster_name*の*node_address* でプライマリエージェントが終了しました |
データベースの状態は監視されていません。 |
クラスター*cluster_name* は、プライマリノードが脱退したことを通知しました |
プライマリエージェントが再起動されるまで、クラスターのフェールオーバーは無効になります。 |
クラスター*cluster_name*の*node_address* でスタンバイエージェントが終了しました |
データベースの状態は監視されていません。 |
クラスター*cluster_name*の*node_address* での昇格中にエージェントが終了しました |
データベースの状態は監視されていません。 |
エージェントはクラスター*cluster_name*の*node_address* で終了しました |
エージェントは終了しました。これは、アイドル状態のエージェントによって生成されます。 |
クラスター*cluster_name* のエージェントが終了しました |
エージェントは終了しました。通常、この通知は、起動中にエージェントが終了するときに起動時に生成されます。 |
非プライマリノードに割り当てられた仮想IPアドレス |
仮想IPアドレスは、非プライマリノードに割り当てられているようです。競合を避けるために、|Failover ManagerVIPをリリースします。VIPがプライマリノードに割り当てられていることを確認し、割り当てられていない場合は手動でアドレスを再割り当てする必要があります。 |
プライマリノードに割り当てられていない仮想IPアドレス。 |
仮想IPアドレスは、プライマリノードに割り当てられていないようです。EDB Postgres Failover ManagerVIPの再取得を試みます。 |
クラスター*cluster_name* のクラスターにスタンバイエージェントがありません |
cluster_name のスタンバイがクラスターを離れました。 |
クラスター*cluster_name* のスタンバイエージェントが失敗しました |
cluster_name のスタンバイエージェントがクラスターを離れましたが、コーディネーターはスタンバイデータベースがまだ実行中であることを検出しました。 |
クラスター*cluster_name* のスタンバイデータベースが失敗しました |
スタンバイエージェントは、データベースに障害が発生したことを通知しました。他のノードもスタンバイデータベースに到達できません。 |
スタンバイエージェントはクラスタ*cluster_name* のデータベースに到達できません |
スタンバイエージェントはデータベースの障害を通知しましたが、他のノードはスタンバイデータベースがまだ実行中であることを検出しました。 |
クラスター*cluster_name* は3つのノードより下にドロップしました |
完全なフェイルオーバー保護には、少なくとも3つのノードが必要です。監視ノードまたはエージェントノードをクラスターに追加してください。 |
クラスターのサブセット*cluster_name* がプライマリから切断されました |
このノードは、クラスターの大部分*cluster_name*に接続されなくなりました。このノードはクラスターのサブセットの一部であるため、フェールオーバーは試行されません。表示される現在のノードは次のとおりです:node_address |
クラスター*cluster_name* でプロモーションが開始されました。 |
クラスター*cluster_name* でスタンバイのプロモーションが開始されました。 |
クラスター*cluster_name* の監視エラー |
node_address で実行されている目撃者がクラスターを離れました。 |
クラスター*cluster_name* のアイドルエージェント障害。 |
node_address で実行されているアイドルエージェントがクラスターを離れました。 |
クラスタ*cluster_name* のネットワークから分離された1つ以上のノード |
このノードはネットワークから分離されているようです。クラスターで見られる他のメンバーは次のとおりです:node_name |
ノードはクラスター*cluster_name* のネットワークから分離されなくなりました。 |
このノードは、ネットワークから分離されなくなりました。 |
スタンバイエージェントが昇格しようとしましたが、プライマリDBはまだ実行中です |
スタンバイEFMエージェントはそれ自体をプロモートしようとしましたが、プライマリDBが*node_address* でまだ実行されていることを検出しました。これは通常、プライマリEFMエージェントが終了したことを示しています。フェイルオーバーは発生していません。 |
スタンバイエージェントの昇格が開始されましたが、プライマリエージェントが再び参加しました。 |
スタンバイEFMエージェントはそれ自体の昇格を開始しましたが、プライマリエージェントがクラスターに再参加したことがわかりました。フェイルオーバーは発生していません。 |
スタンバイエージェントは昇格しようとしましたが、プライマリDBを確認できませんでした |
スタンバイEFMエージェントはそれ自体をプロモートしようとしましたが、プライマリデータベースがまだ*node_address* で実行されているかどうかを検出できませんでした。フェイルオーバーは発生していません。 |
スタンバイエージェントは昇格しようとしましたが、VIPはまだ割り当てられているようです |
スタンバイEFMエージェントは自身を昇格しようとしましたが、仮想IPアドレス(VIP_address )がまだ別のノードに割り当てられているように見えるため、できませんでした。このような状況で昇格すると、データが破損する可能性があります。フェイルオーバーは発生していません。 |
スタンバイエージェントは昇格しようとしましたが、孤立しているようです |
スタンバイEFMエージェントは自身を昇格させようとしましたが、既知のサーバー(server_address )に到達できなかったためできませんでした。これは通常、スタンバイエージェントを他のエージェントから分離したネットワークの問題を示しています。フェイルオーバーは発生していません。 |
クラスター*cluster_name* で潜在的な手動フェールオーバーが必要です。 |
クラスター*cluster_name* の潜在的なフェールオーバー状況が検出されました。このクラスターでは自動フェイルオーバーが無効になっているため、手動での介入が必要です。 |
クラスター*cluster_name* でフェイルオーバーが完了しました |
クラスター*cluster_name* でフェイルオーバーが完了しました。 |
クラスター*cluster_name* のロックファイルが削除されました |
クラスター*cluster_name*のロックファイルは、ノード*node_address*の*path_name* から削除されました。このロックは、複数のエージェントが同じノード上の同じクラスターを監視することを防ぎます。このファイルを復元して、クラスターの別のエージェントを誤って起動しないようにしてください。 |
クラスター*cluster_name* の回復ファイルがプライマリノードで見つかりました |
クラスター*cluster_name*の回復ファイルが、プライマリノード*node_address*の*path_name* で見つかりました。このノードでDBを再起動しようとすると、これは問題になる可能性があります。 |
リカバリ設定でrecovery_target_timelineが最新に設定されていません |
recovery_target_timelineパラメーターは、リカバリー設定で最新に設定されていません。スタンバイサーバーは、新しいプライマリが昇格したときに発生するタイムラインの変更を追跡できません。 |
クラスター*cluster_name* のプロモーションは発生していません |
昇格が試みられましたが、すでに昇格されているノードがあります:ip_address 。 |
クラスター*cluster_name* のフェールオーバー後にスタンバイが再構成されない |
このノードのauto.reconfigureプロパティはfalseに設定されています。ノードは、フェイルオーバー後に新しいプライマリノードを追跡するように再構成されていません。 |
スタンバイ*standby_id* の再生を再開できませんでした。 |
スタンバイの再生を再開できませんでした。手動による介入が必要になる場合があります。エラー:error_message 。 |
データベースのタイムアウト値で起こりうる問題 |
remote.timeoutの値(value)は、local.timeoutの値(value )よりも大きくなっています。ローカルデータベースが応答するのに時間がかかりすぎる場合、ローカルエージェントは、他のエージェントは接続できてもデータベースに障害が発生したと想定できます。これによりフェイルオーバーは発生しませんが、ローカルエージェントが監視を停止し、フェイルオーバーが保護されない可能性があります。 |
クラスター*cluster_name* でプロモーションに使用できるスタンバイはありません |
クラスター内の現在のスタンバイノードの数は、最小数*number* に低下しています。別のスタンバイノードを追加または昇格可能にしない限り、フェールオーバーはありません。 |
クラスター*cluster_name* のプロモーション可能なスタンバイはありません |
クラスタ内の現在のフェールオーバー優先順位リストは空です。クラスター*cluster_name* の唯一の昇格可能なスタンバイを削除しました。別の昇格可能なスタンバイノードを追加するか、フェイルオーバー優先順位リストに追加して昇格可能にしない限り、フェイルオーバーはありません。 |
クラスター*cluster_name* の同期レプリケーションが再構成されました |
クラスター内の同期スタンバイノードの数が*number*を下回りました。プライマリの同期スタンバイ名は、newsynchronous_standby_namesvalue に再構成されました。 |
クラスター*cluster_name* の同期レプリケーションが再構成されました |
プライマリのsynchronous_standby_namesは*new_synchronous_standby_names* に再構成されました |
クラスター*cluster_name* の同期レプリケーションは無効になっています。 |
クラスター内の同期スタンバイノードの数が*count* を下回りました。プライマリは同期レプリケーションモードから除外されました。 |
データベース構成を再ロードできませんでした。 |
データベース構成を再ロードできませんでした。手動による介入が必要です。エラー:error_message 。 |
クラスター*cluster_name* のカスタムモニタータイムアウト |
次のカスタム監視スクリプトがタイムアウトしました:script_name |
クラスター*cluster_name* のカスタムモニター「セーフモード」エラー |
次のカスタムモニタースクリプトは失敗しましたが、「セーフモード」で実行されています:script_name。出力:script_results |
primary.shutdown.as.failure プライマリノードに対してtrueに設定 |
このクラスターの*primary.shutdown.as.failure* プロパティーがtrueに設定されています。クラスタ全体を停止せずにプライマリエージェントを停止すると、クラスタの残りの部分では、プライマリエージェントの即時の障害として扱われます。プライマリデータベースでメンテナンスが必要な場合は、プライマリエージェントをシャットダウンし、フェールオーバーが発生しないという残りのノードからの通知を待ちます。 |
Primary_or_Standby*はクラスター*cluster_name のローカルデータベースにpingできません |
Primary_or_Standby*エージェントは、*node_address で実行されているローカルデータベースに到達できなくなりました。他のノードはデータベースにリモートでアクセスできるため、エージェントはIDLEになり、データベースの監視を再開しようとします。 |
スタンバイはクラスタ*cluster_name* のローカルデータベースの監視を再開できません |
スタンバイエージェントは、node_address で実行されているローカルデータベースに到達できなくなりました。他のノードは、データベースにリモートでアクセスできます。データベースの監視を再開するために再開コマンドが実行されるまで、スタンバイエージェントはIDLEのままになります。 |
以下の表にリストされている条件は、SEVERE 通知をトリガーします。
Subject |
Description |
|---|---|
スタンバイデータベースは再起動しましたが、EFMは接続できません |
データベースの開始または再起動コマンドは正常に実行されましたが、データベースは接続を受け入れていません。EFMは、restart.connection.timeout 秒まで接続を試行し続けます。 |
node_address でDBに接続できません |
最大接続制限に達しました。 |
node_address でDBに接続できません |
db.user=/user_name のパスワードが無効です。 |
node_address でDBに接続できません |
許可の指定が無効です。 |
プライマリはクラスタ*cluster_name* のローカルデータベースの監視を再開できません |
プライマリエージェントは、node_address で実行されているローカルデータベースにアクセスできなくなりました。他のノードはデータベースにリモートでアクセスできるため、プライマリはVIPを解放したり、recovery.confファイルを作成したりしません。プライマリエージェントは、再開コマンドを実行してデータベースの監視を再開するまでIDLEのままになります。 |
フェンシングスクリプトエラー |
フェンシングスクリプト*script_name*は正常に実行できませんでした。終了値:exit_code*結果:*script_results フェイルオーバーは発生していません。 |
プロモーション後のスクリプトが失敗しました |
プロモーション後スクリプト*script_name*は正常に実行できませんでした。終了値:exit_code*結果:*script_results |
リモートポストプロモーションスクリプトが失敗しました |
リモートポストプロモーションスクリプト*script_name*は正常に実行できませんでした終了値:exit_code*結果:*script_results ノード:node_address |
リモート事前プロモーションスクリプトが失敗しました |
リモート事前プロモーションスクリプト*script_name*の実行に失敗しました終了値:exit_code*結果:*script_results ノード:node_address |
データベース障害後スクリプトエラー |
ポストデータベースエラースクリプト*script_name*は正常に実行できませんでした。終了値:exit_code*結果:*script_results |
エージェントがスクリプトエラーを再開しました |
エージェント再開スクリプト*script_name*は正常に実行できませんでした。結果:script_results |
プライマリ分離スクリプトが失敗しました |
プライマリ分離スクリプト*script_name*は正常に実行できませんでした。終了値:exit_code*結果:*script_results |
スタンバイを昇格できませんでした |
ノードでプロモートコマンドが失敗しました。スタンバイを昇格できませんでした。エラーの詳細:error_details |
クラスター*cluster_name*の*node_address* でrecovery.confファイルを作成中にエラーが発生しました |
プロモーション中にプライマリノード*node_address*でrecovery.confファイルを作成中にエラーが発生しました。プロモーションは継続しましたが、古いプライマリノードを再起動できないようにするには手動での介入が必要です。エラーの詳細:message_details |
クラスター*cluster_name* で予期しないエラーが発生しました |
このノードで予期しないエラーが発生しました。詳細については、エージェントログを確認してください。エラー:error_details |
クラスター*cluster_name* で隔離されているプライマリデータベース |
プライマリデータベースは、クラスターの大部分から分離されています。クラスターは、フェールオーバーマネージャークラスターの残りの部分がスタンバイを昇格するときに2つのプライマリを防ぐために、プライマリデータベースをフェンスするように*ip_address* のプライマリエージェントに指示しています。 |
隔離されたプライマリデータベースのシャットダウン。 |
分離されたプライマリデータベースは、フェールオーバーマネージャーによってシャットダウンされました。 |
クラスター*cluster_name* で隔離されているプライマリデータベース |
プライマリデータベースは、クラスターの大部分から分離されています。プライマリが分離の検出を完了する前に、スタンバイが昇格され、クラスター内のこのノードに再参加しました。このノードは、複数のプライマリデータベースを回避するために自身を分離しています。 |
ノード*node_address* にVIPを割り当てることができませんでした |
フェールオーバーマネージャーは、何らかの理由でVIPアドレスを割り当てることができませんでした。 |
primary_or_standby*クラスター*cluster_name のデータベース障害 |
指定されたノードでデータベースに障害が発生しました。 |
クラスター*cluster_name* のエージェントがタイムアウトしています |
このエージェントは、ローカルデータベースにアクセスしようとしてタイムアウトしました。タイムアウト後、エージェントはデータベースに正常にpingでき、監視を再開しました。ただし、データベースまたはエージェントの障害の可能性を防ぐため、ノードが正常に実行されていることを確認するためにノードをチェックする必要があります。 |
クラスター*cluster_name* のタイムアウトが再開しました |
このエージェントは、ローカルデータベースを再構成して再起動した後、監視を再開できませんでした。詳細については、エージェントログを参照してください。 |
クラスター*cluster_name* の内部状態の不一致 |
フェールオーバーマネージャークラスターの内部状態は、クラスターメンバーの実際の状態と一致しませんでした。これはまれであり、ノードがクラスターに参加したり、状態を変更したりするタイミングの問題が原因である可能性があります。問題を解決する必要がありますが、クラスターの状態も確認して確認する必要があります。不一致の詳細は、エージェントログファイルで確認できます。 |
フェールオーバーは発生していません |
エージェントは、プライマリデータベースがクラスター*cluster_name* で使用できなくなったが、フェールオーバーに使用できるスタンバイノードがないことを検出しました。 |
node_address で誤った状態のデータベース |
スタンバイエージェントは、ローカルデータベースが回復中でないことを検出しました。エージェントはアイドル状態になります。手動による介入が必要です。 |
node_address で誤った状態のデータベース |
プライマリエージェントは、ローカルデータベースが回復中であることを検出しました。エージェントはアイドル状態になります。手動による介入が必要です。 |
クラスタ*cluster_name* のデータベース接続エラー |
このノードは、node_address で実行されているデータベースに接続できません これが修正されるまで、このノードはデータベースが実行されているかどうかをチェックできないため、フェイルオーバーが適切に機能しない場合があります。 |
クラスター*cluster_name* のスタンバイカスタムモニターエラー |
次のカスタム監視スクリプトは、スタンバイノードで失敗しました。エージェントはローカルデータベースの監視を停止します。スクリプトの場所:script_name*スクリプト出力:*script_results |
クラスター*cluster_name* のプライマリカスタムモニターエラー |
次のカスタム監視スクリプトは、プライマリノードで失敗しました。EFMはスタンバイの昇格を試みます。スクリプトの場所:script_name*スクリプト出力:*script_results |
ping.server.ip に設定されたループバックアドレス |
ループバックアドレスは、ping.server.ip プロパティに設定されます。この設定はネットワーク分離の検出に干渉する可能性があるため、変更する必要があります。 |
ロードバランサー接続スクリプトエラー |
ロードバランサー接続スクリプト*script_name*を正常に実行できませんでした。終了値:exit_code*結果:*script_results |
ロードバランサーデタッチスクリプトエラー |
ロードバランサデタッチスクリプト*script_name*が正常に実行されませんでした。終了値:exit_code*結果:*script_results |
Pgpool接続ノードエラー |
フェールオーバーマネージャーはpgpoolノードの接続に失敗しました。終了値:exit_code。結果:script_results |
Pgpoolノードの切断エラー |
フェールオーバーマネージャーはpgpoolノードの切断に失敗しました。終了値:exit_code。結果:script_results |
クラスター*cluster_name* で使用可能な同期スタンバイが不足しています。 |
クラスター内の同期スタンバイノードの数が*count* に減少しました。プライマリ上のすべての書き込みクエリは、十分な同期スタンバイノードが追加されるまでブロックされます。 |