まず、RDSのデフォルトのDBパラメータでは、一般クエリログ、スロークエリログともにファイルにもテーブルにも保存されないようになっています。
そこで、詳しくはAmazonのガイドページを見ていただければと思いますが、クエリログ関連の設定内容を転記させていただきます。
slow_query_log
: スロークエリログを作成するには、1 に設定します。デフォルトは 0 です。general_log
: 一般ログを作成するには、1 に設定します。デフォルトは 0 です。long_query_time
: ファストクエリがスロークエリログに記録されないようにするために、ログに記録されるクエリの最短実行時間の値を秒単位で指定します。デフォルトは 10 秒で、最小値は 0 です。log_output = FILE の場合は、マイクロ秒の精度になるように、浮動小数点値を指定できます。log_output = TABLE の場合は、秒の精度になるように、整数値を指定する必要があります。実行時間がlong_query_time
の値を超えたクエリのみがログに記録されます。たとえば、long_query_time
を 0.1 に設定すると、実行時間が 100 ミリ秒未満のすべてのクエリはログに記録されなくなります。log_queries_not_using_indexes
: インデックスを使用しないすべてのクエリをスロークエリログに記録するには、1 に設定します。デフォルトは 0 です。インデックスを使用しないクエリは、その実行時間がlong_query_time
パラメータの値未満であってもログに記録されます。log_output
:option
log_output
パラメータに指定できるオプションは、次のとおりです。- TABLE(デフォルト)– 一般クエリを
mysql.general_log
テーブルに、スロークエリをmysql.slow_log
テーブルに書き込みます。 - FILE – 一般クエリログとスロークエリログの両方をファイルシステムに書き込みます。ログファイルは 1 時間ごとにローテーションされます。
- NONE – ログ記録を無効にします。
slow_query_log: 1
general_log: 1
long_query_time: 1
log_queries_not_using_indexes: 0
log_output: TABLE
このテーブルなのですが、RDSのユーザ権限ではDELETEすることができないため、Amazonから2つのストアドプロシージャが提供されています。
CALL mysql.rds_rotate_slow_log;
CALL mysql.rds_rotate_general_log;
1回の実行ではバックアップにログがローテーションされ、2 回目の実行で完全に削除されることになります。
Amazonの公式ガイドページ
0 件のコメント:
コメントを投稿