Amazon RDS MySQL DB インスタンスのログを有効にしてモニタリングする方法を教えてください。

最終更新日: 2020 年 2 月 13 日

MySQL を実行している Amazon Relational Database Service (Amazon RDS) インスタンスのエラーログ、スロークエリログ、および一般ログを有効にしてモニタリングする必要があります。どうすればよいですか?

簡単な説明

MySQL エラーログ、スロークエリログ、および一般ログは、Amazon RDS コンソールAmazon RDS APIAmazon RDS AWS コマンドラインインターフェース (AWS CLI) 、または AWS SDK を介して直接モニタリングできます。MySQL エラーログファイルはデフォルトで生成され、スロークエリログと一般ログを生成できます。mysqlbinlog ユーティリティを使用して、バイナリログをダウンロードまたはストリーミングできます。MySQL バイナリログ記録の設定の詳細については、「バイナリログ形式」を参照してください。

テーブルのログ記録を有効にすると、データベースに書き込まれるデータの量が増加する可能性があります。これもパフォーマンスに影響する可能性があります。テーブルベースの MySQL ログの詳細については、「テーブルベースの MySQL ログの管理」を参照してください。

解決方法

まず、カスタム DB パラメータグループを作成し、パラメータを変更してから、パラメータグループを MySQL インスタンスに関連付けます。

DB パラメータグループの作成

  1. Amazon RDS コンソールを開き、ナビゲーションペインから [パラメータグループ] を選択します。
  2. [パラメータグループの作成] を選択します。
  3. パラメータグループファミリードロップダウンリストから、DB パラメータグループファミリーを選択します。
  4. タイプには、[DB パラメータグループ] を選択します。
  5. グループ名フィールドに名前を入力します。
  6. 説明フィールドに説明を入力します。
  7. [作成] を選択します。

新しいパラメータグループの変更

  1. Amazon RDS コンソールを開き、ナビゲーションペインから [パラメータグループ] を選択します。
  2. 変更するパラメータグループを選択します。
  3. パラメータグループアクションを選択し、[編集] を選択します。
  4. [パラメータの編集] を選択し、次のパラメータをその値に設定します。
    General_log = 1 (デフォルト値は 0 またはログ記録なし)
    Slow_query_log = 1 (デフォルト値は 0 またはログ記録なし)
    Long_query_time = 2 (2 秒より長く実行されるクエリを記録するため)
    log_output = FILE (一般クエリログとスロークエリログの両方をファイルシステムに書き込み、Amazon RDS コンソールからこれらのログを表示できるようにするため)
    log_output = TABLE (デフォルト値はクエリをテーブルに書き込み、クエリでこれらのログを表示できるようにします)
  5. [変更を保存] を選択します。
    注意: デフォルトの DB パラメータグループのパラメータ設定は変更できません。Is Modifiabletrue に設定されている場合、カスタム DB パラメータグループのパラメータを変更できます。

インスタンスを DB パラメータグループに関連付ける

  1. Amazon RDS コンソールを開き、ナビゲーションペインから [データベース] を選択します。
  2. DB パラメータグループに関連付けるインスタンスを選択してから、[変更] を選択します。
  3. データベースの選択肢セクションで、DB インスタンスに関連付ける DB パラメータグループを選択します。
  4. [次へ] を選択します。
    注意: パラメータグループ名は直ちに変更および適用されますが、パラメータグループはインスタンスを手動で再起動するまで適用されません。DB インスタンスを再起動すると、一時的な停止が発生し、その間、DB インスタンスのステータスは再起動に設定されます。

オプション: 次のコマンドを実行して、ログテーブルをクエリします。

Select * from mysql.slow_log
Select * from mysql.general_log