园内@Fish Li的文章《IIS日志-网站运维的好帮手》中介绍将IIS的文本格式的文件导入数据库的方法。在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟。我们需要能够比较实时地在数据库中看到日志,故而需要寻找一种可以直接将数据存入数据库的方法。搜索资料后,发现IIS本身就提供了这个功能。
以下是一些链接:
Configure IIS 8.0 Log to SQL Server
按照上述资料介绍的做了之后,发现日志项可以成功地保存到数据库,但是以下的几个字段却取不到值:
(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之后,这个功能就坏掉了,微软一直都没有修复它。晕。
希望这篇文章能让后来者少走些弯路。
在下一篇文章中,我会介绍另外一种方法。这种方法可以达到预期的目的。