日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强。LogParser是一个专门解析IIS日志的工具,我们可以用它来查看日志中的信息。
解析IIS日志教程:
比如我可以运行下面的命令行(说明:为了不影响页面宽度我将命令文本换行了):
"C:\ProgramFiles\LogParser2.2\LogParser.exe"-i:IISW3C-o:DATAGRID"SELECTc-ip,cs-method,s-port,cs-uri-stem,sc-status,sc-win32-status,sc-bytes,cs-bytes,time-takenFROMu_ex130615.log"
现在就可以以表格形式来阅读IIS日志了:
说明:我不推荐用这种方法来分析IIS日志,原因有二点:
1.慢:当日志文件稍大一点的时候,用它来分析就比较浪费时间了(尤其是需要多次统计时)。2.不方便:它支持的查询语法不够丰富,没有像SQLServer针对数据表查询那样全面。
推荐的IIS日志分析方法:
虽然LogParser支持将解析的IIS日志以表格形式供人阅读,但是有时候我们需要再做一些细致分析时,可能会按不同的方式进行【多次】查询,对于这种需求,如果每次查询都直接运行LogParser,你会浪费很多时间。幸运的是,LogParser支持将解析结果以多种格式导出(以下为帮助文档截图):
在此,我建议选择输出格式为SQL。注意:这里的SQL并不是指SQLSERVER,而是指所有提供ODBC访问接口的数据库。我可以使用下面的命令将IIS日志导入到SQLSERVER中(说明:为了不影响页面宽度我将命令文本换行了):
"C:\ProgramFiles\LogParser2.2\logparser.exe""SELECT?*?FROM?'D:\Temp\u_ex130615.log'?toMyMVC_WebLog"-i:IISW3C-o:SQL-oConnString:"Driver={SQLServer};server=localhost\sqlexpress;database=MyTestDb;IntegratedSecurity=SSPI"-createtable:ON
导入完成后,我们就可以用熟悉的SQLSERVER来做各种查询和统计分析了,例如下面的查询:
SELECTcip,csmethod,sport,csuristem,scstatus,scwin32status,scbytes,csbytes,timetakenFROMdbo.MyMVC_WebLog如果如下:
注意:1.IIS日志在将结果导出到SQLSERVER时,字段名中不符合标识符规范的字符将会删除。例如:c-ip会变成cip,s-port会变成sport。2.IIS日志中记录的时间是UTC时间,而且把日期和时间分开了,导出到SQLSERVER时,会生成二个字段:
date,time这二个字段看起来很不舒服,对吧?我也很反感这个结果,下面来说说的二种解决方法:
1.在SQLSERVER中增加一列,然后把UTC时间换成本地时区的时间,T-SQL脚本如下:
altertableMyMVC_WebLogaddRequestTimedatetimegoupdateMyMVC_WebLogsetRequestTime=dateadd(hh,8,convert(varchar(10),date,120)+''+convert(varchar(13),time,114))
2.直接在导出IIS日志时,把时间转换过来,此时要修改命令:
"C:\ProgramFiles\LogParser2.2\logparser.exe""SELECTTO_LOCALTIME(TO_TIMESTAMP(ADD(TO_STRING(date,'yyyy-MM-dd'),TO_STRING(time,'hh:mm:ss')),'yyyy-MM-ddhh:mm:ss'))ASRequestTime,*?FROM?'D:\Temp\u_ex130615.log'?to?MyMVC_WebLog2"-i:IISW3C-o:SQL-oConnString:"Driver={SQLServer};server=localhost\sqlexpress;database=MyTestDb;IntegratedSecurity=SSPI"-createtable:ON
再看这三列:
selectRequestTime,date,timefromMyMVC_WebLog2
这样处理后,你就可以直接把date,time这二列删除了(你也可以在导出IIS日志时忽略它们,但要明确指出每个字段名)。
命令行模式速查方案:
迅速启动LogParser:进入命令行模式:输入:LOGPARSER-i:IISW3Cfile:D:/Log/log_SQL/Slowest10IPInIIS_MySite.sql-o:DataGrid-q:off其中,Slowest20FilesInIIS_MySite.sql的内容如下:
[ruby]viewplaincopyprint?
--rem?运行最慢的20个页面
--Finding?the?20?slowest?pages?in?your?Web?site
Select?Top?20
LogRow?as?[Line?Number],
date?as?[Date],
time?as?[Time],
c-ip?as?[Client-IP],
s-ip?as?[Server?IP],
s-port?as?[Server?Port],
cs-method?as?[Request?Verb],
cs-uri-stem?as?[Request?URI],
sc-bytes?as?[Bytes?sent],
sc-status?as?[Status],
sc-substatus?as?[Sub-status],
sc-win32-status?as?[Win?32?Status],
time-taken?as?[Time?Taken]
From
D:/Log/log_SQL/LogFiles/ex*.log
Order?by?time-taken?desc
执行结果如图:从图中可以看出,访问最慢而且最频繁的页面是/Company/List.aspx, 而且集中在一个IP:116.7.16.249?,基本可以肯定主·这是有人恶意爬数据,再输入:
LOGPARSER-i:IISW3Cfile:D:/Log/log_SQL/Slowest10IPInIIS_MySite.sql-o:DataGrid-q:off其中,Slowest10IPInIIS_MySite.sql的内容如下:
[ruby]viewplaincopyprint?
--rem?访问量最大的IP的访问明细
Select?cs-uri-stem?as?[RequestURI],count(cs-uri-stem)?as?VisitCounts,c-ip?as?[ClientIP]
FROM
D:Log/log_SQL/LogFiles/ex090829.log
group?by?cs-uri-stem,c-ip
ORDER?BY?VisitCounts?DESC
启动管理工具,禁IP!!!
Tags:IIS日志分析,日志分析.
小编点评:雷鸟下载器是最新可用的一款百度网盘.
下载小编点评:KaraWin是一个卡拉OKMIDI和MP.
下载小编点评:QQ音乐2016去广告补丁工具是一款.
下载小编点评:记得西西小时候学数数是用小木棒的哦.
下载小编点评:软件介绍蒸菜制作相对简单而且味道更.
下载小编点评:软件介绍PhotoMazing是一.
下载小编点评:软件介绍职称英语考试宝典密卷协议保.
下载小编点评:软件介绍用于因护卫神·入侵防护系统的文.
下载小编点评:软件介绍小火花自媒体助手是自媒体工作人群会用.
下载小编点评:软件介绍专题:对战平台宽带中国对战.
下载小编点评:军团之争隐秘冲突官方版是一款主打海陆空战争策略.
下载小编点评:浮光无尽夏手游是一款主打仙侠战斗玩法内容的手机游.
下载小编点评:小学英语通app是深圳市译读教育有限公司.
下载乱斗三国志破解版下载-乱斗三国志内购破解版下载v3.0.10 安卓最新版
战地指挥官破解版下载-战地指挥官内购破解版下载v1.0.0 安卓版
错题星软件下载-错题星app下载v6.5.1 安卓版
康到app下载-康到健康平台下载v1.3.7 安卓版
布武天下小米版下载-布武天下手游小米版下载v2.2 安卓最新版
极帝天手游-极帝天官方版(暂未上线)v1.0 安卓版
植物大战僵尸2网易云版下载-植物大战僵尸2网易云音乐版下载v2.5.2 安卓版
幻想庄园手游-幻想庄园游戏(暂未上线)v1.0.0 安卓版
小魔女联盟游戏-小魔女联盟手机版(暂未上线)v1.0.0 安卓版
风暴剑圣手游-风暴剑圣官方版(暂未上线)v1.0.1 安卓版
英雄这边请测试版下载-英雄这边请测试服下载v1.13 安卓版
塔防三国志台服秒杀版下载-塔防三国志台服最新版下载v4.1.00 安卓版
火柴人战役英雄游戏下载-火柴人战役英雄最新版下载v1.3.3 安卓版