使用 Azure HDInsight 大數據技術來進行 Azure WebSites 網站及其他紀錄檔分析 ( Log Analysis )

在使用大數據(Big Data)的實際應用場景中,記錄檔是一個很重要的資料來源。相比其他資料來源,記錄資訊總在源源不斷的產生中,不論是系統或代碼中設定好的觸發/生成機制,還是系統(例如 Web Server、Database Server等)配置自動生成的記錄,甚至包括了系統或應用執行發生異常或錯誤的情況,例如,SQL Server Azure VM上 AlwaysOn 高可用(HA)方案的運行狀態相關的記錄

而記錄檔裡所潛藏的價值也正被大數據技術所挖掘,透過對於記錄檔一些基礎資料的統計、挖掘及分析,可以進一步獲得很多非常有用的資訊,例如,對網站記錄的分析,可以獲得頁面的點擊的情況、外部訪問的情況、用戶端/服務端錯誤的情況等,從而進一步分析網頁運行的流暢度、使用率分佈、訪問者行為等。

在 Azure 中提供了 HDInsight 雲端服務來説明大家進行大數據開發工作,可以把相關資料檔案存儲在 Azure Storage 中,然後利用 HDinsight 節點來對這些資料進行分析。

在 Azure HDInsight 的查詢控制台(Query Console)中,最近提供了一些輔助性的解決方案,其中就包括了如何快速、簡捷地建立記錄檔分析的應用。如下圖可在 HDInsight 服務頁面的底部進入查詢控制台:

在查詢控制台可以看到一些解決方案的樣例,就包括了對 Azure WebSites 記錄檔分析的解決方案,見下圖:

在搭建和運行 Azure WebSites 網站時,需要對記錄選項進行配置,確保可以根據需要保留網站的運行記錄資訊,如下圖:

在查詢控制台的記錄分析解決方案中,提供了 step-by-step 的執行嚮導,並提供了詳細的解釋資訊,便於大家瞭解其中相關的技術細節。如下圖:

其中,關鍵步驟包括了基於記錄檔的資料結構,建立 Hive 的表及分區,如下圖,解決方案中列出了具體建立過程的語句:

解決方案提供了一些常見的分析,並提供了樣例程式,可以基於這些代碼進行修改,滿足自己的需要。

執行結果可以通過 Excel 來展現,並可以利用大家熟悉的工具,例如 PivotChart,來做進一步分析。

此外,還可以通過查詢控制台,查看任務的輸出及執行的Log。

  本文原始發布「TechNet 台灣部落格