LogParser 日付単位のPVを集計する
2005/08/22(初出2005/02/10)
たとえば2005/2/10のログファイルだけを対象にして、日付単位のSQLを流すとします。
LogParser -i:IISW3C "Select date, count(*) from c:\temp\*.log group by date"
このようにすることによって日付単位に集計することが出来ます。
今回の場合には2005/2/10のログだけなので、
date COUNT(ALL *)
---------- ------------
2005-02-10 2012
このようになります。
ただしIISログの場合にはUTC(世界協定時間)で保存されているので、日本標準時とは9時間ずれています。
それらを補正するには
TO_DATE(TO_LOCALTIME(TO_TIMESTAMP(date,time)))としてやる必要があります。
dateとtimeを利用してタイムスタンプ型に変換→ローカルタイムに変換→日付だけ抽出となります。
結果的に
LogParser -i:IISW3C "Select dat,count(*) using TO_DATE(TO_LOCALTIME(TO_TIMESTAMP(date,time))) as dat from c:\temp\*.log group by dat"
このようなSQLを流すことにより
dat COUNT(ALL *)
---------- ------------
2005-02-10 988
2005-02-11 1024
このように実際に日本標準時で言うと半々くらいだと言うのがわかるわけです。