

# Amazon RDS の Database Insights でスロー SQL クエリをモニタリングするようにデータベースを設定する
<a name="USER_DatabaseInsights.SlowSQL"></a>

データベースのスロー SQL クエリをモニタリングするには、Database Insights ダッシュボードの **[スロー SQL クエリ]** セクションを使用できます。スロー SQL クエリをモニタリングするようにデータベースを設定する前は、**[スロー SQL クエリ]** セクションは空白です。

Database Insights ダッシュボードでのスロー SQL クエリのモニタリングの詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[CloudWatch Database Insights のデータベースインスタンスダッシュボードの表示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Database-Insights-Database-Instance-Dashboard.html)」を参照してください。

Database Insights を使用して、スロー SQL クエリをモニタリングするようにデータベースを設定するには、次の手順を実行します。

1. CloudWatch Logs へのログエクスポートを有効にします。

1. DB インスタンスの DB パラメータグループを作成または変更します。

ログエクスポートの設定方法については、「*Amazon RDS ユーザーガイド*」の「[Amazon CloudWatch Logs へのデータベースログの発行](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)」を参照してください。

DB パラメータグループを作成または変更するには、以下のトピックを参照してください。
+ [Amazon RDS での DB パラメータグループの作成](USER_WorkingWithParamGroups.Creating.md)
+ [Amazon RDS の DB パラメータグループのパラメータの変更](USER_WorkingWithParamGroups.Modifying.md)

------
#### [ RDS for MariaDB ]

スロー SQL クエリをモニタリングするように RDS for MariaDB DB インスタンスを設定するには、次のパラメータを設定します。
+ `log_slow_query` - `1` に設定
+ `log_slow_query_time` - `1.0` に設定
+ `log_output` - `FILE` に設定

------
#### [ RDS for MySQL ]

スロー SQL クエリをモニタリングするように RDS for MySQL DB インスタンスを設定するには、次のパラメータを設定します。
+ `slow_query_log` - `1` に設定
+ `long_query_time` - `1.0` に設定
+ `log_output` - `FILE` に設定

------
#### [ RDS for PostgreSQL ]

スロー SQL クエリをモニタリングするように RDS for PostgreSQL DB インスタンスを設定するには、次のパラメータを設定します。これらのパラメータを設定すると、DB インスタンスのパフォーマンスが低下する可能性があることに注意してください。
+ `log_min_duration_statement` - `1000` に設定
+ `log_statement` - `none` に設定
+ `log_destination` - `stderr` に設定

------

**注記**  
RDS for MySQL では、`long_query_time` パラメータを 1 マイクロ秒の精度で設定できます。例えば、このパラメータを `0.000001` に設定できます。DB インスタンスのクエリの量によっては、`long_query_time` パラメータの値によってパフォーマンスが低下する可能性があります。値 `1.0` から開始し、ワークロードに基づいて調整します。このパラメータを `0` に設定すると、Database Insights はすべてのクエリをログに記録します。

RDS for MariaDB、RDS for MySQL、および RDS for PostgreSQL ログの詳細については、以下を参照してください。
+ [MariaDB データベースのログファイル](USER_LogAccess.Concepts.MariaDB.md)
+ [ MySQL データベースのログファイル](USER_LogAccess.Concepts.MySQL.md)
+ [ RDS for PostgreSQL データベースログファイル](USER_LogAccess.Concepts.PostgreSQL.md)