背景

CDN是非常重要的互聯網基礎設施,用戶可以通過CDN,快速的訪問網路中各種圖片,視頻等資源。在訪問過程中,CDN會產生大量的日誌數據,而隨著如今越來越複雜的網路環境變化,和業務的迅速增長,日誌數據變得更大量、更多維度。這些數據通常都與用戶的下一步業務決策息息相關。

在與CDN用戶的溝通中,我們發現通常用戶會面臨以下困境:

? 用戶無數據 : CDN的訪問日誌,由各大CDN產商上產生,用戶不可直接獲取。現階段,絕大部分的CDN產商都只提供離線日誌下載,日誌數據從產生,到用戶可下載,需要幾十分鐘到數個小時不等。這樣大的數據產生延時,大大削減了實時流處理、報警等高實時性要求場景的分析價值。

? 多種分析需求:為瞭解決各類定製化的分析需求,通常的做法是搭建和運維開源系統,如用於做數據通道的kafka、流式分析的storm或flink、做數據分析的spark、hadoop等。

? 可視化需求:對於最終的分析結果的展示,依賴資料庫(結果集小)、HBase(結果集大)存儲結果,再通過對接各可視化工具來完成。

綜上所述,更實時地、詳細地關注和分析日誌的需求逐漸顯露,但是普通用戶對CDN日誌進行實時、離線分析又並不容易,需要付出搭建、運維和管理成本,為了完成需求,有時還需要編寫不少代碼,但最終並不一定能得到很好的效果。整個CDN實時日誌涉及的環節多,對服務質量也有嚴苛的要求,技術挑戰比較大。那有沒有更好的解決辦法麼?

CDN實時日誌一站式解決方案上線

近期,阿里雲CDN上線了實時日誌功能,打通日誌服務(SLS)的能力,將CDN採集的實時日誌,在小於60秒的時間內投遞至日誌服務,進行實時、互動式分析和報表呈現。通過CDN日誌的實時分析,可以快速的發現和定位問題,進而對日誌數據的挖掘,提高數據的決策能力,將業務推向一個新的高度。點擊跳轉CDN實時日誌專題頁,瞭解功能詳情。

CDN實時日誌服務與日誌下載的區別

CDN實時日誌為實時採集的日誌數據,日誌數據延遲平均不超過30秒。同時,CDN打通了日誌服務分析的能力,為客戶定製4張分析報表,可快速對日誌進行分析,發現問題,及時決策。而CDN提供的離線日誌下載,只能下載4小時前的每小時日誌數據。

CDN實時日誌系統中簡化的數據流向如下圖構成:

? 數據實時採集 : 在直播推流、播放期間,都會產生大量日誌,需要在秒級延時內,實時採集這些日誌到日誌中心。

? 數據清洗:日誌採集後,對數據進行清洗,以滿足不同場景的處理需求(如,對不同域名日誌的定製化分析)。

? 數據處理和存儲 : 對於不同的應用場景,數據的處理和存儲方式也不盡相同 。

  1. 實時處理 : 在秒級別對海量數據進行實多維度聚合統計分析。
  2. 表格存儲 : 實時統計後的各類監控指標。
  3. 對象存儲 : 日誌打包壓縮,供用戶離線下載。
  4. 數據倉庫 : 數據離線分析、用戶行為分析、物業報表等場景。

CDN實時日誌的價值

1. 實時

傳統的日誌分析模式,需要您將日誌下載後,重新上傳至數據倉庫,在數據倉庫進行一系列的清洗和數據模型定義後,再進數據分析,這個過程需要維護的人力較多,時間較長。

CDN實時日誌可以從全球多個區域、數萬節點實時採集日誌,通常延時不超過60秒,否則日誌的實時價值大打折扣。同時,在開通服務後,CDN將日誌數據自動投遞到日誌服務(SLS),免去繁瑣的傳統日誌分析的流程,實時查看日誌分析結果。

2. 無需寫代碼,無需運維

前面也提到,想要自行搭建日誌系統,解決業務定製化的需求,開發、運維、管理的成本是比較高的,接入CDN實時日誌系統,可以讓開發者回歸業務的創新和性能本身,減少不必要的投入。

3. 多維度SQL分析,秒級10億+規模

CDN實時日誌系統支持每天千億、萬億的日誌7*24小時不間斷採集,並實時對海量日誌進行多維度分析,流計算系統在毫秒級。讓用戶遠離日誌分析中的各類繁雜「瑣事」,更加專註於和業務更緊密、更有價值的數據「分析」上。

