アクセスログを見る
>ふとユニークアクセスを気にしてこんなスクリプトを書いてみた。
>
>% cat /var/log/httpd-access.log | grep 'GET /d' | ruby -ne
'BEGIN { $l = {} };
ip, d = $_.sub(/\[(.*?):.*/, "\\1").sub(/\s+-\s+-\s+/, " ").split; ($l[d] ||= []).push(ip);
END { $l.each_pair{ |k, v| p [k, v.uniq.size]} }' > >※ホントはワンライナーで書いてますが、長いと見苦しいんで適当に改行しています > >ついでにグラフにしたいな、と思ったが、 gnuplot で日付を取り扱う方法について知らない。ので、ちょっと検索してみたら >これ >を発見。 > >set xdata time のように、 xdata や ydata のタイプを明示的に指定できる。時刻のフォーマットは set timefmt で指定できる。いわゆる strftime 形式のマークアップだと理解しておけばよいか。これは便利だなぁ。 > >っていうかこのページはすごいな。 gnuplot は、ごく基本的なことはわかっていたものの、細かいところはよく知らず、薄い本を一冊持っているのでそれでなんとかこなしてきたのだが、そもそも using なんて知りませんでしたよ。ってそれくらいは本読めよっていう感じですが……。 > >gnuplot の細かい知識というのはバッドノウハウとはちょっと違うと思うけれど、機能が多すぎてどうすればいいのかぜんぜんわからないというのは同じですね。こういうページがあると助かるわ。 > >話をもとにもどすと、だいたいユニークアクセスは日に300〜400くらいあるみたいです。いつもありがとうございます。正直、こんなにアクセスがあると思ってませんでした。 >
'BEGIN { $l = {} };
ip, d = $_.sub(/\[(.*?):.*/, "\\1").sub(/\s+-\s+-\s+/, " ").split; ($l[d] ||= []).push(ip);
END { $l.each_pair{ |k, v| p [k, v.uniq.size]} }' > >※ホントはワンライナーで書いてますが、長いと見苦しいんで適当に改行しています > >ついでにグラフにしたいな、と思ったが、 gnuplot で日付を取り扱う方法について知らない。ので、ちょっと検索してみたら >これ >を発見。 > >set xdata time のように、 xdata や ydata のタイプを明示的に指定できる。時刻のフォーマットは set timefmt で指定できる。いわゆる strftime 形式のマークアップだと理解しておけばよいか。これは便利だなぁ。 > >っていうかこのページはすごいな。 gnuplot は、ごく基本的なことはわかっていたものの、細かいところはよく知らず、薄い本を一冊持っているのでそれでなんとかこなしてきたのだが、そもそも using なんて知りませんでしたよ。ってそれくらいは本読めよっていう感じですが……。 > >gnuplot の細かい知識というのはバッドノウハウとはちょっと違うと思うけれど、機能が多すぎてどうすればいいのかぜんぜんわからないというのは同じですね。こういうページがあると助かるわ。 > >話をもとにもどすと、だいたいユニークアクセスは日に300〜400くらいあるみたいです。いつもありがとうございます。正直、こんなにアクセスがあると思ってませんでした。 >