概要
アプリケーションログやDBログなどS3にgz形式で保存した場合のログの確認方法についてまとめます。
前提
- AWS CLIが使用できる
本記事ではバケット内のファイルをダウンロードしておりますが、jsonなどのテキストファイルであればS3 SelectやAthenaも選択肢に入れておくと良いです。
今回使用するもの
AWS S3
ターミナルなどの
方法
1. ダウンロードする
ダウンロードする前にダウンロードしたいフォルダに移動しておきましょう。
まずはS3内のバケットを確認
aws s3 ls
下記のようにバケットが表示されます
2020-01-17 20:36:54 バケットA
2020-01-17 21:42:54 バケットB
ダウンロード
aws s3 sync s3://バケットA ./
バケットAの中身全てローカルにダウンロードされます
2. ログを確認する
find {フォルダA} -type f | xargs gzcat | jq | grep [検索したい文字列]
gz圧縮、json形式
などのファイルであれば使用できると思います
コマンド解説
- find {フォルダA} -type f
- フォルダA以下のファイルを取得
- xargs
-
コマンドA | xargs コマンドB
→ コマンドAの結果をコマンドBに渡す
-
- gzcat
- gz形式を解凍
- ここではfindで取得したgz形式のファイルを解凍している
- jq
- json形式であればきれいに整形してくれる
- こちらを参考
- grep
- 最後は検索したワードで絞りこみ