通知¶
|variable_prod_name|クラスターに影響を与える重要なイベントが発生すると、電子メール通知を送信したり、通知スクリプトを呼び出したりします。|variable_prod_name|を設定した場合電子メール通知を送信するには、クラスターの各ノードのポート25でSMTPサーバーを実行している必要があります。次のパラメーターを使用して、|variable_prod_name|の通知動作を構成します。
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アドレスと状態を表示します。
|variable_prod_name|各通知に重大度レベルを割り当てます。次のレベルは、必要な注意のレベルが増加していることを示しています。
INFOはエージェントに関する情報メッセージを示し、手動による介入は必要ありません(たとえば、|variable_prod_name|が開始または停止しました)。
WARNINGは、管理者がシステムを確認する必要があるイベントが発生したことを示します(たとえば、フェイルオーバーが発生した)。
SEVEREは、重大なイベントが発生し、管理者の即時の注意が必要であることを示します(たとえば、フェイルオーバーが試行されたが、完了できなかった)。
重大度レベルは、通知の緊急度を指定します。重大度が SEVERE の通知は、ユーザーの注意をすぐに必要としますが、重大度が INFO の通知は、ユーザーのアクションを必要としないクラスターの運用情報に注意を喚起します。通知の重大度レベルは、ロギングレベルとは関係ありません。構成ファイルで指定されたログレベルの詳細に関係なく、すべての通知が送信されます。
:ref:`notification.levelを使用できます<notification.level>`通知をトリガーする最小の重大度レベルを指定するプロパティ。
注意: :管理用メールアドレスへの通知の送信に加えて、すべての通知はクラスターログファイル( /var/log/efm-3.10/<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アドレスが非マスターノードに割り当てられているようです。競合を回避するには、|variable_prod_name|VIPをリリースします。VIPがマスターノードに割り当てられていることを確認し、割り当てられていない場合は手動でアドレスを再割り当てする必要があります。 |
仮想IPアドレスがマスターノードに割り当てられていません。 |
仮想IPアドレスがマスターノードに割り当てられていないようです。EDBPostgres|variable_prod_name|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つ以上のノード |
このノードはネットワークから分離されているようです。クラスターに表示されるその他のメンバーは次のとおりです: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パラメーターが最新に設定されていません。スタンバイサーバーは、新しいマスターが昇格したときに発生するタイムラインの変更を追跡できません。 |
クラスター*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*の昇格可能なスタンバイはありません |
クラスタ内の現在のフェイルオーバー優先度リストが空です。クラスター*cluster_name*の唯一の昇格可能なスタンバイを削除しました。別の昇格可能なスタンバイノードが追加されるか、フェイルオーバー優先度リストに追加されて昇格可能にならない限り、フェイルオーバーはありません。 |
クラスター*cluster_name*の同期レプリケーションは無効になっています。 |
クラスター内の同期スタンバイノードの数が*カウント*を下回りました。マスターは同期複製モードから抜けています。 |
データベース構成を再ロードできませんでした。 |
データベース構成を再ロードできませんでした。手動による介入が必要です。エラー:error_message。 |
クラスター*cluster_name*のカスタムモニタータイムアウト |
次のカスタム監視スクリプトがタイムアウトしました:script_name |
クラスター*cluster_name*のカスタムモニター``セーフモード``の失敗 |
次のカスタム監視スクリプトは失敗しましたが、/"セーフモード/"で実行されています:script_name。出力:script_results |
以下の表にリストされている条件により、*SEVERE*通知がトリガーされます。
件名 |
説明 |
|---|---|
|variable_prod_name|必要に応じて、データベースを昇格できません。 |
|
スタンバイデータベースが再起動されましたが、EFMは接続できません |
データベースのstartまたはrestartコマンドは正常に実行されましたが、データベースは接続を受け入れていません。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ファイルを作成したりしません。マスターエージェントは、resumeコマンドを実行してデータベースの監視を再開するまでアイドル状態になります。 |
フェンシングスクリプトエラー |
フェンシングスクリプト*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*で隔離されているマスターデータベース |
masterデータベースは、クラスターの大部分から分離されています。クラスターは、*ip_address*にあるマスターエージェントに、マスターデータベースを隔離して、フェイルオーバーマネージャークラスターの残りの部分がスタンバイを昇格したときに2つのマスターを防ぐように指示しています。 |
分離されたマスターデータベースのシャットダウン。 |
分離されたマスターデータベースは、フェールオーバーマネージャーによってシャットダウンされました。 |
クラスター*cluster_name*で隔離されているマスターデータベース |
masterデータベースは、クラスターの大部分から分離されています。マスターが分離の検出を完了する前に、スタンバイが昇格され、クラスター内のこのノードに再参加しました。このノードは、複数のマスターデータベースを回避するためにそれ自体を分離しています。 |
ノード*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 |
*master.shutdown.as.failure*がマスターノードに対してtrueに設定されています |
このクラスターでは、*master.shutdown.as.failure*プロパティがtrueに設定されています。クラスター全体を停止せずにマスターエージェントを停止すると、クラスターの残りの部分ではマスターエージェントの即時障害として扱われます。マスターデータベースでメンテナンスが必要な場合は、マスターエージェントをシャットダウンし、フェイルオーバーが発生しないという残りのノードからの通知を待ちます。 |
*ping.server.ip*に設定されたループバックアドレス |
ループバックアドレスは*ping.server.ip*プロパティに設定されます。この設定は、ネットワーク分離の検出に干渉する可能性があるため、変更する必要があります。 |
ロードバランサーの接続スクリプトエラー |
ロードバランサー接続スクリプト*script_name*を正常に実行できませんでした。終了値:exit_code*結果:*script_results |
ロードバランサのデタッチスクリプトエラー |
ロードバランサーの切り離しスクリプト*script_name*を正常に実行できませんでした。終了値:exit_code*結果:*script_results |
クラスター*cluster_name*で使用できる同期スタンバイが不十分です。 |
クラスター内の同期スタンバイノードの数が*count*に減少しました。マスター上のすべての書き込みクエリは、十分な同期スタンバイノードが追加されるまでブロックされます。 |