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

最終更新日: 2022 年 1 月 7 日

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

簡単な説明

MySQL のエラーログ、スロークエリログ、一般ログは、Amazon RDS コンソールAmazon RDS APIAmazon RDS AWS コマンドラインインターフェイス (AWS CLI)、または AWS SDK を使用して、直接モニタリングすることができます。MySQL エラーログファイルは、デフォルトで生成されます。低速クエリログと一般ログを生成できます。

解決方法

まず、MySQL インスタンスに顧客 DB パラメータグループが関連付けられていない場合は、カスタム DB パラメータグループを作成してパラメータを変更します。その後、パラメータグループを MySQL インスタンスに関連付けます。

RDS インスタンスに関連付けられているカスタム DB パラメータグループが既にある場合は、必要なパラメータの変更に進みます。

注: AWS CLI コマンドの実行時にエラーが発生する場合は、AWS CLI の最新バージョンを使用していることを確認してください

DB パラメータグループを作成する

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

新しいパラメータグループを変更する

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

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

  1. Amazon RDS コンソールを開き、ナビゲーションペインから [Databases] (データベース) を選択します。
  2. DB パラメータグループに関連付けるインスタンスを選択してから、[Modify] (変更) を選択します。
  3. [データベースオプション] セクションで、DB インスタンスに関連付ける DB パラメータグループを選択します。
  4. [Continue] (続行) を選択します。
    注: パラメータグループ名は即時に変更、適用されますが、パラメータグループは、手動でインスタンスを再起動するまで適用されません。DB インスタンスを再起動すると、一時的に停止し、インスタンスのステータスが [rebooting (再起動中)] と表示されます。

ログを見る

log_output =TABLE の場合は、次のコマンドを実行してログテーブルをクエリします。

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

注: テーブルログを有効にすると、高スループットのワークロードのデータベースのパフォーマンスに影響する可能性があります。テーブルベースの MySQL ログの詳細については、「テーブルベースの MySQL ログを管理する」を参照してください。

log_output =FILE の場合は、AWS マネジメントコンソールを使用して DB エンジンのデータベースログファイルを表示します

注: エラーログはファイルとして保存され、 log_output パラメータの影響を受けません。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?