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