我用日志解析器在我的 IIS 日志上获取每小时访问量的图表:
SELECT date,QUANTIZE(time,3600),COUNT(*) FROM ex*.log WHERE cs-uri-stem
LIKE '%SomePage.aspx' GROUP BY date,QUANTIZE(time,3600)
问题:如果在一小时内没有访问 SomePage.aspx,则输出中会缺少该行。我只是想知道,我是否可以告诉 LogParser 为每个小时插入一行,即使 COUNT(*) 为 0?
基本上我需要一些东西来告诉 logparser 使用 MIN(date) 和 MAX(date) 作为“边界”并“期望”每小时一行。当前显示只是进入文本文件,然后进入 Excel 以创建图表(SomePage.aspx 上每小时的点击次数),因此要获得正确的线性图表,我需要每小时的条目,即使它是 0,如果我可以直接从 LogParser 获取它,那就太好了。
答案1
您似乎非常接近这里各位经理经常向我提出的一个要求。“您能告诉我 [此处插入名称] 网站上哪些部分没有被访问吗?”
答案很简单,就是任何未报告为已访问的内容。我已经多次解释过,不可能报告日志中未记录的内容!
零点击报告本质上是对整个网站(100 或 1000 个页面?)的报告,但不包括已访问的页面。随着网站规模的扩大,这种方法变得不那么实用。
您对数据的意图是什么 - 您的查询仅列出要筛选的数据 - 您是否将其放入任何类型的文件/档案/数据库中以供进一步处理,例如用于 Excel 生成图表的 csv 文件、用于活动报告的 SQL DB ..?
答案2
您必须将其与列出您感兴趣的时间的表进行外部连接。