AWS RDS スロークエリ、一般、監査ログが消えました。拡張モニタリングをオンにできません

AWS RDS スロークエリ、一般、監査ログが消えました。拡張モニタリングをオンにできません

実稼働および UAT RDS データベースで AWS RDS 拡張モニタリングを有効にしました。これらは ERP インスタンスに接続されています。

ユーザーの問題をデバッグ中に遅いクエリを探しに行ったところ、監査、一般、およびスロークエリのログが消えました。

これらは有効になっていて、現在も有効になっています。以前は CloudWatch にありました。1 年以上の保存期間があるにもかかわらず、1 つも残っていません。

コントロールパネルから「公開されたログ」のハイパーリンクをクリックすると、CloudWatchは次のように言います。

There was an error filtering log events
The specified log group does not exist

ここに画像の説明を入力してください

エラー ログは存在し、ログ記録エラーは表示されません。

他のログをオフにして、設定をそのままにして、その後オンにしてみました。他のログ (遅い SQL など) はまだ存在しません。

運用環境のこれらのログはビジネス上重要です。つまり、監査ログが突然消えてしまったら、アラートを作成するのは難しいですよね? これらのログが消えたことに関するエラーすら発生していないなんて信じられません。

「拡張モニタリング」がオフになっていることがわかったので、オンにしたところ、次のようになりました。

Amazon RDS はインスタンス uat で拡張モニタリングを設定できず、この機能は無効になっています。これは、rds-monitoring-role がアカウントに存在せず、正しく設定されていないことが原因である可能性があります。詳細については、Amazon RDS ドキュメントのトラブルシューティング セクションを参照してください。

この役割は存在しており、2019 年から変更されていません。

rds-monitoring-role、信頼関係:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "monitoring.rds.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

もう 1 つ: 約 2 週間前に DataDog の AWS 統合 CloudWatch ルーチンをインストールしました。ログがすべて消えたのはだいたいその頃だったかもしれませんが、それは偶然だと思います。そうでなければ、彼らにチケットをオープンします。彼らの CloudWatch スタックを削除しましたが、ログは戻ってきませんでした。

この質問ログパラメータについて言及していますが、確認したところ変更されていません。

答え1

監査、エラー、一般、および低速クエリをログに記録するように Amazon RDS インスタンスを設定しました。これらのログは RDS 構成で表示されていましたが、CloudWatch をチェックしたときにエラーが発生しました。

この問題を解決するために、RDS サービスの推奨事項に従い、log_output パラメータを FILE に変更しました。この調整を行った後、Slow query ログが CloudWatch に表示されるようになりました。さらに、すべてのクエリをキャプチャするために long_query_time を 0 に設定し、slow_query_log を 1 に設定していた可能性があります。

関連情報