ログ出力回数を日時単位で集計

/var/log/messagesに出力された以下のような形式のログを見つけて、日時でselect count(*) group by date的なことを行った。

Jan 13 03:30:03 www kernel: hogehoge
# grep --no-filename "kernel: hogehoge" /var/log/messages* \
| awk -F '[ :]+' '{printf "%s %s %s\n",$1,$2,$3}' \
| uniq -c
      9 Jan 8 04
      9 Dec 18 04
      7 Dec 25 04
      9 Jan 1 04

実稼働中の環境で行うときは、 変な負荷かけないために、niceコマンド を噛ませたほうが安心。

# ionice -c 2 nice -n 19 grep --no-filename "kernel: hogehoge" /var/log/messages* \
| ionice -c 2 nice -n 19 awk -F '[ :]+' '{printf "%s %s %s\n",$1,$2,$3}' \
| ionice -c 2 nice -n 19 uniq -c
      9 Jan 8 04
      9 Dec 18 04
      7 Dec 25 04
      9 Jan 1 04