WEB サーバのログを TSV に変換しようと思った理由
WEB サーバのログ、common log format という形式で記録されている。
タブ区切りなら、cut コマンドでフィールド抽出したりできるのにな、 とか、日付は、isoformat のほうが、見やすいし、ソートもできるのに、 と思っていた。
そこで、common log format をタブ区切り(tsv) に変換するスクリプトを、今ごろになって作ってみた。 今ごろ作ったので、同じようなものが、どこかにあるかもしれない。
ログは、gzip されていることが多いので、.gz の拡張子が付いていると gzip ファイルとして開く。
docker コンテナで common log format を tsv に変換する
いちいちダウンロードするのもめんどいな、と思ったので、docker コンテナにしてみた。
次のようにして使う。
zcat -f $(ls -tr /var/log/nginx/access.log*) | docker run -i --rm moriya9n/cl2tsv | grep -i googlebot | cut -f 4,5,6 | grep 404
やろうとしていることがあやしいが。。。