LogParser的IIS网站分析技

LogParser介绍

LogParser是微软的一个免费的日志分析工具,它支持许多格式的文件类型。主要有如下几类:

· IIS 文件格式

Ø IISW3C: IIS产生的W3C扩展格式

Ø IIS: IIS专有格式.

Ø BIN: IIS的BIN格式.

Ø IISODBC: IIS可以把日志存储在数据库中。LogParser可以分析存储在数据库中的IIS日志.

Ø HTTPERR: Http.sys日志格式.

Ø URLSCAN: URLScan 日志格式.

· 通用文本格式

Ø CSV: 逗号分隔符文件.

Ø TSV: 以空格或者以制表符分隔的文件.

Ø XML: XML格式.

Ø W3C: W3C格式.

Ø NCSA: NCSA格式.

Ø TEXTLINE: 普通文件文件. LogParser可以按行返回内容

Ø TEXTWORD: LogParser可以把按字返回内容.

· 系统信息

EVT: 事件日志文件.

FS: 文件目录.

REG: 注册表格式.

ADS: AD信息.

另外还有一些其它格式,如NetMon, ETW等,在此不详述了。

LogParser原理

LogParser架构如下图所示:

注:图片引自http://e-mojo.net/wp-content/uploads/2009/11/logparser_architecture.gif

LogParser的核心为类SQL引擎,主要用于LogParser的SQL解析。使用LogParser我们可以把日志文件转换为很多格式,然后,我们可以用自己顺手的工具对其进行分析。

需要注意的是,如果我们要输出图形格式,必须安装Office Web组件。

IIS高级日志分析

本文主要介绍一些高级IIS日志分析功能,基本的分析功能请参考这些BLOG:

http://hi.baidu.com/tpxc/blog/item/b6e4561060f2ecf9c2ce7931.html

http://www.cnblogs.com/yonglun/archive/2007/02/20/652929.html

每天用户访问数

logparser "SELECT To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time))) AS [Date1], c-ip AS CIP INTO IISHC_DistinctClientIPPerDay.csv FROM *.log GROUP BY [Date1], CIP" -i:IISW3C -o:CSV -recurse:-1

我们按日期进行汇总,主要是利用Group by 实现。由于IIS日志中时间为UTC格式,因此,我们需要使用To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))把其转换为本地时间。

recurse:-1参数使LogParser对子目录下所有文件进行统计。

本例中产生一个CSV文件,我们可以使用Excel进行处理,得出每天用户数曲线(当然,我们也可以直接用LogParser产生图形)。如下是一个例子:

每小时用户访问数

logparser "SELECT TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date, time),3600)) AS Hours, COUNT(*) AS Hits INTO IISHC_RequestsPerHour.csv FROM *.log where To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))=TIMESTAMP(‘10/08/2010‘,‘MM/dd/yyyy‘ ) GROUP BY Hours ORDER BY Hours" -i:IISW3C -o:CSV -recurse:-1

主要用法与上例类似。不过我们需要指定日期。指定日期在where To_Date(TO_LOCALTIME(TO_TIMESTAMP(date, time)))=TIMESTAMP(‘10/08/2010‘,‘MM/dd/yyyy‘ )中实现。

拆分文件

缺省情况下,IIS每天产生一个日志文件。对于一些特别繁忙的网站来说,IIS日志文件可能会非常大。我曾经有一个客户,每个日志文件有2个G之多。这么大的文件用LogParser进行分析时会非常慢,同时也很容易报错。

解决办法是把日志文件进行拆分成许多小文件分别进行分析。如下命令可以把一个IIS日志按小时分成24个文件:

logparser "SELECT REPLACE_CHR(REPLACE_CHR(TO_STRING(TO_LOCALTIME(QUANTIZE(TO_TIMESTAMP(date, time), 3600)), ‘yyyy-MM-dd hh:mm:ss‘), ‘:‘, ‘_‘), ‘ ‘, ‘_‘), date, time, c-ip, cs-uri-stem, cs-uri-query, sc-status, sc-substatus, sc-win32-status, sc-bytes, cs-bytes, time-taken FROM ex080114.log TO ex080114_*.log" -i:IISW3C -o:W3C

这里边的技巧请大家自己去理解J 怎么样?

附录

1. LogParser下载地址

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

2. Office 2003 Web Component

http://www.microsoft.com/downloads/en/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en

3. Security Update for Microsoft Office Web Components

http://www.microsoft.com/downloads/en/details.aspx?familyid=95c94c9a-6aca-42fb-9679-3234f06c72f7&displaylang=en

Robert

时间: 2024-10-13 10:37:50

LogParser的IIS网站分析技的相关文章

网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方 对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情.有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的.还有些时候,我们希望不断地优化网站,让网站更快速的响应用户请求,这些事情都发生在开发之后的运维阶段. 与开发阶段不同的,运维阶段不可能让你去调试程序,发现各

IIS网站日记分析

