share facebook facebook2 twitter menu hatena pocket slack

2013.05.22 WED

Python版AWSコマンドラインツールでRDSのログ(すべてのファイル)をダウンロード

鈴木 宏康

WRITTEN BY鈴木 宏康

以下の記事でRDSのログ出力とPython版AWSコマンドラインツールを使ったログのダウンロード(個別)を
紹介しました。

今回は個別ではなく、特定のRDSで出力されているすべてのログ(ファイル)をダウンロードしてみました。
(“describe-db-log-files”でログファイル一覧を取得しています)

スクリプトは下記のようになります。


# cat download-db-logs
#!/bin/sh

FILES=`aws rds describe-db-log-files
--db-instance-identifier $1
| jq '.DescribeDBLogFiles[].LogFileName'
| sed 's/"//g'`

for FILE in $FILES; do
echo "######## $FILE ########"
aws rds download-db-log-file-portion
--db-instance-identifier $1
--log-file-name $FILE
| jq '.LogFileData'
| sed 's/^"//'
| sed 's/"$//'
| sed 's/\t/t/g'
| sed 's/\n/n/g'
done

実行すると下記のようになります。


# ./download-db-logs master
######## error/mysql-error-running.log ########
null
######## error/mysql-error-running.log.12 ########
130502 11:11:27 [Warning] IP address '10.0.0.210' could not be resolved: Name or service not known
...
######## error/mysql-error-running.log.9 ########
130502 8:02:03 [Note] /rdsdbbin/mysql/bin/mysqld: Normal shutdown
...
######## error/mysql-error.log ########
null
######## general/mysql-general.log ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## general/mysql-general.log.12 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## general/mysql-general.log.13 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## general/mysql-general.log.14 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## slowquery/mysql-slowquery.log ########
null
######## slowquery/mysql-slowquery.log.12 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## slowquery/mysql-slowquery.log.13 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...
######## slowquery/mysql-slowquery.log.14 ########
/rdsdbbin/mysql/bin/mysqld, Version: 5.5.27-log (Source distribution). started with:
...

本件、”Marker”や”AdditionalDataPending”は考慮していません。
また、”AdditionalDataPending: true”、つまり未ダウンロードのログが残っている場合は、
そのログはダウンロードできません。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。