RDSからログを取得して保存させるスクリプト

RDSで出力されているログを取得してくるスクリプトを作成したのでご紹介します。

ログ取得のスクリプトを実行しようとしているあなた下準備をしないと使えませんよ!
■下準備というのは
 1.RDSのAPIをLinuxサーバへインストールすること
    JAVAのバージョンとかにも注意が必要だよ
 2.IAMでアクセスキーとシークレットキーを作成してRDSにアクセスすることができるように設定すること

■スクリプトの流れは
 1.設定ファイルから必要なパラメータを読み込む
 2.RDSに保存されているログファイルの一覧を取得
 3.ログファイルの一覧を時間の昇順に並び替えリスト化する
 4.リスト化された中からRDSに保存されているログファイルを一つ一つ取得
 5.すべてのログファイルの取得が完了すれば、ローカルに保存しているログファイルのローテート

ざっと書きましたが、APIの動作は少々処理に時間がかかるので、スクリプトをキックすると完了するまで5分~20分程度(ログの大きさによる)時間がかかるしLoad Averageが高くなりますのでLoad Averageで監視を行っている方はアラームが鳴るでしょう。

AWSのRDSは、運用が楽ですがログは自動的にある一定の期間(DBの種類によって異なる)でローテートされてしまいますので長期間ログの保存が必要な方はAPIやコンパネからログをダウンロードして保存することをおすすめします。

Avatar photo

SNOWSKI

大阪にあるどこかのIT会社で働いております / もしかするとあなたのそばにいるかもね...