Exchange的日志分析有很多方式,最简单的应该是打开Exchange Manage Console, 然后ToolBox里面打开Troubleshooting assistant工具就可以通过GUI查看了,也可以运行他对应的powershell命令查看。不过这样查看比较有局限性,只能按照他给的几个eventid和时间段选择,传统的方式更推荐使用logparser进行分析。
logparser最开始是用来解析IIS的日志的,后来扩展之后大部分windows的日志格式都可以支持。这个小工具可以把日志文件当做SQL的表单处理,因此用SQL的查询语句就可以从日志里获取自己想要的信息了。
工具下载
http://www.microsoft.com/en-us/download/confirmation.aspx?id=24659
下载安装完毕之后就可以开始查询了。
Exchange的日志文件一般位于
Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking
如下所示,大概保存了接近25天左右的日志:
因为有点长,所以我把我的Z drive 映射到这个路径,然后执行以下语句,就获取了过去25天内每个时间段的收到的平均信息数量。因为有25个大文件,所以花了4分多钟才全部查询计算了一遍
中间的SQL语句很简单,做一个时间转换,然后查询Receive的数量,最后安装时间段排序
值得一提的是中间 -nskipline是为了忽略日志的前4行,因为那个是默认的一些注释文件
下面是日志文件的截图,可以看见最上面4行都是时间版本之类的说明,真正的表格内容是从第五行开始的
另外,这个查询的结果可以更改输出的格式,比如这一次我把查询的结果输出到 c:\reports\testresult.csv文件里面,这样Excel还能改成各种图形展示
打开看看
然后这里还有具体的解释每种Event ID代表的是什么意义
http://technet.microsoft.com/en-us/library/bb124375(v=exchg.141).aspx
通过logparser,我们可以获得更多的信息。