本文介紹如何使用實時日志功能對用戶訪問日志進行分析。
概述
阿里云CDN產品的實時日志功能是CDN產品與SLS產品聯合推出的一項功能,是一種時效性非常高(延遲在3分鐘左右)的日志數據處理服務,能夠將CDN節點上采集到的用戶訪問日志實時推送至SLS日志服務,然后可以通過SLS來存儲和分析用戶訪問數據。在使用阿里云CDN產品來加速網站域名訪問速度的情況下,用戶訪問網站的圖片、視頻等資源時,CDN會記錄用戶的訪問日志,如果您需要對用戶訪問日志進行分析來了解用戶構成、訪問質量或者快速定位問題,您可以使用實時日志功能來快速實現。
前提條件
CDN提供的實時日志與離線日志服務的區別
日志延遲
CDN實時日志為實時采集的日志數據,日志數據延遲不超過3分鐘,而離線日志的數據延遲通常在24小時之內。
日志分析
CDN實時日志打通了SLS日志服務的日志轉存和日志分析能力,預制了CDN基礎數據、CDN錯誤分析、CDN熱門資源、CDN用戶分析這四張常用分析報表,也支持自定義日志分析策略,可以一站式提供日志存儲和日志分析能力,而離線日志目前只支持日志轉存到OSS云存儲,尚未打通日志分析能力。
實時日志服務的優勢
日志延遲小
日志數據延遲不超過3分鐘,可以幫助您快速對訪問日志進行分析,及時發現問題并做出應對決策。
一站式服務
傳統的離線日志分析模式,需要用戶將日志下載,再重新上傳至數據倉庫,然后在數據倉庫進行一系列的清洗和數據模型定義,這一系列操作處理完以后才能進行數據分析,整個過程需要的人力較多,時間較長;CDN實時日志打通了SLS日志服務的日志轉存和日志分析能力,免去傳統模式下繁瑣的離線日志分析流程。
適用場景
實時日志可以幫助您分析加速域名遇到的異常問題,也可以幫助您了解用戶的訪問情況。阿里云CDN實時日志在提供預制日志分析報表的同時,還支持自定義日志分析策略,可以滿足不同場景下的需求。
預制的日志分析報表
日志分析場景 | 報表作用描述 |
CDN基礎數據 | 該數據可以幫助您快速了解到CDN整體的服務質量以及終端用戶的訪問效率(命中率、訪問延時、下載速度等),同時也可以在服務質量出現異常情況下及時進行處理。 |
CDN訪問錯誤 | 該數據可以幫助您在應用訪問出現異常時,快速定位到CDN服務問題的源頭,例如:部分URI問題、源站出現故障、部分節點不可用、部分省份網絡問題、部分運營商網絡問題等。 |
CDN熱門資源 | 該數據可以幫助您更好地了解熱門資源情況,分析出熱門域名、熱門URI、熱門省份、熱門運營商等,您也可以從熱門數據了解到您的運營活動效果是否正常、熱點時間內流量的上漲是否符合預期,以幫助您及時調整運營策略。 |
CDN用戶構成 | 該數據可以幫助您更好地了解網站的用戶構成,包括用戶的客戶端類型、省份、運營商等,也能夠統計出訪問量TOP用戶、下載量TOP用戶。 |
在實時日志功能頁面找到需要分析日志的Project名稱,然后單擊查看報表即可進入日志分析報表模板的查看頁面。
在數據查詢模板頁面,默認情況下查詢的是全量域名的數據,也可以查詢指定域名或者URI的數據。
具體使用方法您可以參考以下幾個章節:
自定義日志分析
在預制的日志分析報表無法滿足您的需求時,您可以使用SLS產品強大的日志分析能力來實現自定義日志分析。
例如:查看響應狀態碼為499的域名排行榜、查看響應狀態碼為502的域名排行榜。
在實時日志功能頁面找到需要分析日志的Project名稱,然后單擊日志分析即可進入自定義日志分析功能的頁面。
在自定義分析界面,您可以在搜索框里面輸入查詢語句直接查詢日志數據(通常適用于比較復雜的查詢條件),也可以直接單擊左側原始日志欄的日志字段來過濾日志(通常適用于比較簡單的過濾條件)。
具體使用方法您可以參考:自定義報表
創建實時日志推送Project
您可以參考配置實時日志推送創建一個SLS日志服務的project,用于存儲CDN產品指定域名(例如:aliyun.example.com)推送的實時日志。
創建成功的效果如下圖,Project名稱為project-example,Logstore名稱為project-example,日志存儲區域為cn-hangzhou(華東1-杭州)。
預制報表:CDN基礎數據
CDN基礎數據可以幫助您快速了解到CDN整體的服務質量以及終端用戶的訪問效率(命中率、訪問延時、下載速度等),同時也可以在服務質量出現異常情況下及時進行處理。
包括以下數據(可以查看總的數據,也可以按域名或者URI查看):
健康度:響應正常的狀態碼總數占比。
緩存命中率:資源的平均緩存命中率(按字節數來統計的命中率)。
下載速度:資源的平均下載速度。
訪問狀態:每一種響應狀態碼的占比,可以用于快速查看當前異常狀態碼的占比。
訪問延時分布:每一個延時段的占比。
請求帶寬:分鐘粒度的帶寬值。
訪問次數/人數:PV、UV值。
請求命中率:按請求數來統計的命中率。
訪問延時:用于下載資源的平均訪問延時。
預制報表:CDN訪問錯誤
CDN訪問錯誤數據可以幫助您在應用訪問出現異常時,快速定位到CDN服務問題的源頭,例如:部分URI問題、源站出現故障、部分節點不可用、部分省份網絡問題、部分運營商網絡問題等。
包括以下數據(可以查看總的數據,也可以按域名或者URI查看):
錯誤域名訪問Top10:按不同域名訪問產生的錯誤占比統計Top域名。
錯誤URI訪問Top10:按不同URI下產生的錯誤占比統計Top URI。
請求錯誤百分比:分時間統計4xx、5xx狀態碼的占比。
錯誤請求狀態分布:統計各個狀態碼的數量、占比。
錯誤運營商統計:統計不同運營商的4xx、5xx狀態碼數量。
錯誤按省份統計:統計不同省份的4xx、5xx狀態碼數量。
錯誤詳情(4xx):統計不同省份、運營商的4xx狀態碼數量、占比。
錯誤詳情(5xx):統計不同省份、運營商的5xx狀態碼數量、占比。
錯誤按客戶端分布:統計不同的客戶端UA(user-agent)對應的4xx、5xx狀態碼數量及占比。
預制報表:CDN熱門資源
CDN熱門資源數據可以幫助您更好地了解熱門資源情況,分析出熱門域名、熱門URI、熱門省份、熱門運營商等,您也可以從熱門數據了解到您的運營活動效果是否正常、熱點時間內流量的上漲是否符合預期,以幫助您及時調整運營策略。
包括以下數據(可以查看總的數據,也可以按域名或者URI查看):
訪問次數Top域名:按總訪問次數占比統計Top域名。
下載流量Top域名:按總下載流量占比統計Top域名。
熱門訪問URI:統計各個URI的訪問次數、訪問人數、下載總量。
熱門訪問來源:統計熱門Referer來源域名,并且記錄訪問次數、UV、占比。
全國訪問次數統計:分別統計各個省份的平均訪問次數。
全國下載網速:分別統計各個省份的平均下載速度。
省份統計:分別統計各個省份的總訪問次數、總下載流量、平均下載速度。
運營商流量和速度:分別統計各個運營商的下載總量和平均下載速度。
運營商統計:分別統計各個運營商的總訪問次數、總下載流量、平均下載速度。
預制報表:CDN用戶構成
CDN用戶構成數據可以幫助您更好地了解網站的用戶構成,包括用戶的客戶端類型、省份、運營商等,也能夠統計出訪問TOP用戶、下載量TOP用戶。
包括以下數據(可以查看總的數據,也可以按域名或者URI查看):
訪問次數:總訪問次數,PV。
訪問人數:總訪問人數,UV。
訪問地區分布:分別統計各個省份的訪問次數、占比。
訪問客戶端統計:分別統計各個客戶端類型的訪問次數、占比。
運營商次數統計:分別統計各個運營商的總訪問次數、占比。
下載量Top用戶:按IP統計用戶的總訪問數、錯誤訪問數、下載總量。
有效訪問Top用戶:按IP統計用戶的總訪問數、錯誤訪問數、下載總量(去掉4xx、5xx這些無效訪問)。
訂閱報表模板數據
如果您需要SLS日志服務定期將報表模板的數據發送給您,那么您可以使用訂閱功能。
操作步驟
以CDN基礎數據頁面為例,單擊右上角的訂閱,然后單擊創建。
在側滑出現的配置窗口中輸入訂閱名稱、頻率和全局時間,然后單擊下一步。
在通知列表的下拉菜單中選擇通知方式并填寫相關信息后,單擊提交即可成功創建。
通知方式目前支持郵件、WebHook-釘釘機器人、WebHook-飛書機器人、WebHook-企業微信機器人和微信。
自定義報表
示例1:查看最近30天內,響應狀態碼為499的域名排行榜。
日志分析語句:
return_code = 499| select domain , count(*) as c group by domain order by c desc limit 10
示例2:查看最近30天內,響應狀態碼為502的域名排行榜。
日志分析語句:
return_code = 502| select domain , count(*) as c group by domain order by c desc limit 10
示例3:查看最近30天內,訪問URI為/cpu的日志數據。
可以直接單擊左側原始日志欄的URI字段,然后單擊/cpu即可過濾出需要的日志。