第3章 MySQL Enterprise Service Manager の導入

目次

3.1. MySQL Enterprise Service Manager のバックアップ
3.2. 1.3.x 履歴データの MySQL Enterprise Monitor 2.0 への移行

この章では、MySQL Enterprise Service Manager のハードウェアおよびサーバ要件や監視データのバックアップ方法など、MySQL Enterprise Service Manager の導入に関するいくつかの注意事項とアドバイスを提供します。

3.1. MySQL Enterprise Service Manager のバックアップ

MySQL Enterprise Service Manager 内に保存されているデータをバックアップする場合、mysqldump など、通常のバックアップソリューションを使用して、データを保存できます。情報のバックアップには、MySQL Enterprise Service Manager のインストール中に設定されたホスト名、ユーザ名、パスワードの詳細が必要になります。

この情報は、MySQL Enterprise Service Manager のインストール時に生成された configuration_report.txt ファイルで確認できます。このファイルの例を次に示します。

MySQL Enterprise Monitor (Version 2.0.0.7088 : 20081031_152749_r7088)

Here are the settings you specified:
Application hostname and port: http://127.0.0.1:18080
Tomcat Ports: 18080 - 18443 (SSL)
MySQL Port : 13306

Repository Credentials (bundled MySQL):
---------------------------------------
service_manager/Password

Use the following command to login to the MySQL Enterprise Monitor database:
mysql -uservice_manager -pPassword -P13306 -h127.0.0.1

最後の行の情報は、標準の mysql コマンドラインクライアントを使用してサーバに接続する方法についての情報です。

設定、ルール、履歴データなど、すべての MySQL Enterprise Monitor リポジトリ情報が、mem データベース内に保存されます。

mysqldump を使用してこの情報をバックアップするには、次のコマンドを使用します。

shell& mysqldump -uservice_manager -pPassword -P13306 -h127.0.0.1 mem >mem.dump

上記のコマンドを使用すると、すべての MySQL Enterprise Monitor データを含む、mem.dump ファイルが作成されます。

リカバリ状態の一貫性を確保するために、各監視対象の MySQL サーバに保存されているエージェント設定およびメタデータをバックアップすることもできます。バックアップは、次の手順で行います。

  • 各エージェントの設定ファイルをバックアップします。各エージェントの etc ディレクトリのコピーは保管しておいてください。このディレクトリには、メイン設定ファイル(mysql-monitor-agent.ini)、および各監視対象サーバの設定情報(etc/instances ディレクトリ)が含まれています。

  • 各監視対象サーバで、MySQL サーバの固有の ID を含む、mysql.inventory テーブルのコピーを保管してください。

3.2. 1.3.x 履歴データの MySQL Enterprise Monitor 2.0 への移行

Server Configuration」パネルのデータ移行機能を使用して、MySQL Enterprise Monitor 1.3.x のインストール中に生成されたデータを移行できます。

注意

デフォルトでは、データ移行サービスは非表示にされています。データ移行機能を有効にするには、次のようにします。

  1. mysqlmonitorctl.sh を使用して、MySQL Enterprise Service Manager を停止します。

    $ mysqlmonitorctl.sh stop

  2. MySQL Enterprise Service Manager のインストールディレクトリ内の apache-tomcat/webapps/ROOT/WEB-INF/config.properties ファイルを編集して、次に示す行をこのファイルに追加します。

    dc_migration_migrate_historical_data = true

    これにより、移行ユーザインターフェースが有効になります。

  3. MySQL Enterprise Service Manager を再起動します。

    $ mysqlmonitorctl.sh start

ユーザインターフェースを有効にしたら、このセクションで説明する注意事項に従い、移行を開始および停止できます。

データ移行機能を使用するには、update インストーラを使用して MySQL Enterprise Service Manager をインストールしている必要があります。update インストーラを使用すると、設定、ルール、スケジュール、イベントデータの初期移行が実行されます。履歴データの移行は、「Server Configuration」パネル内から情報の移行を明示的に要求するまで行われません。

