CloudWatch Logs(.gz)をCSV・JSONLに変換
CloudWatch LogsからS3へエクスポートした複数の.gzログを展開し、時刻順に並べてCSVまたはJSONLへ変換します。
データ変換前後の確認ポイント
1変換前に確認
- 元ファイルを残し、文字コードやデータ形式を確認してから変換します。
- 先頭行が見出しか、列名やキーが期待どおりかを確認します。
- 個人情報や機密データを含む場合は、処理場所と共有先を確認します。
2変換後に確認
- プレビューで日本語、列名、行数が正しく読めているか確認します。
- Excelや利用先のシステムで開き、日付や長い数値の表示も確認します。
- 変換後のファイルは別名で保存し、元データと比較できるようにします。
次に続けやすい作業
CloudWatch Logs変換とは?
S3エクスポートで分割されたログをまとめ、先頭のepochミリ秒またはISO時刻をdatetime列へ変換します。JSONメッセージは検索しやすい列にも展開します。
順序が保証されない分割ログを並べ直す
CloudWatch LogsのS3エクスポートは複数のgzipオブジェクトに分かれ、チャンク内の順序も保証されません。このツールは読み取れたtimestampでイベントを昇順に並べます。
プレーンテキスト、timestamp + message、JSON Lines、Subscription Filter形式のlogEventsを読み取ります。messageがJSONならmessage.列を追加します。
対応するログ行
- epochミリ秒 + メッセージ
- ISO 8601時刻 + メッセージ
- JSON Lines
- logEvents配列を持つSubscription形式
- 時刻を持たないプレーンテキスト
出力形式
CSV
Excelで時刻・レベル・JSONフィールドを絞り込めます。
JSONL
1イベント1行を保ち、ログ分析ツールへ渡しやすくします。
使い方
- 1S3から取得した.gzログを複数選択します
- 2変換ボタンを押します
- 3時刻順のイベントを確認します
- 4CSVまたはJSONLを保存します
よくある質問
ログの順番は直りますか?
timestampを読み取れた行は昇順に並べます。時刻がない行は後ろに保持します。
JSONログも列にできますか?
はい。messageがJSONオブジェクトなら、message.levelのような列へ展開します。
大容量ログにも使えますか?
ブラウザのメモリ内で処理するため、非常に大きなエクスポートは分割して使ってください。
あわせて使いやすい関連ツール
使い方に迷ったときはガイドも確認
画像形式の違い、圧縮のコツ、PDFのまとめ方などをガイドページで整理しています。