データベースログ - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データベースログ

MySQL および MariaDB データベースは、監査やトラブルシューティングに使用できるログを生成します。それらのログは以下のとおりです。

  • 監査— オーディットトレイルは、サーバーのアクティビティを記録するレコードのセットです。クライアントセッションごとに、サーバーに接続したユーザー (ユーザー名とホスト)、実行されたクエリ、アクセスされたテーブル、および変更されたサーバー変数を記録します。

  • エラー— このログにはサーバの (mysqld) 起動時間とシャットダウン時間、およびサーバーの起動時とシャットダウン時、およびサーバーの実行中に発生するエラー、警告、メモなどの診断メッセージ。

  • 全般— このログには、次のアクティビティが記録されますmysqldこれには、各クライアントの接続アクティビティと切断アクティビティ、およびクライアントから受信した SQL クエリが含まれます。一般的なクエリログは、エラーが疑われ、クライアントの送信先を正確に知りたい場合に非常に役立ちます。mysqld

  • スロークエリ— このログには、実行に時間がかかった SQL クエリの記録が記録されます。

ベストプラクティスとして、Amazon RDS からアマゾンにデータベースログをパブリッシュCloudWatchログ。とCloudWatchログでは、ログデータをリアルタイムで分析し、耐久性の高いストレージにデータを保存し、次の方法でデータを管理できます。CloudWatchログエージェント。できますデータベースログにアクセスして監視するAmazon RDS コンソールから。使用することもできますCloudWatchLogs Insightsでログデータをインタラクティブに検索、分析できますCloudWatchログ。次の例は、何回かを確認する監査ログのクエリを示しています。CONNECTイベント、接続者、接続元のクライアント (IP アドレス) がログに表示されます。監査ログからの抜粋は次のようになります。

20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,CONNECT,,,0,SOCKET 20221201 14:07:05,ip-10-22-1-51,rdsadmin,localhost,821,0,DISCONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,CONNECT,,,0,SOCKET 20221201 14:12:20,ip-10-22-1-51,rdsadmin,localhost,822,0,DISCONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,CONNECT,,,0,SOCKET 20221201 14:17:35,ip-10-22-1-51,rdsadmin,localhost,823,0,DISCONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,CONNECT,,,0,SOCKET 20221201 14:22:50,ip-10-22-1-51,rdsadmin,localhost,824,0,DISCONNECT,,,0,SOCKET

ログインサイトクエリの例では、次のことがわかります。rdsadminからデータベースに接続localhost次の図に示すように、5 分おきに、合計 22 回です。これらの結果は、アクティビティがモニタリングシステム自体などの内部の Amazon RDS プロセスから発生したことを示しています。

ログインサイトレポート

ログイベントには、MySQL や MariaDB DB インスタンスに関連する操作に関する警告やエラーなど、カウントしたい重要なメッセージが含まれることがよくあります。たとえば、操作が失敗した場合、エラーが発生し、次のようにエラーログファイルに記録されます。ERROR 1114 (HY000): The table zip_codes is full。これらのエントリを監視して、エラーの傾向を把握したい場合があります。できますカスタム作成CloudWatchフィルターを使用した Amazon RDS ログのメトリックスAmazon RDS データベースログの自動モニタリングを可能にし、特定のログで特定のパターンを監視し、予想される動作に違反した場合にアラームを生成できるようにします。例えば、ロググループのメトリックスフィルタを作成/aws/rds/instance/database-1/errorエラーログを監視して検索します特定のパターン、などERROR。を設定フィルターパターンERRORそしてメトリック値1。フィルターは、そのキーワードを含むすべてのログレコードを検出します。ERRORそして、「ERROR」を含むログイベントごとにカウントが 1 ずつ増えます。フィルターを作成したら、MySQL または MariaDB のエラーログでエラーが検出された場合に通知するアラームを設定できます。

スロークエリログとエラーログの監視について詳しくは、CloudWatchダッシュボードと使用CloudWatchログインサイト (ブログ記事を参照)アマゾンの作成CloudWatchAmazon RDS と Amazon Aurora MySQL をモニタリングするためのダッシュボード。