apache/iis访问日志转到sql存储的程序思维

现实工作中,可能让N多网管员们,头疼的一件事,就是公司网站的IIS日志的管理工作,IIS日志,可是存贮了大量有用的信息,甚至成为网站受攻击时取证的重要来源。当然,如何管理,如何查看成了大家心里的痛,用过LOGPASER,用过PSLOGLIST,可是都不能太好的解决所遇到的问题,怎么办?
不要急,下面提供一种方法,看是否能满足你日常的IIS日志管理需要,看是否能解决好你比较头痛的问题呢?
    本次实验的目的,就是让IIS日志适时的保存在SQL数据库里,以备可以及时查询访问网站的情况,并为IIS管理工作带来便利!

   实验环境:
1、    SQL数据库所在机器:Windows server 2003企业版式 SP1+SQL SERVER 2000 SP4
2、    IIS网站所在的机器:Windows server 2003企业版式 SP1+ODBC数据源+IIS6.0
3、    局域网环境,系统均为双网系统,其中内网网络连接成1000Mb
4、    要求的知识:对IIS6.0建站流程及设置应用熟练;对ODBC相当了解;对SQL SERVER 数据库建立及Select语句会简单应用
5、说明:本实验在IIS6.0实验通过,但在IIS5.0中更实验通过,所以就不要担心此问题
下面就按步骤将实验过程罗列出来,并作简要说明,尤其是注意事项,在有心人参考实验过程中有不了解的,本人QQ或是MSN提供技术交流。

实验步骤简述:
A、    在IIS管理器里设置日志记录属性
B、    在ODBC建立相对于IIS日志的相关属性
C、    在SQL SERVER上创建数据库及表


1、在IIS网站的所在的机器上,设置IIS日志,使“活动日志格式”为ODBC日志记录。如下图所示:



2、使活动格式成为ODBC数据源后,点属性后,在出现的对话框中填相应的记录,这里,改动表的名字为IIS93_20(在SQL数据库中,如果建的日志较多,可以较清楚的看到是哪个表项),并改用户名和密码为SQL SERVER上的验证的用户名和密码(可以改为其他的,取决于SQL SERVER的验证方式),这一步比较关键要设好。确定之后,这一步就完成了。如下图所示:




3、在IIS管理器里,设置好相关属性后,就要在ODBC里设置了。在管理工具里找到ODBC数据源这一项,打开,点“系统DSN”,新建数据源,在出现的对话框选择SQL SERVER作为数据源的驱动程序。如下图所示:




4、点选完成后,出现如下图对话框,数据源名称为HTTPLOG,服务器选择,你要创建IIS日志的SQL数据库所在的机器的名字。并下一步:



5、注意,这时,已经要在SQL SERVER上创建一数据库(不用做任何设置),为了方便也取名为HTTLOG,这是为在ODBC继续步骤4、往下做,做准备。如下图:




6、接步骤4、,在这个出现的窗口中设置相关属性,设好后的结果如下图,请各位注意就可以了。




7、下一步,出现的窗口如下,这里,默认的数据库可以改变,也可以不改变,直接下一步,就可以,之后的步骤默认设置就行,不截图说了。但要注意的是,要测试是否可以SQL SERVER链接成功。OK,在ODBC的设置完成了。





8、在程序里找到MICROSOFT SQL SERVER,这一项,打开“SQL查询分析器”打开“C:\windows\system32\inetsrv”下的logtemp.sql(用来创建IIS日志格式的表的),然后并改名为IIS93_20,并选定要把表创建在数据库HTTPLOG库中。如下图,有详细说明!



9、完成后,就执行绿色按钮,这个动作就把表创建在HTTPLOG库中了。




10、如下图,这就是在“企业管理器“控制台HTTPLOG库里看到的IIS93_20的表!



11、过几秒钟时间,可以点此表,右键查看表,返回所有行,结果如下图,到此全部完成。



12、呵呵,做个好事,把下面语句奉献给大家,它的作用就是查询在某个时间段内,访问排行前10位的IP。
当然,你可变通一下,改变查询条件来达到不同的目的哟!!

【附录】

Apache/IIS日志和网络状态

CLOSE_WAIT

http://blog.sina.com.cn/s/blog_408c00570100eek0.html

NETSTAT状态之一CLOSE_WAIT学习 (2009-08-14 08:51:33)