同時,實時日誌可以輕鬆應對數據處理組合維度大、計算複雜度大、各類流量高峯衝擊等業務場景。保存日誌供用戶下載的對象存儲系統(Oss)可提供數據高吞吐下載能力,複雜的分析場景,可由數倉系統來支持。

4. 數據可視化及大數據挖掘

最終分析結果的展示也非常關鍵,CDN實時日誌可以為用戶提供基於業務的可視化報表服務,用戶可輕鬆地掌控業務健康度、緩存命中率、平均下載速度、流量情況、網速、運營商、延時分佈等數據。

5.日誌、監控、告警聯動的一站式解決方案

在CDN場景下,對服務的可用性、性能要求苛刻,需要對於各類異常進行實時、準確的報警,這就需要依賴可靠的監控報警系統。CDN日誌系統未來將和監控、告警、處理機制聯動,自動化的解決常規問題,縮短業務故障的時間,避免用戶損失。

五、典型應用場景

1. 直播推流

在直播場景下,CDN日誌實時投遞至日誌服務之後,可以做幾個典型的實時分析。

直播推流數據非常重要,當有了直播推流的日誌之後,可掌控推流端各種實時狀態:

? 推流概覽 : 實時知道當前的推流數量、各個推流的流量和速度、從各省、運營商維度統計

? 推流質量:多維度的推流質量統計、重點推流的實時質量監控

? 錯誤根源追蹤:快速定位錯誤產生的源頭(直播源、服務端、客戶端、運營商)

下圖是直播推流的各項監控統計,從整體的推流質量上來看,99%以上的推流都是正常的,說明推流的質量非常好。

下表統計了各類錯誤的產生原因,可以看到最大的錯誤來源是客戶端主動斷開。

2.CDN下行

播放端(CDN下行)是用戶直接接觸,其質量直接決定用戶觀看體驗,在下行日誌中,我也可以從多個維度進行分析:

? 整體質量:

健康度 : 在所有的訪問中,有多少請求是成功的

Cache命中率 : 命中率越高,用戶訪問延時越低,體驗越好

下載速度 : 這也是關係到播放質量的重要因素

? 多維度分析:

top域名訪問次數、流量 : 重點域名的訪問質量地域、運營商統計:各個鏈路的質量下載量、速度、延時:多項關鍵指標

? 錯誤診斷:

實時錯誤QPS、比例 : 整體錯誤情況錯誤Top 域名、URI : 錯誤是否和自身相關錯誤Top 地域、運營商 : 錯誤是否和外部因素相關

錯誤客戶端分別 : 是否是新發布版本引入的問題

在下圖中,可以看到,絕大部分錯誤,都是發生在這個客戶端版本,就需要懷疑是不是新的版本發布帶來的呢?

3.用戶行為分析

用戶的訪問行為,最終可體現在日誌上,通過日誌的分析,瞭解到用戶是如何進行訪問的,哪些資源是熱門資源,通過用戶的來源,更清楚瞭解用戶來源,以後的運營推廣也可以更具有針對性,除此之外,對異常IP進行監控,可更早發現異常,如高頻訪問的IP,是否存在爬取數據的嫌疑。

Demo演示:

當系統出現報警或有用戶投訴的情況下,通用的處理流程往往是相似的:

  • 整體概述:整體訪問是否正常?
  • 縮小範圍:是局部錯誤麼,是哪個域名,或是哪個區域,再或者只是某個用戶?
  • 精準定位:縮小調查範圍後,可對局部數據進行同比、環比的對比;觀察更詳細的日誌;多個維度進行Adhoc的query分析。

在這個過程中可以發現,整個分析流程,是從上到下、從面到點、互動式的分析,涉及到Drill Down/Roll Up等多方面。因此,靈活和方便是系統必備的兩項。在以下的視頻中,展示如何在日誌服務中,對CDN日誌進行互動式的分析。

另外,我們也提供了一個Demo,可以實際體驗一下Mock的CDN日誌分析:Demo連接

六、接入流程

目前實時日誌功能已經在CDN控制檯上線,用戶可以通過簡單操作,快速的、無障礙的使用CDN實時日誌的能力。主要步驟如下:

  1. 登錄CDN控制檯。
  2. 在左側導航欄,單擊日誌。
  3. 在日誌頁,單擊實時日誌推送。
  4. 單擊一鍵創建日誌服務。
  5. 配置Project、Logstore、地域等信息,然後單擊下一步。
  6. 選擇關聯域名並綁定,然後單擊創建。

在11月,CDN實時日誌服務推出特惠活動,限時5折,點擊選購

點擊跳轉CDN實時日誌專題頁,瞭解功能詳情。

推薦閱讀:

相關文章