LogParserを使ってIISのアクセスログを集計してグラフ化したいと思います。

下記スクリプトは、URIに"error1"を含むページを時間帯別に集計してグラフ化しています。
"error1"だけでなく、"error2","error3"など複数のページ別で、時間帯別に集計したいのですが、どのように記述すればいいか教えてください。

logparser "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits INTO MyChart.gif FROM ex*.log WHERE cs-uri-stem like '%%error1%%' GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -o:CHART -chartType:ColumnClustered -chartTitle:"Hourly Hits" -groupSize:600x400

回答の条件
  • 1人5回まで
  • 登録:2007/02/18 19:28:36
  • 終了:2007/02/25 17:39:29

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912007/02/21 12:22:06

ポイント100pt

一度の集計ではできなかったので、力技ですが error ごとに集計をしています。

下記は BAT ファイルとして実行することを想定しています。

@Echo Off

Set ChartOption=-o:CHART -chartType:ColumnStacked -chartTitle:"Hourly Hits" -groupSize:600x400  -categories:ON -view:on
Set ChartFile=myGraph.gif
Set TempFile=stat.csv

REM // error1 を集計
logparser "SELECT TO_STRING(time, 'HH') AS Hour, COUNT(*) AS Hits1, 0 As Hits2, 0 As Hits3 INTO %tempFile% FROM ex*.log WHERE cs-uri-stem like '%%error1%%' GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -stats:off -fileMode:1

REM // error2 を集計
logparser "SELECT TO_STRING(time, 'HH') AS Hour, 0 AS Hits1, COUNT(*) AS Hits2, 0 As Hits3 INTO %tempFile% FROM ex*.log WHERE cs-uri-stem like '%%error2%%' GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -stats:off -fileMode:0

REM // error3 を集計
logparser "SELECT TO_STRING(time, 'HH') AS Hour, 0 AS Hits1, 0 AS Hits2, COUNT(*) AS Hits3 INTO %tempFile% FROM ex*.log WHERE cs-uri-stem like '%%error3%%' GROUP BY Hour ORDER BY Hour ASC" -i:IISW3C -stats:off -fileMode:0

REM // グラフを作成
logparser "SELECT Hour, Sum(Hits1) AS error1, Sum(Hits2) AS error2, Sum(Hits3) AS error3 Into %ChartFile% FROM %tempFile%  Group By Hour ORDER BY Hour ASC" -i:CSV %chartOption% -stats:off

logParser は以前から使っていましたが、まだまだ知らない機能がたくさんありましたので、今回は私も勉強になりました。

id:itomune

ありがとうございます。

ご返信が遅くなりましてすみません。

なるほど。こういった方法もあるのですね。

私はプログラミングがぜんぜんできないので、

勉強になります。

また、使っている方がいると思うと心強いです。

また別のエントリでご質問させて頂くこともあるかと思いますが、

どうぞ宜しくお願いいたします。

2007/02/25 17:38:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません