IIS日志存入数据库之一:ODBC

     园内@Fish Li的文章《IIS日志-网站运维的好帮手》中介绍将IIS的文本格式的文件导入数据库的方法。在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟。我们需要能够比较实时地在数据库中看到日志,故而需要寻找一种可以直接将数据存入数据库的方法。搜索资料后,发现IIS本身就提供了这个功能。

    以下是一些链接:

Configure IIS 8.0 Log to SQL Server

ODBC Logging <odbcLogging>

如何在 IIS 中配置 ODBC 日志记录

iis日志用SQL存储

按照上述资料介绍的做了之后,发现日志项可以成功地保存到数据库,但是以下的几个字段却取不到值:

(1)ProcessingTime,

(2)BytesRecvd,

(3)BytesSent

    于是开始折腾。

(1)猜测可能ODBC的版本配置错了,于是将64位的换成32位的。还是不行。

(2)猜测可能IIS的版本错了,于是将iis由iis express8.0换成iis7.5,还是不行。再换成iis8.0,还是不行。

(3)猜测可能是不支持集成连接数据库,于是为数据库设置密码。还是不行。

(4)猜测可能是配置文件弄错了,于是照着微软的文档修改配置文件,还是不行。

    最后不想折腾了,在网上找了资料,发现这居然是IIS日志模块的一个bug,在iis6.0的时候,这个功能是正常的。但是到了iis7.0之后,这个功能就坏掉了,微软一直都没有修复它。晕。

    希望这篇文章能让后来者少走些弯路。

    在下一篇文章中,我会介绍另外一种方法。这种方法可以达到预期的目的。

原文地址:https://www.cnblogs.com/dehai/p/4889894.html