把windows IIS日志导入到mysql数据库

来源:互联网 发布:case when mysql 编辑:程序博客网 时间:2024/06/12 19:28

IIs日志作为分析IIS性能、客户访问特征等的重要数据源,因为默认存储为文本文件,不利于分析,导入到数据库,可以利用数据库的强大SQL进行查询分析。


iis日志导入到数据库有两种选择,一是设置IIS日志采用ODBC直接实时存入数据库,据说会影响性能,没有采用;二是采用微软的LogParser日志分析工具,工具可以在网上免费下载。


安装后运行LogParser软件,在命令行下输入:

logparser.exe  "SELECT *  FROM  'C:\inetpub\logs\LogFiles\W3SVC1\u_ex150319.log' " -i:IISW3C -o:DATAGRID

会以类excel表格的方式显示日志文件u_ex150319.log的内容





以下命令把日志存入mssql:

logparser.exe  "SELECT  *  FROM  'C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.log'  to WebLog1" -i:IISW3C -o:SQL -oConnString:"Driver={SQL Server};server=127.0.0.1;database=iislog;UId=sa;pwd=123;" -createtable:ON

该命令把IIS日志目录下所有日志保存到 ms sql server,第二次运行该命令时,可以把-createtable:ON 参数去掉,则不会创建数据库,只是追加到现有数据库的记录后面。


如果要保存到mysql数据库,则要设置好ODBC数据源,首先要下载安装mysql-connector-odbc-noinstall-5.1.13-win32,记住是32位的,我先安装了64位的mysql odbc驱动程序,发现logparser只适配32位的odbc驱动程序。




安装好mysql odbc驱动程序后,添加一个到你的mysql数据库服务器的系统dsn数据源,我把它命名为iislog32,注意要设置该数据源的属性的字符集为UTF8,不然,导入的数据大部分字段值都是NULL.


设置好数据源后,可以传输数据了,命令:

logparser.exe  "SELECT  *  FROM  'C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.log'  to WebLog" -i:IISW3C -o:SQL -oConnString:"Dsn=iislog32" -createtable:ON

在mysql数据库就可以看到导入的数据了,下次导入时,去掉 -createtable:ON,会追加新的iis日志到现有数据库。








原创粉丝点击