apacheのアクセスログを調べる時に使うコマンドのコピペメモ

apacheのログからアクセス傾向を調べたりすることがちょいちょいあるのですが、その際に使うコマンドをいちいち書くのがめんどくさくなってきたのでメモ。
awkで何番目持ってくるんだっけとか、cutでどこ削るんだっけとか数える手間。

私が使っている環境はだいたいdailyでログローテートするように設定しているので、他の環境だと日付でgrepして絞り込む必要がありそう。
(デフォルト設定だとweeklyだったはず)

// IPごと上位5件
cat access_log | awk '{print $1}' | sort | uniq -c | sort | tail -5
// リクエストごと上位5件
cat access_log | awk -F\" '{print $2}' | sort | uniq -c | sort | tail -5
// リファラごと上位5件
cat access_log | awk -F\" '{print $4}' | sort | uniq -c | sort | tail -5
// 時間ごと
cat access_log | awk '{print $5}' | grep "2017:..:..:.." | cut -b 14-15 | sort | uniq -c
// 分ごと
cat access_log | awk '{print $5}' | grep "2017:10:..:.." | cut -b 17-18 | sort | uniq -c
// 秒ごと
cat access_log | awk '{print $5}' | grep "2017:10:10:.." | cut -b 20-21 | sort | uniq -c

よく使うのはこの辺。

ログファイルをパイプで流し込まずにawkで直接開かせてもいいのですが、コマンドの先頭で明示的にファイル開いた方が視認性良かったり対象変更しやすかったりで楽に思うのでこんな感じで。

リクエスト毎、リファラ毎はダブルクォーテーションで括られているので取り出しやすくて良い感じ。
逆に他の要素拾ってこようとすると面倒くさそう。あまり必要になったこともないですけど。

時間ごとはdailyローテートでやってるので横着してますが、weeklyローテートだと 03/Oct/2017:mm:ss といった形でgrepかけないと日付特定できなくていやん。

今度使う時はここからコピペしよう。
ログの吐き出し方が違っている環境に入った時も少し弄るだけでなんとかなるはず。

古戦場結果_201709

風パが一番強いとか言っていたのはいつの日か。
環境に追いつけずに苦手意識を隠せない風有利古戦場でした。

そんな訳で80000位入るのがやっと。
多少苦手でも休日を生贄に捧げれば40000位超えぐらいはどうにかなった感触ですが、全日程平日だったのでつらし。

装備はこんな感じのテンプレ。
以前はコスモス銃など使っていたものですが、天司武器やEX攻刃武器の参入で外に外れてしまいました。

編成は90HELLまではベルセルク、ニオ、レナ、メリッサベル。
95HELLからはカオスルーダー、ガウェイン、ニオ、レナ。
ニオのサポアビのおかげでアマブレⅡが初回だけなら必中気分で使えるので気楽でした。95HELLからは3分切れないので無理。

次は水有利だそうで。ヴァルナがいないのでちょっと面倒くさいところ。
最近リミカタをお迎えできた事もあり、無垢剣でDATAだけでも盛っておきたいなと思う今日このごろでした。