只要是基于Windows Server 的IIS来提供Web服务的应用,其实均可以对IIS的日志W3C进行分析,这样能够快速的了解整个web站点的运行状况,特别是对一些请求页面响应时间有要要求的,均可以从这些日志中分析问题出在哪,下面我就以Exchange服务器的IIS日志来给你们介绍PowerBI是如何分析W3C日志的。web
要分析Exchange服务器上的IIS日志,首先须要确保IIS的日志是启用的状态,好比Default Web Site站点和Exchange Back End站点的日志,更多关于IIS站点日志设置的信息能够参考:windows
https://docs.microsoft.com/zh-cn/iis/configuration/system.applicationHost/sites/site/logFile/ 浏览器
启用状态服务器
那么在C:\inetpub\logs\LogFiles目录下您才会看到以下日志目录及文件,每个站点会生成一个W3SVC的文件夹存放日志,好比默认站点是W3SVC1,Exchange Back End是W3SVC2app
能够先用Notepad++查看下这些日志。能够看出基本是以空格为每个值的划分的ide
我多收集了几天的日志,而后把这些log文件拷贝到其余目录3d
接下来我将这些Log文件所有利用Log Parser软件转成CSV文件(Log Parser下载地址:https://www.microsoft.com/en-my/download/details.aspx?id=24659),为何要转换成CSV呢?虽然PowerBI能够去读Log的文件并以空格为分隔符划分列,但你会发现后面不少空格是没有划分出来的,或许是我遇到了吧,保险起见,这里我就转成了CSV文件日志
先安装好Log Parsr程序,接下来在日志所在目录我建立一个bat文件,内容以下:code
cd "E:\Logs\W3SVC1"blog
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的日志记录都是同样的这些字段