飘荡软件--绿色软件下载站!

  • 软件大小: 1.10MB
  • 软件语言: 英文
  • 软件类别: 国外软件 | 浏览辅助
  • 运行环境: 2000/Xp/2003/Vista/Win7
  • 授权方式: 免费版
  • 软件等级:
  • 更新时间: 2013/6/17 7:19:30
  • 开 发 商:
  • 分享到:
  • 立即下载
  • 一键复制
  • 收藏该软件

软件介绍:

    iis日志分析工具(Log Parser)

    iis日志分析工具(Log Parser),日志分析,特别是IIS日志,一般人都会想到LogParser工具,的确很强。Log Parser 是一个专门解析IIS日志的工具,我们可以用它来查看日志中的信息。


    解析IIS日志教程:
    比如我可以运行下面的命令行(说明:为了不影响页面宽度我将命令文本换行了):

    "C:\Program Files\Log Parser 2.2\LogParser.exe" -i:IISW3C -o:DATAGRID
    "SELECT c-ip,cs-method,s-port,cs-uri-stem,sc-status,sc-win32-status,
    sc-bytes,cs-bytes,time-taken FROM u_ex130615.log"

    现在就可以以表格形式来阅读IIS日志了:


    说明:我不推荐用这种方法来分析IIS日志,原因有二点:


    1. 慢:当日志文件稍大一点的时候,用它来分析就比较浪费时间了(尤其是需要多次统计时)。
    2. 不方便:它支持的查询语法不够丰富,没有像SQL Server针对数据表查询那样全面。

    推荐的IIS日志分析方法:
    虽然Log Parser支持将解析的IIS日志以表格形式供人阅读,但是有时候我们需要再做一些细致分析时,可能会按不同的方式进行【多次】查询, 对于这种需求,如果每次查询都直接运行Log Parser,你会浪费很多时间。 幸运的是,Log Parser支持将解析结果以多种格式导出(以下为帮助文档截图):

    在此,我建议选择输出格式为 SQL 。
    注意:这里的SQL并不是指SQLSERVER,而是指所有提供ODBC访问接口的数据库。
    我可以使用下面的命令将IIS日志导入到SQLSERVER中(说明:为了不影响页面宽度我将命令文本换行了):


    "C:\Program Files\Log Parser 2.2\logparser.exe"
    "SELECT  *  FROM  'D:\Temp\u_ex130615.log'  to MyMVC_WebLog" -i:IISW3C -o:SQL
    -oConnString:"Driver={SQL Server};server=localhost\sqlexpress;database=MyTestDb;Integrated Security=SSPI"
    -createtable:ON


    导入完成后,我们就可以用熟悉的SQLSERVER来做各种查询和统计分析了,例如下面的查询:


    SELECT cip,csmethod,sport,csuristem,scstatus,scwin32status,scbytes,csbytes,timetaken
    FROM dbo.MyMVC_WebLog
    如果如下:


    注意:
    1. IIS日志在将结果导出到SQLSERVER时,字段名中不符合标识符规范的字符将会删除。
    例如:c-ip 会变成 cip, s-port 会变成 sport 。
    2. IIS日志中记录的时间是UTC时间,而且把日期和时间分开了,导出到SQLSERVER时,会生成二个字段:


    date, time这二个字段看起来很不舒服,对吧?
    我也很反感这个结果,下面来说说的二种解决方法:

    1. 在SQLSERVER中增加一列,然后把UTC时间换成本地时区的时间,T-SQL脚本如下:


    alter table MyMVC_WebLog add RequestTime datetime
    go
    update MyMVC_WebLog set RequestTime=dateadd(hh,8,convert(varchar(10),date,120)
    + ' ' + convert(varchar(13),time,114))


    2. 直接在导出IIS日志时,把时间转换过来,此时要修改命令:


    "C:\Program Files\Log Parser 2.2\logparser.exe"
    "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:\Temp\u_ex130615.log'  to  MyMVC_WebLog2"
    -i:IISW3C -o:SQL
    -oConnString:"Driver={SQL Server};server=localhost\sqlexpress;database=MyTestDb;Integrated Security=SSPI"
    -createtable:ON


    再看这三列:


    select RequestTime, date, time from MyMVC_WebLog2


    这样处理后,你就可以直接把date, time这二列删除了(你也可以在导出IIS日志时忽略它们,但要明确指出每个字段名)。

    命令行模式速查方案:
    迅速启动LogParser:
    进入命令行模式:
    输入: LOGPARSER -i:IISW3C file:D:/Log/log_SQL/Slowest10IPInIIS_MySite.sql -o:DataGrid -q:off
    其中,Slowest20FilesInIIS_MySite.sql的内容如下:

    [ruby] view plaincopyprint?

    --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:IISW3C file:D:/Log/log_SQL/Slowest10IPInIIS_MySite.sql -o:DataGrid -q:off
    其中,Slowest10IPInIIS_MySite.sql的内容如下:

    [ruby] view plaincopyprint?

    --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!!!



    关键字: iis日志分析工具

相关说明

  • 如果您发现该软件不能下载, 请通知管理员
  • 为了保证您快速的下载,推荐使用[网际快车]等专业工具下载.
  • 为确保所下软件能正常使用,请使用[WinRAR v3.8]或以上版本解压本站软件.
  • 站内软件都是由网上收集,只供网友学习使用,如果所收集的软件侵犯了您的版权,请 来信 告知。