cloudpack の ヤマグチです。 ApacheのアクセスログをElasticsearchに放り投げたいなどの時に、普通はFluentdを使うものだと思いますが中には既存のログを取り込みたい時などもあると思います。 そんなわけでRubyでApacheのアクセスログをJSONに変換するスクリプトを作ってみました。 想定するログのフォーマットはCombined形式の先頭にX-Forwarded-Forを追加した、以下のような形式です。 LogFormat “%{X-Forwarded-For}i %h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-agent}i”” combined ruby access_log_to_json.rb -i some.log -o some.log.json のように使います。 123.45.67.89 10.20
![ApacheのアクセスログをRubyでJSONに変換してみる | iret.media](https://cdn-ak-scissors.b.st-hatena.com/image/square/377a9c51a86d20c871561f0ba1caf65409e4f7f2/height=288;version=1;width=512/https%3A%2F%2Firet.media%2Fwp-content%2Fthemes%2Fclp_media%2Fimg%2Fcommon%2Fogp-thumbnail_1200x630.png%3F135792468)