PowerBI分析Exchange服务器IIS运行日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerBI分析Exchange服务器IIS运行日志相关的知识,希望对你有一定的参考价值。

只要是基于Windows Server 的IIS来提供Web服务的应用,其实都可以对IIS的日志W3C进行分析,这样可以快速的了解整个web站点的运行情况,特别是对一些请求页面响应时间有要要求的,都可以从这些日志中分析问题出在哪,下面我就以Exchange服务器的IIS日志来给大家介绍PowerBI是如何分析W3C日志的。

要分析Exchange服务器上的IIS日志,首先需要确保IIS的日志是启用的状态,比如Default Web Site站点和Exchange Back End站点的日志,更多关于IIS站点日志设置的信息可以参考:

https://docs.microsoft.com/zh-cn/iis/configuration/system.applicationHost/sites/site/logFile/

技术分享图片

启用状态

技术分享图片

那么在C:\inetpub\logs\LogFiles目录下您才会看到如下日志目录及文件,每一个站点会生成一个W3SVC的文件夹存放日志,比如默认站点是W3SVC1,Exchange Back End是W3SVC2

技术分享图片

可以先用Notepad++查看下这些日志。可以看出基本是以空格为每一个值的划分的

技术分享图片

我多收集了几天的日志,然后把这些log文件拷贝到其他目录

技术分享图片

接下来我将这些Log文件全部利用Log Parser软件转成CSV文件(Log Parser下载地址:https://www.microsoft.com/en-my/download/details.aspx?id=24659),为什么要转换成CSV呢?虽然PowerBI可以去读Log的文件并以空格为分隔符划分列,但你会发现后面很多空格是没有划分出来的,或许是我遇到了吧,保险起见,这里我就转成了CSV文件

先安装好Log Parsr程序,接下来在日志所在目录我创建一个bat文件,内容如下:

cd "E:\Logs\W3SVC1"

for /R %%f in (*.log) do (

"C:\Program Files (x86)\Log Parser 2.2\"logparser -i:W3C -o:csv "SELECT * INTO ‘%%f.csv‘ FROM ‘%%f‘"

)

技术分享图片

打开PowerShell,执行这个bat脚本会批量的把这些Log文件全部转成csv文件

技术分享图片

都转换完毕后,把CSV文件单独放在一个文件夹里,接下来主要对默认站点的W3SVC1的CSV文件进行分析,还是老样子,先用PowerBI获取数据,选择文件夹

技术分享图片

浏览到日志所在目录

技术分享图片

选择组合——合并和编辑

技术分享图片

确定

技术分享图片

接下来我删除第一二列

技术分享图片

然后关闭并应用

技术分享图片

等待加载完成

技术分享图片

首先拖一个饼状图看看状态IIS的状态码占比,从占比了解运行情况,这里可以看到饼状图里显示了状态码的分布并显示出了状态码

状态码的含义可以参考:https://support.microsoft.com/en-us/help/943891/the-http-status-code-in-iis-7-0-iis-7-5-and-iis-8-0

但这些状态码是否可以更为直观的显示出含义呢?这里我准备了一个Excel表,整理下状态码和信息的关系

技术分享图片

技术分享图片

那么右边这些列各代表什么含义呢?可以参考https://msdn.microsoft.com/en-us/library/windows/desktop/aa814385(v=vs.85).aspx

日志文件是一种可定制的ASCII文本格式,文件中的字段前缀定义如下:

s

服务器操作

c

客户操作

sc

服务器到客户端的操作

cs

客户端到服务器操作

下面是我整理的W3C日志的字段和解释

技术分享图片

接下来我把上面整理出来的HTTP状态码Excel表也导入进PowerBI

技术分享图片

接下来选择关系——管理关系

技术分享图片

新建

技术分享图片

选择CSV里的sc-status列,然后选择Sheel1里的状态码进行关联,点击确定

技术分享图片

点击关闭

技术分享图片

关系图里就出现了一条线条关联上了2个表

技术分享图片

接下来回到报表里选择刚才的饼状图,我把信息拖到详细信息里,这时你会发现饼状图里原来的状态码全变成了含义的解释,这样更方便直观理解了

技术分享图片

调整下值的参数

技术分享图片

接下来再创建一个环形图,分析客户端IP源访问请求占比

技术分享图片

同理再创建一个服务端IP源访问请求占比

技术分享图片

接下来再分析客户端访问请求类型占比

技术分享图片

再拖一个时间切片器

技术分享图片

接下里再创建一个饼状图分析用户访问请求占比,看看谁访问Exchange请求最多

技术分享图片

接下来再分析页面访问次数及平均响应时间

技术分享图片

接下来再统计每一个页面状态的发生次数

技术分享图片

最后罗列时间,来源IP地址,以及用户采用的什么系统和浏览器或客户端访问的Exchange分析

技术分享图片

最后再美化和排版就大功告成了,当然这里介绍的是Exchange的日志分析,其他采用微软IIS作为WEB服务的都可以采用类似的方法来分析哦,毕竟IIS的日志记录都是一样的这些字段

技术分享图片

以上是关于PowerBI分析Exchange服务器IIS运行日志的主要内容,如果未能解决你的问题,请参考以下文章

Exchange 2007 ActiveSync - 重新创建 IIS 虚拟目录

exchange server 2010安装CAS+HUB角色安装注意事项

Exchange 2016配置IIS重定向

Exchange服务器搭建

EXCHANGE 13/16清理IIS LOGS日志文件(含脚本)

当我的应用程序托管在 IIS 上时,Microsoft Exchange Web 服务 (EWS) 无法正常工作