【事象】
Amazon RDS for MySQL のインスタンスを作成する際にログのエクスポートで全てのチェックを入れているのに、スロークエリログや監査ログなどのログが出力されない。
【原因】
Amazon RDS for MySQLの設定をコンソールから行っていたが、
そもそもMySQLのパラメータグループでスロークエリなどの設定を入れてなかった。
【対応方法】
一般ログ、スロークエリログの有効化方法
MySQL を実行している Amazon RDS DB インスタンスのログを有効にしてモニタリングする
監査ログの有効化方法
Amazon RDS MySQL または MariaDB インスタンスの高度な監査を有効にして、CloudWatch にログを公開する
(監査ログ対応方法の別リンク)古い記事ながらもこちらの方が図解もあり分かりやすかった
【新機能】Amazon RDSのMySQLとMariaDBで監査ログに対応。ついでにrdsadminの動作も確認してみた。 | DevelopersIO
【参考リンク】
公式のログ全般に関する説明
MySQL データベースログファイルへのアクセス - Amazon Relational Database Service
【その他】
以下のメッセージが分かって読めば、そりゃそうかーになるけど、もう少し説明欲しい。。。
全般、スロークエリ、監査ログがオンになっていることを確認してください。デフォルトではエラーログが有効になっています。
上記記述より、以下の内容を読み解かないといけない。
・全般(general)、スロークエリログ、監査ログはMySQLのデフォルト値を有効にしないと、ログは出力されないです。
・デフォルトではエラーログだけがMySQLとして出力されるように設定されています。
・あくまでもAmazon CloudWatch Logsで確認できる様にするための設定であって、ここのチェックボックスに設定入れてもMySQL側の設定が有効になってないとログは出力されません。