API Gateway: manage_binlogs.sh メンテナンススクリプトを使用した binlog (バイナリ ログ) ファイルの管理
search cancel

API Gateway: manage_binlogs.sh メンテナンススクリプトを使用した binlog (バイナリ ログ) ファイルの管理

book

Article ID: 249681

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

MySQL データベースサーバーは 、Gateway クラスタ内の Gateway データベースインスタンス間の変更を管理するためにバイナリログ (binary log) とリレーログ (relay log) を使用します。バイナリログには、スレーブ データベースへの送信を待機している、マスターデータベースから発信されたクエリと命令が含まれています。

リレーログには、スレーブデータベースでの実行を待機している、マスターデータベースから発信されたクエリと命令が含まれます。レプリケーションが失敗したり、一定期間遅延したりすると、Gateway アプライアンスのファイル システムに一方または両方のタイプのログが蓄積し始める可能性があります。これらのファイルの増加をチェックしないと、Gateway アプライアンスに割り当てられたストレージが過剰に使用される可能性があります。これにより、過剰なディスク容量の消費が発生して、MySQL サービスが停止し、Gateway アプリケーションも停止する可能性があります。

バイナリログ管理スクリプトは、ローカル Gateway データベースで実行中のレプリケーションの状態を定期的に確認します。レプリケーションが機能し、大幅な遅延がない場合、古いバイナリファイルとリレーログ ファイルがファイルシステムから削除されます。これにより、(レプリケーションの状態を確認することにより) データが失われることはなく、ストレージが過度に使用されることもありません。

Environment

この記事は、CA API Gateway のすべてのバージョンに適用されます。

Resolution

実装

監査記録のメンテナンススクリプトは、中央の場所に格納する必要があります。従来、スクリプトは /usr/local/bin/ または /opt/SecureSpan/Appliance/bin/ にあります。通常、このスクリプトの呼び出しは、Gateway アプライアンスのデフォルトのスケジュールされたタスクハンドラである crond によって処理されます。このスクリプトは、crontab 経由で実行するように構成されていることが期待されます。cron 経由でこのスクリプトを実行するように Gateway アプライアンスを構成する際に支援が必要な場合は、新しいサポートリクエストをオープンしてください。

1. この記事に添付されているファイル (manage_binlogs.sh) をワークステーションにダウンロードします。
2. ssgconfig ユーザーで、SFTP または SCP を介して Gateway アプライアンスにスクリプトをアップロードします。
3. スクリプトを ssgconfig ユーザーのホームディレクトリから目的の場所に移動します。
4. スクリプトを実行可能にします:  chmod u+x manage_binlogs.sh
5. スクリプトを開き、次のプロパティを編集して現在の構成を反映させます。

SLAVE="<slave_server>.example.com"
ROOTDBPWD="パスワード"
NOTIFY_TO="<administrator_name>@example.com"
注意: 「SLAVE」と「ROOTDBPWD」の値は、Gateway データベースノードのホスト名と特権 MySQL ユーザーのパスワードに設定する必要があります。

6.「-f」フラグを指定してスクリプトを実行します:  ./manage_binlogs.sh -f
7. 残りの Gateway データベースノードで手順 1 ~ 8 を完了します。
8. このスクリプトを実行するには、両方のアプライアンスで crontab をセットアップし ます。

レプリケーションステータスの電子メールアラートの有効化

レプリケーションの状態が良好な場合に、電子メールまたはその他の種類のメッセージを送信するように Gateway を構成することが必要または望ましい場合があります。このプロセスが必要または望ましい場合は、次の手順を実行します。

1. 管理ユーザーとして Policy Manager にログインします。
2. 次のパラメーターを使用して Web API を発行します。

Name: Replication Monitoring Service
Target: None
Resolution Path: /replmail

3. この記事に添付されているZIPファイルに含まれるポリシーをインポートします。

実装のテスト

このスクリプトは、もしバイナリログファイルを管理できず、電子メールが使用できるように構成されている場合、電子メール通知を送信します。このプロセスは、レプリケーションが実行されていないか、構成されていない場合にのみ失敗するため、これはレプリケーションの失敗に関する有用な通知として機能します。次の手順はオプションであり、このスクリプトを初めてデプロイする任意の環境で実行できます。

1. 両方のデータベースノードでレプリケーションを中断します:  mysql -e 'stop slave'。
2. クラスタ内の各データベースノードでスクリプトを詳細モードで実行します:  ./manage_binlogs.sh -f -v
3. 両方のデータベースノードでレプリケーションを開始します:  mysql -e 'start slave'
4. レプリケーションのステータスを確認します:  mysql -e 'show slave status\G'

Additional Information

manage_binlogs.sh スクリプトと replication_email_service.xml ポリシーのサンプルの両方が含まれる ZIP ファイルは、以下のオリジナル英文文書に添付されています。そちらをご利用ください。

[英語文書] API Gateway: Managing binlog (binary log) files with the manage_binlogs.sh maintenance script.

manage_binlogs.sh スクリプトを使用すると、停止や中断なしにディスク容量の問題を解決できます。