只要是基於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的日誌記錄都是同樣的這些字段