通知

フェールオーバーマネージャーは、クラスターに影響する重要なイベントが発生すると、電子メール通知を送信したり、通知スクリプトを呼び出したりします。電子メール通知を送信するようにフェールオーバーマネージャーを構成した場合は、クラスターの各ノードのポート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アドレスと状態が表示されます。

フェールオーバーマネージャーは、各通知に重大度レベルを割り当てます。次のレベルは、必要な注意のレベルが高まることを示しています。

INFOは、エージェントに関する情報メッセージを示しており、手動による介入は不要です(たとえば、フェールオーバーマネージャーが起動または停止した)。

WARNINGは、管理者がシステムをチェックする必要があるイベントが発生したことを示します(たとえば、フェールオーバーが発生しました)。

SEVEREは、重大なイベントが発生したことを示し、管理者の即時の注意が必要です(たとえば、フェイルオーバーが試行されましたが、完了できませんでした)。

重大度レベルは、通知の緊急度を指定します。重大度レベルがSEVERE通知は、すぐにユーザーの注意を必要としますが、重大度レベルがINFO通知は、ユーザーのアクションを必要としないクラスターに関する操作情報に注意を喚起します。通知の重大度レベルはログレベルとは関係ありません。すべての通知は、構成ファイルで指定されたログレベルの詳細に関係なく送信されます。

notification.levelプロパティーを使用して、 通知をトリガーする最小の重大度レベルを指定できます。

注:管理用メールアドレスに通知を送信することに加えて、すべての通知はクラスターログファイル( /var/log/efm-3.6/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の割り当て script_results:NODE_ADDRESS結果をノードするVIP VIP_addressの割り当て
ノードnode_addressからのVIPの解放 script_results:ノードNODE_ADDRESS結果からVIP VIP_addressを解除
クラスターcluster_nameの自動再開チェックを開始しています このノード上のエージェントは、 auto.resume.period秒ごとにチェックして、 障害が発生したデータベースの監視を再開できるかどうかを確認します。この時間中にクラスタを確認し、データベースが再び起動しない場合はエージェントを停止する必要があります。詳細については、エージェントログを参照してください。
実行されたエージェント再開スクリプト実行されたエージェントはスクリプトscript_nameを再開しました結果: script_results

次の表にリストされている条件は、 警告レベルの通知をトリガーします。

件名説明
クラスター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のクラスターにスタンバイエージェントがありません 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つ以上のノードこのノードはネットワークから分離されているようです。クラスターで見られる他のメンバーは次のとおりです。
ノードはクラスター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.confでrecovery_target_timelineが最新に設定されていません recovery.confファイルで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値( 値 ) は 、あなたのlocal.timeout値( 値 )よりも高くなっています。ローカルデータベースの応答に時間がかかりすぎる場合、ローカルエージェントは、他のエージェントは接続できてもデータベースに障害が発生したと想定できます。これによりフェイルオーバーは発生しませんが、ローカルエージェントが監視を停止する可能性があり、フェイルオーバー保護がなくなります。
クラスターcluster_nameでプロモーションに使用できるスタンバイがありません 番号 :クラスタ内のスタンバイノードの現在の数が最小数に低下しました。別のスタンバイノードを追加または昇格可能にしない限り、フェールオーバーはありません。
クラスターcluster_nameのカスタムモニタータイムアウト次のカスタム監視スクリプトがタイムアウトしました: script_name
クラスターcluster_nameのカスタムモニター「セーフモード」エラー次のカスタムモニタースクリプトは失敗しましたが、「セーフモード」で実行されています: script_name 。出力: script_results

以下の表にリストされている条件は、 重大な通知をトリガーします。

件名説明
スタンバイデータベースは再起動しましたが、EFMは接続できませんデータベースの開始または再起動コマンドは正常に実行されましたが、データベースは接続を受け入れていません。 EFMは最大restart.connection.timeout秒間接続を試行し続けます。
node_addressで DBに接続できません最大接続制限に達しました。
node_addressで DBに接続できません db.user = user_nameのパスワードが無効です。
node_addressで DBに接続できません許可の指定が無効です。
マスターはクラスター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のマスターエージェントにmasterデータベースを隔離して2つのマスターを防ぐように指示しています。
分離されたmasterデータベースのシャットダウン。 分離されたmasterデータベースは、フェールオーバーマネージャーによってシャットダウンされました。
クラスターcluster_nameのマスターデータベースがフェンスされていますマスターデータベースは、クラスターの大部分から分離されています。マスターが分離の検出を完了する前に、スタンバイが昇格され、クラスター内のこのノードに再参加しました。このノードは、複数のマスターデータベースを回避するために自身を分離しています。
ノードnode_addressにVIPを割り当てることができませんでしたフェールオーバーマネージャーは、何らかの理由でVIPアドレスを割り当てることができませんでした。
クラスターcluster_nameの master_or_standbyデータベース障害指定されたノードでデータベースに障害が発生しました。
クラスタ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

マスターノードのproperty_nameをtrueに設定 property_nameプロパティは、このクラスターに対してtrueに設定されています。クラスター全体を停止せずにマスターエージェントを停止すると、クラスターの残りの部分は直ちにマスターエージェントの障害として処理されます。マスターデータベースのメンテナンスが必要な場合は、マスターエージェントをシャットダウンし、フェールオーバーが発生しないという残りのノードからの通知を待ちます。
ロードバランサー接続スクリプトエラーロードバランサー接続スクリプトscript_nameを正常に実行できませんでした。終了値: exit_code結果: script_results
ロードバランサーデタッチスクリプトエラーロードバランサーデタッチスクリプトscript_nameの実行に失敗しました。終了値: exit_code結果: script_results