データ移行は単一サーバで機能するため、情報を移行するサーバを選択できます。移行には次の条件が適用されます。

  • 各サーバから個別にデータを移行する必要があります。

  • 各サーバで 1 か月あたりのデータを移行する場合、平均 5 ~ 6 時間かかります。そのため、10 台のサーバに 6 か月分のデータが保存されている場合、これらすべての履歴データを一度に 1 つのサーバに移行するには 300 ~ 360 時間(15 日間)かかります。

  • データ移行を制限するには、「Settings」ページ内で「Data Purge Behavior」を設定します。これにより、移行されるデータは、指定した消去期間より最近のデータのみに制限されます。消去期間より古いデータは無視されます。

  • パフォーマンス問題を解消するには、同時に移行するサーバを 1 台または少数に制限します。

  • データの移行はいつでも開始および停止できます。ただし、次の場合を除き、データ移行は停止せずに完了してください。

    • ディスク容量が不足している場合

    • MySQL Enterprise Service Manager 速度の低下および無反応の状態が著しい場合

    • 移行が完了しない場合

    最後の状態の場合、移行が完了しても、いくつかのデータの移行は正常に完了されません。移行プロセスは完了しませんが、移行できたデータの変換には影響ありません。

履歴データ移行の開始

データ移行を開始するには、次のようにします。

  • MySQL Enterprise Dashboard 内で「Settings」パネルの「Manager Servers」表示に切り替えます。

  • データ移行機能が有効であることを確認してください。「Historical Data Migration」の横にある「Start」ボタンおよび「Stop」ボタンが表示されます。

    図 3.1. 履歴データ移行機能

    履歴データ移行機能
  • 各サーバ名の横にあるチェックボックスを使用して、移行するサーバを選択します。移行するサーバは 1 台以上選択できます。移行に適したサーバには、「Migration Status」カラム内にその移行ステータスが示されます。サーバを移行できない場合、「N/A」が表示されます。

  • Historical Data Migration」の横にある「Start」をクリックします。

  • 確認ダイアログボックスが表示されます。移行を開始するには、「start migration」をクリックします。移行を取り消すには、「cancel」をクリックします。

  • 選択された移行サーバは、「Migration Status」カラムの「Queued for Migration」に表示されます。

    図 3.2. 履歴データ移行の確認

    履歴データ移行の確認

履歴データ移行の監視

個々のサーバの移行ステータスは、各サーバの「Migration Status」カラムで確認できます。移行ステータスの例を次に示します。

図 3.3. 履歴データ移行の進捗状況

履歴データ移行の進捗状況

移行ステータスは、ページがロードされたときの移行ステータスに従って表示されることに注意してください。実際の移行プロセスはバックグラウンドで進行しているため、現在の移行状態と表示されているときの移行状態が異なる場合があります。

Migration Status」カラムに「Done」が表示されているサーバは、すでに移行が完了しています。

全体的な移行ステータスは、「Upgrade Status」表示で確認できます。

履歴データ移行の停止

データ移行中の任意のサーバの移行プロセスを停止できます。また、移行は、いつでも何の問題もなく再開できます。

履歴データ移行を停止するには、次のようにします。

  1. 各サーバ名の横にあるチェックボックスを使用して、移行を停止するサーバを選択します。移行を停止するサーバは 1 台以上選択できます。

  2. Historical Data Migration」の横にある「Stop」をクリックします。

移行が停止したことを示す確認メッセージが表示されます。移行がすでに完了している場合、通知されます。

古いデータの削除

移行するすべてのサーバでデータ移行が完了したら、MySQL Enterprise Monitor リポジトリ内の古いデータへのアクセスを削除または除去する場合があります。MySQL Enterprise Monitor 1.3 のデータは、MySQL リポジトリ内の merlin という名前のデータベースに保存されていましたが、MySQL Enterprise Monitor 2.0 のデータは、mem という名前のデータベースに保存されます。

古い情報のバックアップを作成するには、mysqldump を使用します。

shell& mysqldump -uservice_manager -pPassword -P13306 -h127.0.0.1 merlin >data-1.3.sql

上記のコマンドを使用すると、すべての MySQL Enterprise Monitor 1.3 情報を含む data-1.3.sql ファイルが作成されます。

古いデータへのアクセスを削除すると、古いサーバのデータ移行オプションが、MySQL Enterprise Service Manager 内の「Manage Servers」パネルから削除されます。アクセスを削除するには、merlin データベースに REVOKE を実行します。

mysql& REVOKE ALL on merlin.* FROM 'service_manager';

古いデータのアクセスを削除しても、古いデータにより使用されていたディスク容量はリクレームされません。

データベースからデータを削除して、履歴情報で使用される容量を解放するには、merlin データベースに DROP を実行します。

mysql& DROP DATABASE merlin;

すべてのデータが移行されたら、「hide migration interface」ボタンをクリックして、移行ユーザインターフェースを非表示にできます。