このブログでは、AWSRDSMySQLで低速クエリログを有効にする方法について説明します。手順を開始する前に、遅いクエリログとは何か、なぜそれが必要なのか、そしてそれをどのように使用するのかを理解しましょう。
遅いクエリログは、データベースで実行するのに時間がかかるすべてのクエリをトラブルシューティングまたは特定する場合、およびDBインスタンスでCPU負荷が急上昇するために必要です。
DaaS(サービスとしてのデータベース)と呼ばれるAWS RDSクラウドサービスであるため、OSレベルにアクセスすることはできません。そのために、AWS RDSは、Amazon RDSコンソール、Amazon RDS API、Amazon RDS CLI、またはAWS SDKを介して、低速クエリログを直接有効/無効および監視できるDBパラメーター構成を提供します。
AWSRDSMySQLで低速クエリログを有効にする方法
MySQLインスタンス用に作成したDBパラメータグループにパラメータを設定することで、低速のクエリログを生成できます。
AWSは、デフォルトのバイナリロギングフォーマットを混合として提供しています。ロギング形式として行ベースに変更できます。 Amazon RDSは、MySQLバージョン5.6の行ベースと混合バイナリロギングフォーマットの両方をサポートします。
デフォルトのDBパラメータグループのパラメータ設定を変更することはできません。このデフォルトのグループはAWSによって作成されます。パラメータ設定をデフォルト値から変更するには、独自のDBパラメータグループを作成する必要があります。MySQLインスタンスの新しいDBパラメータグループを作成する手順
ステップ1:AWSマネジメントコンソールにサインインし、AmazonRDSコンソールを開きます
ステップ2:ナビゲーションペインで、[パラメータグループ]を選択します。
ステップ3:パラメータグループの作成を選択します。 [パラメータグループの作成]ウィンドウが表示されます。
ステップ4:パラメータグループファミリを選択します。
手順5:[グループ名]に、新しいDBパラメータグループの名前を入力します。
手順6:[説明]に、新しいDBパラメータグループの説明を入力します。
ステップ7:作成を選択します。
DBパラメータグループを変更する手順
ステップ1:DBパラメータグループに移動
ステップ2:変更するパラメータグループを選択します。
ステップ3:パラメータの編集を選択する
ステップ4:Slow_Query_logを検索し、値1を入力します— Slow_query_log =1(デフォルトは0またはログなし)
ステップ5:Long_query_time =2。これにより、実行に2秒以上かかるクエリがログに記録されます。
手順6:[変更を保存]を選択します。
RDSDBインスタンスを新規または変更されたDBパラメータグループに関連付けます
- ナビゲーションペインで、[インスタンス]を選択します。
- DBパラメータグループに関連付けるDBインスタンスを選択します。
- [インスタンスアクション]メニューで、[変更]を選択します。
- [DBインスタンスの変更]ダイアログボックスの[データベースオプション]で、DBインスタンスに関連付けるパラメータグループを選択します。
- インスタンスを再起動して変更を適用します。
ファイルに書き込まれるRDSMySQLログを表示する方法
- AWS管理コンソールにログインし、Amazon RDSコンソール(https://console.aws.amazon.com/rds/)を開きます。
- ナビゲーションペインで、[インスタンス]を選択します。
- 表示するログファイルがあるDBインスタンス名の横にある詳細アイコンを選択します。
- [DBインスタンスの詳細]ページで、[最近のイベントとログ]ビューを開きます。
- 表示するログについては、[表示]を選択します。
- DBインスタンスのリストに戻るには、[閉じる]を選択してから、ページの上部にある[DBインスタンス]を選択します。
ログテーブルに直接クエリを実行して、MySQLログがTABLEに書き込まれているかどうかを確認します。
Select * from mysql.slow_log Select * from mysql.general_logログテーブルは、それぞれのログアクティビティがオフになるまで増え続けます。テーブルロギングを有効にすると、データベースに書き込まれるデータの量が増え、パフォーマンスが低下する可能性があります。
これでチュートリアルは終了です。AWSRDSMySQLで低速クエリログを有効にする方法を説明しました。