本文檔為您介紹如何通過WebTracking採集日誌資料到Log Service中,並對採集到的日誌資料進行查詢和分析。
背景資訊
當發送重要郵件時為了確認對方已讀,都會在郵件中設定讀取回執標籤,可以在對方已讀時收到提醒資訊。讀取回執這種模式用途很廣,例如。
發送傳單時,確保對方已讀。
推廣網頁時,多少使用者做了點擊。
移動App營運活動頁面,分析使用者訪問情況。
對這類個人化的採集與統計,針對網站與站長的傳統方案都無法勝任,主要痛點在於。
個人化需求難滿足:使用者產生行為並非移動端情境,其中會包括一些營運個人化需求欄位,例如:來源、渠道、環境、行為等參數。
開發難度大/成本高:為完成一次資料擷取、分析需求,首先需要購買雲主機、公網IP、開發資料接收伺服器、訊息中介軟體等,並且通過互備保障服務高可用。接下來需要開發服務端並進行測試。
使用不易:資料達到服務端後,還需要工程師先清洗結果並匯入資料庫,產生營運需要的資料。
無法彈性:無法預估使用者的使用量,因此需要預留很大的資源集區。
從以上幾點看,當一個面向內容投放的營運需求來了後,如何能以快捷的手段滿足這類使用者行為採集、分析需求是一個很大的挑戰。
Log Service提供Web Tracking、JS、Tracking Pixel SDK用於解決以上輕量級埋點採集情境,可以在1分鐘時間內完成埋點和資料上報工作。
功能特點
這裡引入採集+分析方案基於阿里雲Log Service,該服務是針對日誌類資料的一站式服務,無需開發就能快捷完成海量日誌資料的採集、消費、投遞以及查詢分析等功能,提升營運、營運效率。服務功能包括。
LogHub:即時採集與消費。與Blink、Flink、Spark Streaming、Storm、Kepler等打通。
資料投遞:LogShipper。與MaxCompute、E-MapReduce、OSS、Function Compute等打通。
查詢與即時分析:LogSearch/Analytics。與DataV、Grafana、Zipkin、Tableau等打通。
採集端優勢
Log Service提供30+種資料擷取方式,針對伺服器、移動端、嵌入式裝置及各種開發語言都提供完整的解決方案。
Logtail:針對X86伺服器設計Agent。
Android/iOS:針對移動端SDK。
Producer Library:面向受限CPU/記憶體、智慧型裝置。
本文檔中介紹的輕量級採集方案(Web Tracking)只需一個HTTP Get請求即可將資料轉送至Log ServiceLogstore端,適應各種無需任何驗證的靜態網頁、廣告投放、宣傳資料和移動端資料擷取。相比其他日誌採集方案,特點如下。
Web Tracking接入流程
Web Tracking(也叫Tracking Pixel)術語來自於HTML文法中的圖片標籤,即您可以在頁面上嵌入一個0 Pixel圖片,該圖片預設對使用者不可見,當訪問該頁面顯示載入圖片時,會順帶發起一個Get請求到服務端,這個時候就會把參數傳給服務端。具體操作,請參見使用Web Tracking採集日誌。
應用情境
當您有一個新內容時(例如新功能、新活動、新遊戲、新文章),作為營運人員總是迫不及待地希望能儘快傳達到使用者,因為這是擷取使用者的第一步、也是最重要的一步。
以遊戲發行為例,市場很大一筆費用進行遊戲推廣,例如投放了1W次廣告。廣告成功載入的有2000人次,約佔20%。其中點擊的有800人次,最終下載並註冊帳號試玩的往往少之又少。
可見,能夠準確、即時地獲得內容推廣有效性對於業務非常重要。為了達到整體推廣目標,營運人員往往會挑選各個渠道來進行推廣。
使用者站內信(Mail)、官網部落格(Blog)、首頁文案(Banner等)。
簡訊、使用者Email、傳單等。
新浪微博、DingTalk使用者群、微信公眾帳號、知乎論壇、今日頭條等新媒體。
操作步驟
開啟Web Tracking功能。
在Log Service中建立一個Logstore(例如叫:myclick),並開啟WebTracking功能。
產生Web Tracking標籤。
為需要宣傳的文檔(article=1001)面對每個宣傳渠道增加一個標識,並產生Web Tracking標籤(以Img標籤為例)。
站內信渠道(mailDec)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=mailDec&article=1001" alt="" title="">
官網渠道(aliyunDoc)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=aliyundoc&article=1001" alt="" title="">
使用者郵箱渠道(email)。
<img src="http://example.cn-hangzhou.log.aliyuncs.com/logstores/myclick/track_ua.gif?APIVersion=0.6.0&from=email&article=1001" alt="" title="">
其他更多渠道可以在from參數後加上,也可以在URL中加入更多需要採集的參數。
將img標籤放置在宣傳內容中,並進行發布。
分析日誌。
在完成埋點採集後,您可以使用Log ServiceLogSearch/Analytics功能對海量日誌資料進行即時查詢與分析。在結果分析可視化上,除內建Dashboard外,還支援DataV、Grafana、Tableau等對接方式。
以下是截止目前採集日誌資料,您可以在搜尋方塊中輸入關鍵詞進行查詢。
也可以在查詢後輸入SQL進行秒級的即時分析並可視化。
設計查詢語句。
以下是對使用者點擊、閱讀日誌進行即時分析的語句,更多欄位和分析情境可以參見分析文法。
當前投放總流量與閱讀數。
* | select count(1) as c
每個小時閱讀量的曲線。
* | select count(1) as c, date_trunc('hour',from_unixtime(__time__)) as time group by time order by time desc limit 100000
每種渠道閱讀量的比例。
* | select count(1) as c, f group by f desc
閱讀量來自哪些裝置。
* | select count_if(ua like '%Mac%') as mac, count_if(ua like '%Windows%') as win, count_if(ua like '%iPhone%') as ios, count_if(ua like '%Android%') as android
閱讀量來自哪些省市。
* | select ip_to_province(__source__) as province, count(1) as c group by province order by c desc limit 100
將這些即時資料配置到一個即時重新整理Dashboard中。