通知¶
フェールオーバーマネージャーは、クラスターに影響する重要なイベントが発生すると、電子メール通知を送信したり、通知スクリプトを呼び出したりします。電子メール通知を送信するようにフェールオーバーマネージャーを構成した場合は、クラスターの各ノードでポート25で実行されているSMTPサーバーが必要です。次のパラメーターを使用して、フェールオーバーマネージャーの通知動作を構成します。
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は、エージェントに関する情報メッセージを示しており、手動による介入は必要ありません(たとえば、フェールオーバーマネージャーが起動または停止した)。
WARNINGは、管理者がシステムをチェックする必要があるイベントが発生したことを示します(たとえば、フェールオーバーが発生しました)。
SEVEREは、重大なイベントが発生し、管理者の即時の注意が必要であることを示します(たとえば、フェールオーバーが試行されましたが、完了できませんでした)。
重大度レベルは、通知の緊急度を指定します。重大度レベルが SEVERE の通知はすぐにユーザーの注意を必要としますが、重大度レベルが INFO の通知はユーザーのアクションを必要としないクラスターに関する操作情報に注意を喚起します。通知の重大度レベルはログレベルとは関係ありません。構成ファイルで指定されたログレベルの詳細に関係なく、すべての通知が送信されます。
notification.levelを使用できます 通知をトリガーする最小の重大度レベルを指定するプロパティ。
注意:管理用メールアドレスへの通知の送信に加えて、すべての通知はクラスターログファイル( /var/log/efm-3.8/cluster_name.log )に記録されます。
以下の表にリストされている条件は、 INFO レベルの通知をトリガーします。
件名 |
説明 |
|---|---|
実行されたフェンシングスクリプト |
実行されたフェンシングスクリプト* 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 *ディレクトリにバックアップされました。このバックアップは、ディスク領域を解放するのに都合が良いときに削除する必要があります。 |
以下の表にリストされている条件は、*警告*レベルの通知をトリガーします。
件名 |
説明 |
|---|---|
クラスター* 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アドレスは、非マスターノードに割り当てられているようです。競合を避けるため、フェールオーバーマネージャーはVIPを解放します。 VIPがマスターノードに割り当てられていることを確認し、割り当てられていない場合は手動でアドレスを再割り当てする必要があります。 |
マスターノードに割り当てられていない仮想IPアドレス。 |
仮想IPアドレスがマスターノードに割り当てられていないようです。 EDB Postgres Failover ManagerはVIPの再取得を試みます。 |
クラスター* cluster_name *のクラスターにスタンバイエージェントがありません |
The standbys on cluster_name have left the cluster. |
クラスター* cluster_name *のスタンバイエージェントが失敗しました |
A standby agent on cluster_name has left the cluster, but the coordinator has detected that the standby database is still running. |
クラスター* cluster_name *のスタンバイデータベースが失敗しました |
スタンバイエージェントは、データベースに障害が発生したことを通知しました。他のノードもスタンバイデータベースに到達できません。 |
スタンバイエージェントはクラスタ* cluster_name *のデータベースに到達できません |
スタンバイエージェントがデータベース障害を通知しましたが、他のノードはスタンバイデータベースがまだ実行中であることを検出しました。 |
クラスター* cluster_name *は3つのノードより下にドロップしました |
完全なフェイルオーバー保護には、少なくとも3つのノードが必要です。監視ノードまたはエージェントノードをクラスターに追加してください。 |
クラスター* cluster_name *のサブセットがマスターから切断されました |
このノードは、クラスターの大部分* cluster_name に接続されなくなりました。このノードはクラスターのサブセットの一部であるため、フェールオーバーは試行されません。表示される現在のノードは次のとおりです。 node_address * |
クラスター* cluster_name *でプロモーションが開始されました。 |
クラスター* cluster_name *でスタンバイのプロモーションが開始されました。 |
クラスター* cluster_name *の監視エラー |
Witness running at node_address has left the cluster. |
クラスター* cluster_name *のアイドルエージェント障害。 |
Idle agent running at node_address has left the cluster. |
クラスタ* cluster_name *のネットワークから分離された1つ以上のノード |
このノードはネットワークから分離されているようです。クラスターで見られる他のメンバーは次のとおりです:* node_name * |
ノードはクラスター* cluster_name *のネットワークから分離されなくなりました。 |
このノードは、ネットワークから分離されなくなりました。 |
スタンバイエージェントが昇格しようとしましたが、マスターDBはまだ実行中です |
スタンバイEFMエージェントは自身を昇格しようとしましたが、マスターDBが* node_address *でまだ実行されていることを検出しました。これは通常、マスターEFMエージェントが終了したことを示します。フェイルオーバーは発生していません。 |
スタンバイエージェントが昇格を開始しましたが、マスターが再参加しました。 |
スタンバイEFMエージェントは自身の昇格を開始しましたが、マスターエージェントがクラスターに再参加していることがわかりました。フェイルオーバーは発生していません。 |
スタンバイエージェントは昇格しようとしましたが、マスターDBを確認できませんでした |
スタンバイEFMエージェントは自身を昇格しようとしましたが、マスターDBが* node_address *でまだ実行されているかどうかを検出できませんでした。フェイルオーバーは発生していません。 |
スタンバイエージェントは昇格しようとしましたが、VIPはまだ割り当てられているようです |
スタンバイEFMエージェントは自身を昇格しようとしましたが、仮想IPアドレス(* VIP_address *)がまだ別のノードに割り当てられているように見えるため、できませんでした。このような状況で昇格すると、データが破損する可能性があります。フェイルオーバーは発生していません。 |
スタンバイエージェントが昇格しようとしましたが、孤立しているようです |
スタンバイEFMエージェントは自身を昇格させようとしましたが、既知のサーバー(* server_address *)に到達できなかったためできませんでした。これは通常、スタンバイエージェントを他のエージェントから分離したネットワークの問題を示しています。フェイルオーバーは発生していません。 |
フェールオーバーは発生していません |
エージェントは、マスターデータベースがクラスター* cluster_name *で使用できなくなったことを検出しましたが、フェールオーバーに使用できるスタンバイノードがありません。 |
クラスター* cluster_name *で潜在的な手動フェールオーバーが必要です。 |
クラスター* cluster_name *の潜在的なフェイルオーバー状況が検出されました。このクラスターでは自動フェイルオーバーが無効になっているため、手動による介入が必要です。 |
クラスター* cluster_name *でフェイルオーバーが完了しました |
クラスター* cluster_name *でフェイルオーバーが完了しました。 |
クラスター* cluster_name *のロックファイルが削除されました |
クラスター* cluster_name のロックファイルは、ノード node_address の path_name *から削除されました。このロックは、複数のエージェントが同じノード上の同じクラスターを監視することを防ぎます。このファイルを復元して、クラスターの別のエージェントを誤って起動しないようにしてください。 |
クラスター* cluster_name *のrecovery.confファイルがマスターノードで見つかりました |
クラスター* cluster_name のrecovery.confファイルは、マスターノード node_address の path_name *で見つかりました。このノードでDBを再起動しようとすると、これは問題になる可能性があります。 |
リカバリ設定でrecovery_target_timelineが最新に設定されていません |
recovery_target_timelineパラメーターは、リカバリー設定で最新に設定されていません。スタンバイサーバーは、新しいマスターが昇格したときに発生するタイムラインの変更を追跡できません。 |
recovery.confで指定されたtrigger_fileパスは書き込み可能ではありません |
recovery.confファイルのtrigger_fileパラメータに指定されたパスは、* db_service_owner *ユーザーによって書き込み可能ではありません。フェールオーバーマネージャーは、必要に応じてデータベースを昇格できません。 |
クラスター* cluster_name *のプロモーションは発生していません |
プロモーションが試行されましたが、すでにプロモーション中のノードがあります:* ip_address *。 |
クラスター* cluster_name *のフェールオーバー後にスタンバイが再構成されない |
このノードのauto.reconfigureプロパティはfalseに設定されています。ノードは、フェールオーバー後に新しいマスターノードに従うように再構成されていません。 |
クラスター* cluster_name *の再生を再開できませんでした |
昇格中のスタンバイの再生を再開できませんでした。手動による介入が必要になる場合があります。エラー:* error_decription *このエラーは、スタンバイの昇格中に再生を呼び出すときにサーバーでエラーが発生した場合に返されます。 |
スタンバイ* standby_id *の再生を再開できませんでした。 |
スタンバイの再生を再開できませんでした。手動による介入が必要になる場合があります。エラー:* error_message *。 |
データベースのタイムアウト値で起こりうる問題 |
remote.timeout値(* value )はlocal.timeout値( value *)よりも大きいです。ローカルデータベースの応答に時間がかかりすぎる場合、ローカルエージェントは、他のエージェントは接続できてもデータベースに障害が発生したと想定できます。これによりフェイルオーバーは発生しませんが、ローカルエージェントが監視を停止する可能性があり、フェイルオーバー保護がなくなります。 |
クラスター* cluster_name *でプロモーションに使用できるスタンバイはありません |
クラスター内のスタンバイノードの現在の数は、最小数* number *に低下しています。別のスタンバイノードを追加するか、プロモーション可能にしない限り、フェールオーバーはありません。 |
クラスター* cluster_name *で使用可能な同期スタンバイが不足しています。 |
クラスター内の同期スタンバイノードの数が* count *に低下しました。十分な同期スタンバイノードが追加されるまで、マスターに対するすべての書き込みクエリはブロックされます。 |
クラスター* cluster_name *の同期レプリケーションは無効になっています。 |
クラスター内の同期スタンバイノードの数が* count *を下回りました。マスターは同期複製モードから解除されました。 |
データベース構成を再ロードできませんでした。 |
データベース構成を再ロードできませんでした。手動による介入が必要です。エラー:* error_message *。 |
クラスター* cluster_name *のカスタムモニタータイムアウト |
次のカスタム監視スクリプトがタイムアウトしました:* script_name * |
クラスター* cluster_name *のカスタムモニター``セーフモード``エラー |
次のカスタムモニタースクリプトは失敗しましたが、``セーフモード``で実行されています:* script_name 。出力: script_results * |
以下の表にリストされている条件は、* SEVERE *通知をトリガーします。
件名 |
説明 |
|---|---|
フェールオーバーマネージャーは、必要に応じてデータベースを昇格できません。 |
|
スタンバイデータベースは再起動しましたが、EFMは接続できません |
データベースの開始または再起動コマンドは正常に実行されましたが、データベースは接続を受け入れていません。 EFMは、* restart.connection.timeout *秒まで接続を試行し続けます。 |
Unable to connect to DB on node_address |
最大接続制限に達しました。 |
Unable to connect to DB on node_address |
db.user = / * user_name *のパスワードが無効です。 |
Unable to connect to DB on node_address |
許可の指定が無効です。 |
マスターはクラスター* cluster_name *のローカルデータベースにpingできません |
マスターエージェントは、* node_address。*で実行されているローカルデータベースにアクセスできなくなります。他のノードはデータベースにリモートでアクセスできるため、マスターはVIPを解放したり、recovery.confファイルを作成したりしません。データベースの監視を再開するために再開コマンドが実行されるまで、マスターエージェントはアイドル状態になります。 |
フェンシングスクリプトエラー |
フェンシングスクリプト* 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 * |
スタンバイを昇格できませんでした |
トリガーファイル* file_name をノードで作成できませんでした。スタンバイを昇格できませんでした。エラーの詳細: message_details * |
クラスター* cluster_name の node_address *でrecovery.confファイルを作成中にエラーが発生しました |
昇格中にマスターノード* node_address でrecovery.confファイルを作成中にエラーが発生しました。昇格は継続しましたが、古いマスターノードを再起動できないようにするには手動での介入が必要です。エラーの詳細: message_details * |
クラスター* cluster_name *で予期しないエラーが発生しました |
このノードで予期しないエラーが発生しました。詳細については、エージェントログを確認してください。エラー:* error_details * |
クラスター* cluster_name *のために隔離されているマスターデータベース |
マスターデータベースは、クラスターの大部分から分離されています。クラスターは、* ip_address *のマスターエージェントに、残りのフェールオーバーマネージャークラスターがスタンバイを昇格するときに2つのマスターを防ぐためにmasterデータベースをフェンスするように指示しています。 |
分離されたmasterデータベースのシャットダウン。 |
分離されたmasterデータベースは、フェールオーバーマネージャーによってシャットダウンされました。 |
クラスター* cluster_name *のために隔離されているマスターデータベース |
マスターデータベースは、クラスターの大部分から分離されています。マスターが分離の検出を完了する前に、スタンバイが昇格され、クラスター内のこのノードに再参加しました。このノードは、複数のマスターデータベースを回避するために自身を分離しています。 |
ノード* node_address *にVIPを割り当てることができませんでした |
フェールオーバーマネージャーは、何らかの理由でVIPアドレスを割り当てることができませんでした。 |
クラスタ* cluster_name の master_or_standby *データベース障害 |
指定されたノードでデータベースに障害が発生しました。 |
クラスター* cluster_name *のエージェントがタイムアウトしています |
このエージェントは、ローカルデータベースにアクセスしようとしてタイムアウトしました。タイムアウト後、エージェントはデータベースに正常にpingでき、監視を再開しました。ただし、データベースまたはエージェントの障害の可能性を防ぐために、ノードが正常に実行されていることを確認するためにノードをチェックする必要があります。 |
クラスター* cluster_name *のタイムアウトが再開しました |
このエージェントは、ローカルデータベースを再構成して再起動した後、監視を再開できませんでした。詳細については、エージェントログを参照してください。 |
クラスター* cluster_name *の内部状態の不一致 |
フェールオーバーマネージャークラスターの内部状態は、クラスターメンバーの実際の状態と一致しませんでした。これはまれで、ノードがクラスターに参加したり、状態を変更したりするタイミングの問題が原因で発生する可能性があります。問題を解決する必要がありますが、クラスターの状態も確認して確認する必要があります。不一致の詳細は、エージェントログファイルで確認できます。 |
フェールオーバーは発生していません |
エージェントがマスターデータベースを検出しました クラスタ* cluster_name *では使用できなくなりましたが、フェールオーバーに使用できるスタンバイノードが十分ではありません。 |
Database in wrong state on node_address |
スタンバイエージェントは、ローカルデータベースが回復中でないことを検出しました。エージェントはアイドル状態になります。手動による介入が必要です。 |
Database in wrong state on node_address |
マスターエージェントは、ローカルデータベースが回復中であることを検出しました。エージェントはアイドル状態になります。手動による介入が必要です。 |
クラスター* cluster_name *のデータベース接続エラー |
このノードは、* node_address *で実行されているデータベースに接続できません これが修正されるまで、このノードはデータベースが実行されているかどうかをチェックできないため、フェイルオーバーが正しく機能しない場合があります。 |
クラスター* cluster_name *のスタンバイカスタムモニターエラー |
次のカスタム監視スクリプトは、スタンバイノードで失敗しました。
エージェントはローカルデータベースの監視を停止します。
スクリプトの場所:* script_name * スクリプト出力:* script_results * |
クラスター* cluster_name *のマスターカスタムモニターエラー |
次のカスタム監視スクリプトは、マスターノードで失敗しました。 EFMはスタンバイの昇格を試みます。
スクリプトの場所:* script_name *
スクリプト出力:* script_results * |
リカバリ設定で指定された* trigger_file *パスは書き込み不可です。 |
リカバリ設定でトリガーファイルパラメータに指定されたパスは、* cluster_name *ユーザーによって書き込み可能ではありません。 |
property_name set to true for master node |
The property_name property has been set to true for this cluster. Stopping the master agent without stopping the entire cluster will be treated by the rest of the cluster as an immediate master agent failure. If maintenance is required on the master database, shut down the master agent and wait for a notification from the remaining nodes that failover will not happen. |
ロードバランサー接続スクリプトエラー |
ロードバランサー接続スクリプト* script_name の実行に失敗しました。終了値: exit_code 結果: script_results * |
ロードバランサーデタッチスクリプトエラー |
ロードバランサデタッチスクリプト* script_name の実行に失敗しました。終了値: exit_code 結果: script_results * |