IIS日志-网站运维的好帮手 阅读目录 开始 IIS日志包含了哪些信息 IIS日志的配置 如何分析IIS日志 推荐的IIS日志分析方法 IIS日志中的异常记录 再谈 scwin32status=64 寻找性能问题 寻找可改进的目标 程序架构对IIS日志分析过程的影响 如果你按照我前面介绍的方法设置了IIS日志参数,那么IIS在处理请求后(的一段时间之后),会生成IIS日志. 我们可以在[日志界面]的右边区域[操作]中点击[查看日志文件]快速定位到IIS日志的根目录, 然后到目录中寻找相应的日志文

IIS日志分析的作用

站长都知道有ISS日志,可是有很少人去关注它,也许你觉得在一些站长工具里面我们就能找到我们想要的工具,哪你就错了,我们的网站被收入靠的是蜘蛛,想要真正了解蜘蛛,就一定要好好重视iss日志分析,为什么这么说? 第一, 我们发的外链情况如何. 第二, 我们需要什么时间上传新内容,蜘蛛哪个时间抓取次数多. 第三, 我们买的空间稳定程度. 第四, 我们哪些网页是蜘蛛的最爱,而哪些网页时蜘蛛不爱的 看看分析IIS日志有哪些用途: 1, 通过IIS日志分析我们可以清楚看到蜘蛛喜欢哪些网页,讨厌哪些网页,而又

IIS日志分析

IIS日志分析工具:LogParse.sqlserver 2008 1.从将IIS日志转换到数据库表中 logparser "SELECT TO_LOCALTIME(TO_TIMESTAMP(ADD(TO_STRING(date, 'yyyy-MM-dd '), TO_STRING(time, 'hh:mm:ss')),'yyyy-MM-dd hh:mm:ss')) AS RequestTime, * FROM 'D:\phone.log' to phonelog" -i:IISW3C

win8以上系统查看iis网站进程内存占用情况

由于win8以上系统在任务管理器中已经屏蔽了具体的IIS网站的进程,在进程以及详细中无法区分是哪个站点了,所以我们需要先知道各站点对应的进程pid,然后再到任务管理器中根据具体的pid查看资源占用情况. 具体操作方法: 1.win微标+x,选择 命令提示符(管理员)(A) 2.在cmd窗口中输入下面命令,可以直接复制,即可查看所有运行中的站点的pid: c:\Windows\System32\inetsrv\appcmd list wp 注意事项: 1.命令提示符必须是管理员权限 2.如果输入命

网站分析数据收集方式详解

回顾网站数据分析历史,从“您是第***位来访用户”到现在百家齐放的专业工具提供商,网站分析已经逐渐发展衍化成一门科学.但面对形态各异的分析数据,很多人仍然困惑于数据的来源,了解数据的收集原理,也许对你解决这些困惑有所帮助. 眼下网站分析数据主要有三种收集方式:Web日志.JavaScript标记和包嗅探器. 1. Web日志 下图是Web日志收集数据过程的示意图. 从上图可以看出网站分析数据的收集从网站访问者输入URL向网站服务器发出http请求就开始了.网站服务器接收到请求后会在自己的Log文

IIS网站属性中没有ASP.NET选项

打开IIS6,右击属性,居然没有发现ASP.NET的配置选项,虽然好久没搞这个了,但是印象中绝对是有一个ASP.NET选项卡的.我很奇怪,我以为是.net framework 2.0没安装,下载下来安装,提示已经安装了,打开"删除添加程序",的确已经安装了.查看IIS的"Web 服务扩展",发现已允许asp.net1.1和asp.net2.0, 网上一搜,发现有人说先安装.NET再安装IIS的话,会导致IIS无法解析.NET.确切地说应该不是无法解析,而是.NET的

局域网不能访问本机IIS网站的解决方法

背景:Win7环境下,本机能访问本机IIS网站,但局域网其它电脑访问不了. 解决方法: 一.如果IIS网站是80端口:点击右下角“电脑”图标 -> 点击“打开网络和共享中心” -> 在弹出界面左下角点击“Windows 防火墙”-> 点击左上角“允许程序或功能通过Windows防火墙”-> 勾选“万维网服务(HTTP)” -> 点击“确定”. 二.如果IIS网站不是80端口:“Windows 防火墙”->“高级设置”->“本地计算机上的高级安全Windows防火墙

Web 应用程序项目 XXXX 已配置为使用 IIS。 无法访问 IIS 元数据库。您没有足够的特权访问计算机上的 IIS 网站。(转载)

Web 应用程序项目 XXXX 已配置为使用 IIS. 无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 2012年05月19日 ⁄ 综合 ⁄ 共 261字 ⁄ 字号 小 中 大 ⁄ 评论关闭 问题:Windows8下直接使用VS 打开项目,出现问题: XXXX 已配置为使用 IIS.  无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 解决: 1.以"管理员权限"运行VS,在VS菜单打开项目即可. 但是以上解决方法不方便. 2.较为