天天看點

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

本文偏向與實操層面的為大家介紹,如何基于阿裡雲數加streamcompute、datav快速建構網站日志實時分析。

【什麼場景适合用流計算】

流計算提供了針對流式資料實時分析的一站式工具鍊,對于大量流式資料存在實時分析、計算、處理的邏輯可以考慮通過流計算該任務。舉例如下:

1. 針對實時營銷活動,需要實時擷取活動流量資料分析以了解活動的營銷情況,此時可以上流計算。

2. 針對物聯網裝置監控,需要實時擷取裝置資料進行實時災難監控,此時可以上流計算。

3. 對于手機app資料實時分析,需要實時了解手機裝置的各類名額情況,此時可以上流計算

【使用前須知】

為保障本教程的順利的進行,須知曉如下使用前提:

具備阿裡雲賬号(淘寶及1688帳号可直接使用會員名登入);

下載下傳并安裝logstash的datahub output插件。

【實作的業務場景】

資料來源于某網站上的http通路日志資料,基于這份網站日志來實作如下分析需求:

實時統計并展現網站的pv和uv,并能夠按照使用者的終端類型(如android、ipad、iphone、pc等)分别統計。

實時統計并展現網站的流量來源。

從ip中解析出region或者經緯度在地圖上進行展示。

【說明】浏覽次數(pv)和獨立訪客(uv)是衡量網站流量的兩項最基本名額。使用者每打開一個網站頁面,記錄一個pv,多次打開同一頁面pv 累計多次。獨立訪客是指一天内,通路網站的不重複使用者數,一天内同一訪客多次通路網站隻計算1 次。referer 可以分析網站通路來源,它是網站廣告投放評估的重要名額,還可以用于分析使用者偏好等。

【操作流程概述】

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

如上圖所示,紅色箭線部分為流式資料處理部分,主要拆解如下:

l  配置logstash,将網站産生的日志實時采集至datahub。

l  申請開通datahub,建立項目project及topic(datahub服務訂閱和釋出的最小機關)。

l  開通streamcompute,建立項目project及注冊資料輸入源(datahub)和輸出源(rds),并建立流任務(stream sql任務)。

l  上一步驟中關于輸出源rds的配置,需要事先購買rds for mysql資源。

l  申請開通datav,建立rds資料源并建立datav項目進入大屏制作。

【資料結構設計】

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

datahub topic: 分别建立topic為:coolshell_log_tracker、coolshell_log_detail、coolshell_log_fact。

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

rds:分别建立table為:

adm_refer_info、

adm_user_measures、

flyingline_coordinates 。

【網站日志實時解析】

配置前須知

阿裡雲流計算為了友善使用者将更多資料采集進入datahub,提供了針對logstash的datahub output插件。

logstash安裝要求jre 7版本及以上,否則部分工具無法使用。

操作步驟

步驟2      通過如下指令解壓即可使用:

      $ tar -xzvf logstash-2.4.1.tar.gz

      $ cd logstash-2.4.1

<code>$ {log_stash_home}/bin/plugin install --local logstash-output-datahub-1.0.0.gem</code>

步驟4      下載下傳geoip解析ip資料庫到本地。

wget http://geolite.maxmind.com/download/geoip/database/geolitecity.dat.gz

步驟5      解壓到目前路徑并移動到logstash具體路徑下。

步驟6      配置logstash任務.conf,示例如下:

配置檔案為coolshell_log.conf。具體datahub topic資訊可詳見 資料存儲 章節。

步驟7      啟動任務示例如下:

【資料表建立】

附rds建立表ddl:

【流式資料處理】

注冊資料存儲包括datahub和rds:

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

按照資料鍊路圖中來編寫處理邏輯(附核心代碼):

【處理邏輯1】

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

【處理邏輯2】

【處理邏輯3、4、5、6】

【上線stream sql】

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

上線任務後需要對任務進行啟動:

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

【建立大屏】

現在datav中建立rds資料源:

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

然後根據如下拖拽如元件配置簡單的sql:

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏

本文主要講述了實時場景的鍊路,後續也會将日志歸檔到maxcompute然後通過quick bi進行報表分析。敬請期待!

【Best Practice】基于阿裡雲數加·StreamCompute快速建構網站日志實時分析大屏
上一篇: del

繼續閱讀