MySQL を実行している Amazon Relational Database Service (Amazon RDS) インスタンスのエラーログ、スロークエリログ、および一般ログを有効にしてモニタリングしたいと考えています。これを行うにはどうすればよいですか?
簡単な説明
MySQL のエラーログ、スロークエリログ、一般ログは、Amazon RDS コンソール、Amazon RDS API、Amazon RDS AWS コマンドラインインターフェイス (AWS CLI)、または AWS SDK を使用して、直接モニタリングすることができます。MySQL エラーログファイルは、デフォルトで生成されます。低速クエリログと一般ログを生成できます。
解決方法
まず、MySQL インスタンスに顧客 DB パラメータグループが関連付けられていない場合は、カスタム DB パラメータグループを作成してパラメータを変更します。その後、パラメータグループを MySQL インスタンスに関連付けます。
RDS インスタンスに関連付けられているカスタム DB パラメータグループが既にある場合は、必要なパラメータの変更に進みます。
注: AWS CLI コマンドの実行時にエラーが発生する場合は、AWS CLI の最新バージョンを使用していることを確認してください。
DB パラメータグループを作成する
- Amazon RDS コンソールを開き、ナビゲーションペインから [パラメータグループ] を選択します。
- [Create parameter group] (パラメータグループの作成) を選択します。
- [Parameter group family] (パラメータグループファミリー) ドロップダウンリストから、DB パラメータグループファミリーを選択します。
- [Type] (タイプ) で、[DB Parameter Group] (DB パラメータグループ) を選択します。
- [Group name] (グループ名) フィールドに名前を入力します。
- [Description] (説明) フィールドに、説明を入力します。
- [Create] (作成) をクリックします。
新しいパラメータグループを変更する
- Amazon RDS コンソールを開き、ナビゲーションペインから [パラメータグループ] を選択します。
- 変更するパラメータグループを選択します。
- [Parameter group actions (パラメータグループアクション)] 、[Edit (編集)] と選択します。
- [パラメーターの編集] を選択し、次のパラメータに以下の値を設定します。General_log = 1 (デフォルト値は 0 またはログなし) Slow_query_log = 1 (デフォルト値は 0 またはログなし) Long_query_time = 2 (2 秒より長く実行されるログクエリ) log_output = FILE (一般クエリログとスロークエリログの両方をファイルシステムに書き込み、Amazon RDS コンソールからログを表示) log_output =TABLE (一般クエリログとスロークエリログの両方を SQL クエリでこれらのログを表示するためのテーブル)
- [Save changes (変更を保存)] を選択します。注意: デフォルトの DB パラメータグループのパラメータ設定は変更できません。[変更可能] が true に設定されている場合、カスタム DB パラメータグループのパラメータを変更できます。
インスタンスを DB パラメータグループに関連付ける
- Amazon RDS コンソールを開き、ナビゲーションペインから [Databases] (データベース) を選択します。
- DB パラメータグループに関連付けるインスタンスを選択してから、[Modify] (変更) を選択します。
- [データベースオプション] セクションで、DB インスタンスに関連付ける DB パラメータグループを選択します。
- [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 パラメータの影響を受けません。
関連情報
DB パラメータグループを使用する
Amazon RDS データベースログファイル
MySQL データベースログファイル