GCP

Cloud SQL でスロークエリを出力する

Cloud SQL(GCP)でスロークエリを出力する方法です。
ちなみにStackdriver Logging の料金が軽微ですがかかります。
MySQLの場合はここを見るといいのですが、Postgresの場合はなぜか同様のここをみても手順が書いていません。
ほぼ同様(フラグ名が異なる)ですが、Postgresqlの場合は
・まずCloud SQLの管理画面でスロークエリの出力を行いたいインスタンスの概要を開きます。
・次に、上部の「編集」を押して下の方にある「設定オプション内」、「フラグ」をクリックして開きます。
・「項目を追加」を押して「log_min_duration_statement」を選び、値を設定します。
-1を設定すると出力せず、0の場合はすべて出力、1以上の場合は1なら1ms以上のクエリをすべて出力します。
1秒以上のクエリを出力したければ1000と入れます。
・「保存」を押すとインスタンスが更新されてログの出力が始まります。(インスタンスの再起動などは不要です)
次に、出力されたログを確認します。
・GCPメニュー内の「Logging」を押します。
・リソースを選択します。「Cloud SQLデータベース」でもいいですし、インスタンスを特定する場合はその先のインスタンス名を選択します。
・再生マークを押してストリーミングすることもできますし、「新しいログを読み込む」を押すことでも読み込めます。
・条件に合うSQLが発行されると
2020-01-08 15:52:17.092 JST[1234567]: [1-1] db=xxxx,user=xxxx LOG: duration: 3042 ms statement: SELECT xxxx...
というようなログが出力されます。
以上です。

-GCP

Copyright© F27P , 2021 All Rights Reserved Powered by AFFINGER5.