web-dev-qa-db-ja.com

LogParserとQuantize:空の値に0を追加します

IIS Logで LogParser を使用して、1時間あたりのアクセス数のグラフを取得します。

SELECT date,QUANTIZE(time,3600),COUNT(*) FROM ex*.log WHERE cs-uri-stem
LIKE '%SomePage.aspx' GROUP BY date,QUANTIZE(time,3600)

問題:1時間の間にSomePage.aspxへのアクセスがない場合、その行は単に出力から欠落しています。 COUNT(*)が0の場合でも、LogParserに1時間ごとに行を挿入するように指示できますか?

基本的に、私はlogparserにMIN(日付)とMAX(日付)を「境界」として使用し、1時間に1行を「期待」するように指示するものが必要です。現在、表示はテキストファイルに、次にExcelに表示されてグラフ(SomePage.aspxでの1時間あたりのヒット数)が作成されるため、適切な線形グラフを取得するには、0であっても、1時間ごとにエントリが必要です。 LogParserから直接取得できます。

2
Michael Stum

ここの様々なマネージャーから私が頻繁に受けるリクエストに非常に近いようです。 「[ここに名前を挿入] Webサイトのどの部分にアクセスしていないか教えてください。」

答えは、訪問したと報告されていないものです。ログにないものは何度も報告できないという説明を回ってしまいました!

ゼロヒットのレポートは、基本的に、訪問したページを除いたWebサイト全体(数百または数千のページ??)のレポートです。サイトのサイズが大きくなると、実用性が低下します。

データの目的は何ですか?クエリはスクリーニングするデータを一覧表示するだけです-これを任意の種類のファイル/アーカイブ/データベースに入れてさらに処理しますか?たとえば、Excelのcsvファイルでグラフを作成したり、SQLDBでアクティビティレポートを作成したりしますか?

1
Fatherjack