Webサーバのログ集計の素振りに便利なツール達
k1low.hatenablog.com
この記事を見て、そういえば自分もよくgrepコマンドなど組み合わせてアクセスログから条件に応じた集計をよくやってるなと気づきました
すぐにfilt試してみたかったのですが、記事にあるようなアクセスログを常時吐いてくれるような環境が手元になかったので、まずはそうしたランダムなアクセスログ生成するツールがないか調べたところすぐ見つかりました
github.com
しかし自分は業務ではltsv形式のログを扱う事が多いためltsv形式のログが欲しかったのですが、このgemはそのあたりもきちんと考慮されており、出力ログフォーマット拡張に対応していました
また、ググるとすでにそれっぽいのが見つかったのですが、ちょっと使いづらかったので少々手直ししてltsv形式のログ出力してくれるツールを作りました
このツールを使って以下のようにltsv形式のランダムなログを生成することができました
$ bundle exec ruby app.rb --limit=1000 --rate=100 > access.log
また、filtのAlternativesとしてレポジトリにて紹介されているupも便利そうで、過去の保存済みログファイルなどに対して色々集計を試したい場合はこちらが便利そうでした github.com
upに対して先程生成したアクセスログファイルを喰わせて
$ cat access.log |& up
そして、ltsv形式のログを扱う際に便利なlltsvというツールがあるためこれも集計コマンド内に組み込んだりもして github.com
最終的には以下のようにログ集計の素振り環境を用意することができました
(upのコンソール画面) | lltsv -k method | sort | uniq -c 912 method:GET 88 method:POST
(あ...filt結局試してない...)