Amazon RDS編~ログ管理について~

Pocket

こんにちは! JQです。

前回までのレシピでは『Amazon VPCを使ってWEBサーバを構築しよう!パート①パート② 』と称して、VPC上でのWEBサーバ構築についてご紹介していたかと思います。

今回は『Amazon RDSのログに関するお話』をしたいと思いますが、その前に『Amazon RDS』に関する情報をご紹介します!

先日、WEBコンソールから今まで確認出来なかったRDSのmysql_errorのログが確認出来る様になりました。
RDSもさらに便利になっていきますね!

さて、それでは本題であるAmazon RDSのログに関してお話していきます。

まずは、RDSのerror.logの設定方法をしていきます。
1.RDSの画面に移動して、ログを見たいRDSを選択します。
20130405_01_01

2.画面下部のタブに「Logs」という項目があるので、そちらをクリックします。
20130405_01_02

3.error/mysql-error.log の項目がありますので、「View」を選択する事でLogの中身を確認する事が出来ます。
20130405_01_03

また、「Watch」を選択する事で5秒毎に更新する事でリアルタイムに近い形でログを確認出来ます。
20130405_01_04

「mysql-error.log」に関してはデフォルトで出力されますが、
「general.log」「slowquery.log」に関してはRDS DB Parameter Groupで有効にする事で出力する事が可能です。

それでは有効にしていきましょう。

4.まずは該当のRDSのParameter Groupに移動します。
20130405_01_05

5.このままでは該当のParameterを探しにくいので、「_log」のキーワードで絞込みを行います。
キーワードフォームの右側にある「Edit Parameters」をクリックして編集画面に移動します。
20130405_01_06

6.「general.log」「slowquery.log」のValueを「1」にして有効化します。
20130405_01_07

上記で有効化が完了です。
※ParameterGroup自体を変更する場合にはRDSの再起動が必要になります。
20130405_01_08

しばらく待つと先ほどのLogsに新たに加わっています。
20130405_01_09

また、DB上にも出力されている為、そちらからも確認が可能です。
20130405_01_10

error.logは1時間でローテートされ、24時間保持されます
また、DB上の「general.log」「slow_query_log」をローテートする場合には以下のストアドを利用して行います。
rds_rotate_general_log
rds_rotate_slow_log

20130405_01_11

20130405_01_12

MySQL以外のDBでは以下のようなログになります。
・Oracle Database ではアラートログとトレースファイルにアクセスできます。
・デフォルトで7日間保持され、必要に応じて保持期間を変更する事が可能です。
・SQL Server ではエラーログ、エージェントログ、トレースファイルにアクセスできます。
デフォルトで7日間保持され、必要に応じて保持期間を調整できます。

また、コマンドラインツールを利用して。Logファイルをダウンロードする事も可能です。
rds-download-db-logfile

いかがでしたでしょうか?
とても簡単にログが確認出来ますので、ぜひお試し下さい。

次回は『AWS SDK Rubyを使ってみよう!』と題してお話したいと思います。
お楽しみに!