首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!
因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:
Server ---> FIN ---> Client
Server <--- ACK <--- Client
这时候Server端处于FIN_WAIT_2状态;而我们的程序处于CLOSE_WAIT状态。
Server <--- FIN <--- Client
这时Client发送FIN给Server,Client就置为LAST_ACK状态。
Server ---> ACK ---> Client
Server回应了ACK,那么Client的套接字才会真正置为CLOSED状态。

我们的程序处于CLOSE_WAIT状态,而不是LAST_ACK状态,

说明还没有发FIN给Server,那么可能是在关闭连接之前还有许多数据要发送或者其他事要做,导致没有发这个FIN packet。

 


 IIS日志

http://wenwen.soso.com/z/q339984695.htm

apache/iis访问日志转到sql存储的程序思维_第1张图片

apache/iis访问日志转到sql存储的程序思维_第2张图片

Windows2003环境中,IIS日志默认存储路径:C:\WINDOWS\system32\LogFiles\ ,在LogFiles文件夹下,存在多个IIS日志文件夹,

每个IIS日志文件夹对应一个站点日志。当然IIS日志文件存储位置也可以根据自己的实际情况,在IIS管理器中重新设定。
要查看对应站点的IIS日志,只需要打开对应IIS日志文件夹找到相对应日志文件即可。也可借助IIS日志分析工具提供查看IIS日志的效率!
IIS日志文件存储格式:IIS日志是后缀名为log的文本文件。
IIS日志文件代码格式:
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2009-11-26 06:14:21
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status 
2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 123.125.66.130 Baiduspider+(+ http://www.baidu.com/search/spider.htm) 200 0 64
2009-11-26 06:14:21 W3SVC692644773 125.67.67.* GET /index.html - 80 - 220.181.7.116 Baiduspider+(+ http://www.baidu.com/search/spider.htm) 200 0 64
IIS日志参数详解:
date:发出请求时候的日期。
time:发出请求时候的时间。注意:默认情况下这个时间是格林威治时间,比我们的北京时间晚8个小时,下面有说明。
c-ip:客户端IP地址。
cs-username:用户名,访问服务器的已经过验证用户的名称,匿名用户用连接符-表示。
s-sitename:服务名,记录当记录事件运行于客户端上的Internet服务的名称和实例的编号。
s-computername:服务器的名称。
s-ip:服务器的IP地址。
s-port:为服务配置的服务器端口号。
cs-method:请求中使用的HTTP方法,GET/POST。
cs-uri-stem:URI资源,记录做为操作目标的统一资源标识符(URI),即访问的页面文件。
cs-uri-query:URI查询,记录客户尝试执行的查询,只有动态页面需要URI查询,如果有则记录,没有则以连接符-表示。即访问网址的附带参数。
sc-status:协议状态,记录HTTP状态代码,200表示成功,403表示没有权限,404表示找不到该页面,具体说明在下面。
sc-substatus:协议子状态,记录HTTP子状态代码。
sc-win32-status:Win32状态,记录Windows状态代码。
sc-bytes:服务器发送的字节数。
cs-bytes:服务器接受的字节数。
time-taken:记录操作所花费的时间,单位是毫秒。
cs-version:记录客户端使用的协议版本,HTTP或者FTP。
cs-host:记录主机头名称,没有的话以连接符-表示。注意:为网站配置的主机名可能会以不同的方式出现在日志文件中,原因是HTTP.sys使用Punycode编码格式来记录主机名。
cs(User-Agent):用户代理,客户端浏览器、操作系统等情况。
cs(Cookie):记录发送或者接受的Cookies内容,没有的话则以连接符-表示。
cs(Referer):引用站点,即访问来源。
HTTP协议状态码的含义,协议状态sc-status,是服务器日记扩展属性的一项。下面是各状态码含义列表:
"100" : Continue 客户必须继续发出请求
"101" : witching Protocols 客户要求服务器根据请求转换HTTP协议版本  200交易成功
"200" : OK 交易成功
"201" : Created 提示知道新文件的URL
"202" : Accepted 接受和处理、但处理未完成
"203" : Non-Authoritative Information 返回信息不确定或不完整
"204" : No Content 请求收到,但返回信息为空
"205" : Reset Content 服务器完成了请求,用户代理必须复位当前已经浏览过的文件
"206" : Partial Content 服务器已经完成了部分用户的GET请求
"300" : Multiple Choices 请求的资源可在多处得到
"301" : Moved Permanently 删除请求数据
"302" : Found 在其他地址发现了请求数据
"303" : See Other 建议客户访问其他URL或访问方式
"304" : Not Modified 客户端已经执行了GET,但文件未变化
"305" : Use Proxy 请求的资源必须从服务器指定的地址得到 
"306" 前一版本HTTP中使用的代码,现行版本中不再使用
"307" : Temporary Redirect 申明请求的资源临时性删除
"400" : Bad Request 错误请求,如语法错误
"401" : Unauthorized 请求授权失败
"402" : Payment Required 保留有效ChargeTo头响应
"403" : Forbidden 请求不答应
"404" : Not Found 没有发现文件、查询或URl
"405" : Method Not Allowed 用户在Request-Line字段定义的方法不答应
"406" : Not Acceptable 根据用户发送的Accept拖,请求资源不可访问
"407" : Proxy Authentication Required 类似401,用户必须首先在代理服务器上得到授权
"408" : Request Time-out 客户端没有在用户指定的饿时间内完成请求
"409" : Conflict 对当前资源状态,请求不能完成
"410" : Gone 服务器上不再有此资源且无进一步的参考地址
"411" : Length Required 服务器拒绝用户定义的Content-Length属性请求
"412" : Precondition Failed 一个或多个请求头字段在当前请求中错误
"413" : Request Entity Too Large 请求的资源大于服务器答应的大小
"414" : Request-URI Too Large 请求的资源URL长于服务器答应的长度
"415" : Unsupported Media Type 请求资源不支持请求项目格式 
"416" : Requested range not satisfiable 请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
"417" : Expectation Failed 服务器不满足请求Expect头字段指定的期望值,假如是代理服务器,
"500" : Internal Server Error 服务器产生内部错误
"501" : Not Implemented 服务器不支持请求的函数
"502" : Bad Gateway 服务器暂时不可用,有时是为了防止发生系统过载
"503" : Service Unavailable 服务器过载或暂停维修
"504" : Gateway Time-out 关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
"505" : HTTP Version not supported 服务器不支持或拒绝支请求头中指定的HTTP版本


 IIS日志

http://www.cnblogs.com/xugang/archive/2007/09/21/901143.html

日志的重要性已经越来越受到程序员的重视,IIS的日志更是不言而喻。

        IIS日志建议使用W3C扩充日志文件格式,这也是IIS 5.0已上默认的格式,可以指定每天记录客户IP地址、用户名、服务器端口、方法、URI资源、URI查询、协议状态、用户代理,每天要审查日志。如图1所示。  
 


IIS 的WWW日志文件默认位置为 %systemroot%\system32\logfiles\w3svc1\,(例如:我的则是在 C:\WINDOWS\system32\LogFiles\W3SVC1\),默认每天一个日志。

建议不要使用默认的目录,更换一个记录日志的路径,同时设置日志访问权限,只允许管理员和SYSTEM为完全控制的权限。 

  如图2所示。




如果发现IIS日志再也不记录了,解决办法:
看看你有没有启用日志记录:你的网站--> 属性 -->“网站”-->“启用日志”是否勾选。

apache/iis访问日志转到sql存储的程序思维_第3张图片

日志文件的名称格式是:ex+年份的末两位数字+月份+日期。
( 如2002年8月10日的WWW日志文件是ex020810.log )

IIS的日志文件都是文本文件,可以使用任何编辑器或相关软件打开,例如记事本程序,AWStats工具。

开头四行都是日志的说明信息

#Software        生成软件
#Version         版本
#Date            日志发生日期
#Fields          字段,显示记录信息的格式,可由IIS自定义。

日志的主体是一条一条的请求信息,请求信息的格式是由#Fields定义的,每个字段都有空格隔开。

字段解释

data                   日期
time                    时间
cs-method          请求方法
cs-uri-stem         请求文件
cs-uri-query       请求参数
cs-username       客户端用户名
c-ip                    客户端IP
cs-version          客户端协议版本
cs(User-Agent)  客户端浏览器
cs(Referer)         引用页

下面列举说明日志文件的部分内容(每个日志文件都有如下的头4行): 
#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2007-09-21 02:38:17
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status

2007-09-21 01:10:51 10.152.8.17 - 10.152.8.2 80  
GET /seek/images/ip.gif - 200 Mozilla/5.0+(X11;+U;+Linux+2.4.2-2+i686;+en-US;+0.7) 

  上面各行分别清楚地记下了远程客户端的:

            连接时间               2007-09-21 01:10:51
                 IP地址              10.152.8.17 - 10.152.8.2   
                端    口               80
            请求动作               GET /seek/images/ip.gif - 200
            返回结果               - 200 (用数字表示,如页面不存在则以404返回)
        浏览器类型              Mozilla/5.0+
系统等相关信息              X11;+U;+Linux+2.4.2-2+i686;+en-US;+0.7


附:IIS的FTP日志

IIS的FTP日志文件默认位置为%systemroot%\system32\logfiles\MSFTPSVC1\,对于绝大多数系统而言(如果安装系统时定义了系统存放目录则根据实际情况修改)则是C:\winnt\system32\logfiles\ MSFTPSVC1\,和IIS的WWW日志一样,也是默认每天一个日志。日志文件的名称格式是:ex+年份的末两位数字+月份+日期,如2002年8月10日的WWW日志文件是ex020810.log。它也是文本文件,同样可以使用任何编辑器打开,例如记事本程序。和IIS的WWW日志相比,IIS的FTP日志文件要丰富得多。下面列举日志文件的部分内容。 

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0 
#Date: 2002-07-24 01:32:07 
#Fields: time cip csmethod csuristem scstatus 
03:15:20 210.12.195.3 [1]USER administator 331  
(IP地址为210.12.195.2用户名为administator的用户试图登录) 

03:16:12 210.12.195.2 [1]PASS - 530 (登录失败)

03:19:16 210.12.195.2 [1]USER administrator 331  
(IP地址为210.12.195.2用户名为administrator的用户试图登录) 

03:19:24 210.12.195.2 [1]PASS - 230 (登录成功) 
03:19:49 210.12.195.2 [1]MKD brght 550 (新建目录失败) 
03:25:26 210.12.195.2 [1]QUIT - 550 (退出FTP程序) 

有经验的用户可以通过这段FTP日志文件的内容看出,来自IP地址210.12.195.2的远程客户从2002年7月24日3:15开始试图登录此服务器,先后换了2次用户名和口令才成功,最终以administrator的账户成功登录。这时候就应该提高警惕,因为administrator账户极有可能泄密了,为了安全考虑,应该给此账户更换密码或者重新命名此账户。

如何辨别服务器是否有人曾经利用过UNICODE漏洞入侵过呢?可以在日志里看到类似如下的记录:  
如果有人曾经执行过copy、del、echo、.bat等具有入侵行为的命令时,会有以下类似的记录: 
13:46:07 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 401 
13:46:07 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 200  
13:47:37 127.0.0.1 GET /scripts/..\../winnt/system32/cmd".exe 401 


相关软件介绍:

        如果入侵者技术比较高明,会删除IIS日志文件以抹去痕迹,这时可以到事件查看器看来自W3SVC的警告信息,往往能找到一些线索。当然,对于访问量特别大的Web服务器,仅靠人工分析几乎是不可能的--数据太多了!可以借助第三方日志分析工具,如Faststs Analyzer、Logs2Intrusions v.1.0等。此处仅仅介绍一下Logs2Intrusions日志分析工具。它是一个由Turkish Security Network公司开发的自由软件,是免费的日志分析工具,可以分析IIS 4/5、Apache和其他日志文件。可以到http://www.trsecurity.net/logs2intrusions下载最新的版本。该软件简单易用,下面是它的主界面,如图3所示。 




单击【Select】按钮后选择要分析的日志文件,然后单击【Next】按钮,在出现的窗口中单击【Begin Work】按钮即可开始分析,如图4所示。  




如图4所示,它表明已经发觉入侵的痕迹。如果没有发现痕迹则弹出如图5所示的对话框。  




在发现痕迹后单击【Next】按钮继续,如图6所示。 




【View Report】按钮是查看报告,【Save Report】按钮是保存报告,【New Report】按钮是生成新报告。下面是报告的例子,如图7所示。 




在"Intrusion Attempt"列中列出了超链接,选择它可以得到Trsecurity公司的专家的建议。和该软件同一目录中的sign.txt是入侵行为特征的关键字,用户可以根据新的漏洞的发现而随时补充。


AWStats简介:Apache/IIS的日志分析工具
http://www.chedong.com/tech/awstats.html


不同的日志类型,其存储的位置也不同:
     应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config
      Web,Ftp的日志的默认位置在:%systemroot%\system32\logfiles
  具体参看这篇文章: Win2k日志详细

IIS日志的启用和设置
  如何在 Windows 2000 中启用 IIS 日志记录站点活动

日志分析工具
日志的分析工具很多,AWStats是一个优秀的跨平台的开源日志分析工具
  
Awstats 安装使用说明 

IIS日志的内容其实是一些记录的文本
IIS日志分析 

如何在 Windows 2000 中启用 IIS 日志记录站点活动 ( MSDN )
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;300390

 


 

IIS连接数

http://baike.baidu.com/link?url=d-ewV1DdfU5PRHjF78_aFVxXKh9DBXD360MQMCt-KJP7Xi7nMB0ZN3i6Oubb4SHf

a 用户单点下载你的文件,这些连接是按照瞬间计算的。b 用户打开你的页面,就算停留在页面没有对服务器发出任何请求。c 上面b的情况用户继续打开同一个网站的其他页面,那么在线人数按照用户最后一次点击(发出请求)以后的20分钟计算。d 当你的页面内存在框架(iframe),那么每多一个框架就要多一倍的在线!e 当用户打开页面然后正常关闭浏览器,用户的在线人数也会马上清除。

 

基本简介编辑

IIS或 WEB连接数,iis连接数指并发连接数,什么意思呢?
关于IIS连接数,也叫IIS 并发数,是指同一时间内,有多少个对 服务器的请求。只有windows 主机上才会有, 微软操作系统为了系统安全,规定了系统的用户连接数,也就包括其中的IIS连接,而在常用 服务器系统windows server2003,可以不限制连接数,但不限制IIS连接数带来的后果可能就是整台服务器不稳定,即出现宕机的现象,而导致你的网站无法访问!如果你的网站超过了系统所规定的IIS连接数,就会出现Service Unavailable提示,也会无法访问了,而当用户退出访问以后,IIS会自动释放资源以便于其他用户正常访问。

2分类编辑

要分几种情况:(以100m空间50人在线为例)
a 用户单点下载你的文件,结束后正常断开,这些连接是按照瞬间计算的,就是说你50人的网站瞬间可以接受同时50个点下载
b 用户打开你的页面,就算停留在页面没有对服务器发出任何请求,那么在用户打开页面以后的20分钟内也都要算一个在线,就是说你50人的网站20分钟内可以接受不同用户打开50个页面
c 上面b的情况用户继续打开同一个网站的其他页面,那么在线人数按照用户最后一次点击(发出请求)以后的20分钟计算,在这个20分钟内不管用户怎么点击(包括新窗口打开)都还是一人在线。
d 当你的页面内存在 框架(iframe),那么每多一个 框架就要多一倍的在线!因为这相当于用户同一时间向服务器请求了多个页面。
e 当用户打开页面然后正常关闭 浏览器,用户的在线人数也会马上清除。
然后了解什么是论坛在线人数。
论坛在线只是计算一定时间内的活动用户数。
这里的时间用户可以自己设定,动网论坛默认为40分钟的相对准确值。
根据上面的说明,显然论坛在线和iis连接数的概念不同

3解决办法编辑

1:去掉垃圾的插件版,用标准版!
2:尽量不要采用框架的形式制作页面!
3:不要放任何的音乐、电影、下载!
4:防止盗连情况的发生!
5:升级购买支持更多在线人数的空间!

4常见答疑编辑

一,关于网站在线人数的问题,例如一个IIS连接数是1000的主机,最多同时允许多少人访问呢?
IIS连接数是1000的,理论上来说可以达到同时在线一千人,但很难达到同时一千人在线,如上所说IIS连接数是指同一时间内,对服务器发出请求的个数,这样就会出现如下情况,如在访问页面的同时在下载,这至少算是两个线程了,如果你的网站页面内存在框架(iframe),那么用户每访问的一个页面,同时又调用其他页面(框架(iframe))这也就不算一个线程了!综上,一个IIS连接数是1000的 主机很难达到同时一千人在线的!
二:IIS连接数不限制有好处吗?
不限制IIS,你的网站就可以同时像服务器发出无限个请求,似乎是一件很好的事情,但任何服务器都是有其承受能力的,这与 主机的硬件设施有关!就算一个网站用一台服务器都会有着IIS连接超过服务器上限的可能,更何况是有着上百个网站在一台服务器下面的 虚拟主机了呢?如果不限制IIS,主机商就需要相应的限制流量,或者 CPU占用率,否则这样的虚拟主机是一定不能租用的,因为你的网站很可能会在一台稳定性很差的虚拟主机上!
三:如何减少一个用户平均占用的IIS连接数呢?
减少一个用户平均占用的IIS连接数也会很好的提高网站同时的在线人数,名典给出的建议就是,尽量让用户在同一 浏览器窗口进行网站的访问,即减少使用“在新窗口中打开页面(_blank)”!这也是减少IIS连接数占用,提高在线人数的一个最为有效的方法!在和其他网站做友情链接时尽量不要调用本站的代码或图片(可以将图片上传至其他服务器存储),同时减少图片 盗链也是一个值得注意的问题。

5连接数不符合编辑

为什么会出现iis连接数和论坛在线不符合的情况?
现具体分析如下:

论坛

很多 插件不但占服务器资源,而且会使论坛运行变慢(没有插件可以快一倍以上),同时很占在线人数,有的插件调用很多 框架,少则2、3个,多则4、5个! 甚至有在线播放音乐,这样一个人在线就相当与很多人在线!而美化版论坛因为使用大量的图片,也同样比标准版论坛占用iis数量大。

形式

这样主页和论坛要争夺你的在线人数!

有播放器

一个人在线,然后他在线播放音乐,就占二个人在线!

框架

每一个框架,就多一倍的在线!

在线时间

动网默认为40分钟,因为论坛在线只是计算一定时间内的活动用户数,当您设定的时间较小的时候,看起来论坛在线的人数就自然少了!

多个论坛

有的客户在一个空间里上传多个论坛,如 bbsbbs1 bbs2 等等 等等
毫无疑问,这几个论坛也是要争夺再线人数的!

被人盗链

比如:你的论坛有张图片文件,被粘贴(注意是粘贴不是上传)到别的论坛!
别的论坛的用户在浏览该文件的时候也算一个在线人数!
尤其是logo连接的时候注意,一定要对方把您的logo上传到他的空间!

文件

如果用户用 网络蚂蚁类的 软件,每一个线程就表示一个在线,非常厉害!
 
 
一个强大的LogParser的UI工具--logparserlizard简介
http://www.cnblogs.com/downmoon/archive/2009/09/02/1558409.html
日志分析软件Log Parser Lizard GUI 2.01 免费版

Log Parser 2.2

最重要的是,它是完全免费的。
下载地址为:
http://www.brothersoft.com/log-parser-lizard-download-238815.html


需要先安装LogParser 2.2,下载地址:
http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

下载后4.9M的一个MSI文件,直接安装即可。注意安装位置尽量不要带空格。

注意:如果LogParser没有安装,会运行出错!



初始界面如图:





下面以一个检查IISLog的例子来比较LogParser与LogParserLizard的区别。
某日早上,发现网站阻塞,

第一种速查方案:
迅速启动LogParser:
进入命令行模式:
输入:

LOGPARSER -i:IISW3C file:D:\Log\log_SQL\Slowest20FilesInIIS_MySite.sql -o:DataGrid -q:off

其中,Slowest20FilesInIIS_MySite.sql的内容如下:

Code


执行结果如图:


从图中可以看出,访问最慢而且最频繁的页面是/Company/List.aspx, 而且集中在一个IP: 116.7.16.249  ,基本可以肯定主·这是有人恶意爬数据
,再输入:

LOGPARSER -i:IISW3C file:D:\Log\log_SQL\Slowest10IPInIIS_MySite.sql -o:DataGrid -q:off

 其中,Slowest10IPInIIS_MySite.sql的内容如下:

Code




启动管理工具,禁IP!!!

第二种速查方案:
启动logParserLizard,在界面中选择IIS Log--"New Query"--格式选"IIS W3C Logs"
在查询窗口输入同样的SQL,点击"Generate"

Code

,得到如下结果:

再在查询窗口输入

Code

得到下图:



且慢,右上角,Chart,打开一看,好多的饼图哟,



处理方法同上
为了下次方便使用,将该query保存即可。
此外 用户除了前面的六大类型查询外,还可以自增加新的Group,把自己常用的查询整理一下。


你可能感兴趣的:(apache/iis访问日志转到sql存储的程序思维)