利用LogParser分析IIS日志

   LogParser是微软官方出品的用于读取分析IIS日志的工具,使用类SQL语句过滤文本日志内容,并可将内容导出到csv、sqlserver作进一步分析

   目前最新版本为2.2,下载后一直下一步,默认安装目录为:C:\Program Files (x86)\Log Parser 2.2\
 
    一、获取IIS日志

记日志时间默认是UTC,如要使用本地时间记录,可勾选下面的项目:
日志各字段含义:
  
       二、使用logparser读取IIS日志(假设日志在C:\u_ex150629.log)
             2.1 命令行定位到logparser目录:cd C:\Program Files (x86)\Log Parser 2.2\
             2.2 查询日志文件(会在命令行输出):logparser -i:iisw3c -o:csv "SELECT * FROM C:u_ex150629.log"
                2.3 导出导出CSV文件:logparser -i:iisw3c -o:csv "SELECT * FROM C:u_ex150629.log" >C:\a1.csv
        2.4 导出到SqlServer:logparser "SELECT * FROM C:\u_ex150629.log TO IISLog_table" -o:SQL -server:127.0.0.1 -driver:"SQL Server" -database:test -username:sa -password:123 -createtable:ON

                2.5 本地时间写入SqlServer: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 C:\u_ex150629.log TO IISLog_table" -o:SQL -server:127.0.0.1 -driver:"SQL Server" -database:Log_IIS -username:sa -password:123 -createtable:ON 
             2.6 新增日志内容过滤条件(这里一定用<>,使用!=执行失败)logparser "SELECT * FROM C:\u_ex150629.log TO IISLog_table WHERE sc-status<>200 OR time-taken>200" -o:SQL -server:127.0.0.1 -driver:"SQL Server" -database:Log_IIS -username:sa -password:123 -createtable:ON
             2.7 SqlServer表新增自增长列:a) 在表中新增自增长字段,如Id   b)SELECT 1,* FROM(在select语句后新增1,导入SqlServer时会自动写入自增长
 
        三、注意事项,也是使用过程中的坑
              1、windows7和windows server命令行定位目录命令不同,windows server定位到c盘根目录(cd /d c:),一般开发环境是windows7,部署环境是server,请注意
              2、logparser的命令语句要在命令行执行,必须先在文本编辑器中变成一行,如果是多行拷贝到命令行执行就会失败
              3、logparser安装目录下有个文件夹Samples是示例程序,但sql示例有些不靠谱
 
 





附件列表

 

posted @ 2015-06-30 21:30    阅读(1480)  评论(0编辑  收藏  举报