第二章 日志采集

2.1瀏覽器頁(yè)面日志采集

頁(yè)面瀏覽日志采集,該日志采集是PV年枕、UV指標(biāo)計(jì)算的基礎(chǔ)标捺,也具有一定的挑戰(zhàn)性懊纳。

頁(yè)面瀏覽日志采集是在頁(yè)面發(fā)送完HTTP請(qǐng)求后,得到服務(wù)器響應(yīng)亡容,并開始在頁(yè)面進(jìn)行渲染后才開始的嗤疯。也就是在HTTP中某一個(gè)節(jié)點(diǎn)增加一個(gè)日志采集節(jié)點(diǎn),當(dāng)瀏覽器解析到該節(jié)點(diǎn)時(shí)闺兢,就向服務(wù)器發(fā)起日志采集請(qǐng)求茂缚。

日志采集的幾個(gè)重要步驟:

1.瀏覽器日志采集

主要采集當(dāng)前頁(yè)面參數(shù)戏罢,瀏覽行為上下午信息,運(yùn)行環(huán)境

2.瀏覽器日志發(fā)送

可能采集完后立即發(fā)送脚囊,也可能延遲發(fā)送龟糕,因?yàn)槿绻麛?shù)據(jù)量較大,會(huì)采取合并多條日志再發(fā)送的策略悔耘。減少IO次數(shù)讲岁,

3.日志采集服務(wù)器接收日志

服務(wù)器收到日志后會(huì)立馬返回瀏覽器一個(gè)成功響應(yīng),以避免瀏覽器的渲染的延遲衬以。接收到的日志會(huì)進(jìn)入日志緩沖區(qū)缓艳。

4.日志采集服務(wù)器解析并存檔日志

主要是轉(zhuǎn)義和解碼

頁(yè)面交互日志采集,用戶喜好看峻、系統(tǒng)優(yōu)化點(diǎn)等業(yè)務(wù)都是基于此日志來(lái)完成的阶淘。

交互日志相較于頁(yè)面瀏覽日志,更多樣化互妓,無(wú)法規(guī)定其統(tǒng)一的采集內(nèi)容溪窒。需要技術(shù)人員更多的參與到其中,個(gè)性化程度較高车猬。

阿里內(nèi)部通過(guò)注冊(cè)要采集的交互日志業(yè)務(wù)霉猛,具體的業(yè)務(wù)場(chǎng)景以及具體交互采集點(diǎn)來(lái)自動(dòng)生成采集日志的代碼模版。

也就是指定要采集的交互行為珠闰。

行為日志可與瀏覽日志做關(guān)聯(lián)運(yùn)算。

日志的服務(wù)器端清洗和預(yù)處理

對(duì)于實(shí)時(shí)性要求不高的應(yīng)用場(chǎng)合瘫辩,需要對(duì)日志做清洗和預(yù)處理伏嗜。

1.識(shí)別流量攻擊、流量作弊伐厌、網(wǎng)絡(luò)爬蟲

流量攻擊指段時(shí)間內(nèi)多次發(fā)起訪問(wèn)承绸,按照一定的規(guī)則解析出流量攻擊后要馬上將數(shù)據(jù)反補(bǔ)回業(yè)務(wù)系統(tǒng)進(jìn)行指定IP的防御

流量作弊多現(xiàn)與廣告點(diǎn)擊等業(yè)務(wù)場(chǎng)景,識(shí)別出來(lái)減少成本及損失

網(wǎng)絡(luò)爬蟲需要指定一定的反爬機(jī)制

2.數(shù)據(jù)補(bǔ)正

如用戶登陸后挣轨,對(duì)稍早一些的該用戶日志信息作填充军熏。方便下游統(tǒng)計(jì)和方便計(jì)算。

3.無(wú)效數(shù)據(jù)剔除卷扮。

由于業(yè)務(wù)變更荡澎,頁(yè)面端的日志采集配置沒(méi)有發(fā)生相應(yīng)的變更,產(chǎn)生了一些垃圾日志晤锹。會(huì)占用存儲(chǔ)摩幔,也會(huì)影響下游的計(jì)算效率和準(zhǔn)確性,固剔除這部分?jǐn)?shù)據(jù)鞭铆。

4.數(shù)據(jù)隔離分發(fā)

出于安全性考慮或者業(yè)務(wù)特征的考慮或衡,在某些日志進(jìn)入公共數(shù)據(jù)環(huán)境之前需要做日志隔離。

2.2無(wú)線客戶端日志采集

會(huì)對(duì)日志做分類,分為頁(yè)面事件和控件點(diǎn)擊事件封断,而控件點(diǎn)擊事件又分為多種斯辰,如單擊、雙擊坡疼、滑動(dòng)彬呻、長(zhǎng)按等,下游的分析可能只針對(duì)某一類事件回梧,而不用拿全部的事件日志废岂。固將事件分類可以有效提升下游的分析,也有利于結(jié)構(gòu)化存儲(chǔ)狱意。

1.頁(yè)面日志一般會(huì)在用戶退出該頁(yè)面時(shí)發(fā)送日志湖苞,因?yàn)檫@樣可以記錄下用戶停留在此頁(yè)面的時(shí)長(zhǎng)。也可以減少日志量详囤,因?yàn)槿绻M(jìn)入頁(yè)面發(fā)送一條日志财骨,離開時(shí)發(fā)送一條日志,則發(fā)送了兩條日志藏姐。如果只是在離開時(shí)發(fā)送日志隆箩,則只發(fā)送了1條。在頁(yè)面日志中可以故意多收集一些信息羔杨,如上個(gè)頁(yè)面的信息甚至是上上個(gè)頁(yè)面的信息捌臊。這樣就可以分析當(dāng)前頁(yè)面的來(lái)源搜索關(guān)鍵字等。

2.除了頁(yè)面瀏覽日志外還有頁(yè)面點(diǎn)擊日志和其他日志兜材。

頁(yè)面點(diǎn)擊日志就是常見(jiàn)的用戶點(diǎn)擊操作理澎,其他日志就是用戶自定義的一些列操作日志。

除了上訴日志曙寡,還可以記錄應(yīng)用崩潰的日志糠爬,應(yīng)用退出的日志,應(yīng)用切換的日志等举庶。這些日志對(duì)改進(jìn)應(yīng)用自身有很大的幫組执隧。

設(shè)備標(biāo)識(shí)難以采集問(wèn)題:

web網(wǎng)頁(yè)端如果采集不到設(shè)備信息,可以用cookie作為用戶標(biāo)識(shí)户侥,app端沒(méi)有cookie镀琉。阿里的做法是用算法對(duì)每一臺(tái)app設(shè)備生成一個(gè)UTDID,隨著各個(gè)品牌手機(jī)權(quán)限的收攏添祸,目前該UTDID還不是很完善滚粟。

無(wú)線客戶端的日志上傳遵循一些列策略,不是來(lái)一條日志上傳一條刃泌,有積贊的日志大小凡壤、積贊日志時(shí)長(zhǎng)署尤、app的切換、長(zhǎng)時(shí)間停留無(wú)操作等都是上傳契機(jī)亚侠。

2.3日志采集的挑戰(zhàn)

總結(jié)起來(lái)就是在面對(duì)海量日志的情況下如何高度結(jié)構(gòu)化曹体、規(guī)范化的組織日志。以及高速硝烂、不重不漏的傳輸日志箕别。

為解決上訴問(wèn)題,阿里巴巴采用如下2個(gè)解決方案:

1.日志分流和定制處理

日志分流是指頁(yè)面在對(duì)日志服務(wù)器發(fā)起日志傳送請(qǐng)求時(shí)的分流滞谢,可以根據(jù)業(yè)務(wù)的類型而改變請(qǐng)求的URL串稀,分別將請(qǐng)求打到不同的服務(wù),以達(dá)到分流狮杨、分開熱點(diǎn)日志和定常日志母截,讓熱點(diǎn)日志不要干擾定常日志的需求。

2.采集與計(jì)算一體化處理

大促保障

端上埋點(diǎn)采集-日志服務(wù)器收集-數(shù)據(jù)傳輸-實(shí)時(shí)分析橄教。在這4個(gè)環(huán)境中清寇,某一個(gè)環(huán)境出了問(wèn)題,這條日志處理鏈路都是失敗的护蝶,要保證日志鏈路就是要保證以上4個(gè)流程的高效华烟、無(wú)誤。

客戶端到日志服務(wù)器收集端:

阿里采用了日志服務(wù)器推送配置到客戶端形成相應(yīng)的日志采集策略持灰。并且在客戶端日志URL到日志服務(wù)器端做了日志到達(dá)分流處理盔夜,將不同業(yè)務(wù)類型的日志做分流處理。

結(jié)合實(shí)時(shí)處理端的處理能力堤魁,評(píng)估峰值數(shù)據(jù)量比吭。在高峰期采用服務(wù)端推送配置到客戶端來(lái)達(dá)到對(duì)不重要的日志進(jìn)行限流,以達(dá)到暫時(shí)削峰的作用姨涡。錯(cuò)峰后又逐步將延遲推送的日志上傳到日志服務(wù)器。延遲的策略有延遲上報(bào)吧慢、部分采樣等涛漂。所謂延遲上傳,即先把日志保存在客戶端检诗,待配置恢復(fù)后再上傳到服務(wù)器匈仗。部分采用是針對(duì)特殊的場(chǎng)景,如對(duì)app的性能監(jiān)控逢慌,內(nèi)存消耗等日志悠轩,只選取小部分日志上傳,因?yàn)樾〔糠秩罩揪途哂写硇粤斯テ谩0⒗锷踔磷隽酥苯釉谌罩静杉?wù)器端調(diào)用API做計(jì)算火架。減少日志傳輸流程鉴象,減少出錯(cuò)和資源占用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末何鸡,一起剝皮案震驚了整個(gè)濱河市纺弊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骡男,老刑警劉巖淆游,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異隔盛,居然都是意外死亡犹菱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門吮炕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)腊脱,“玉大人,你說(shuō)我怎么就攤上這事来屠÷亲担” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵俱笛,是天一觀的道長(zhǎng)捆姜。 經(jīng)常有香客問(wèn)我,道長(zhǎng)迎膜,這世上最難降的妖魔是什么泥技? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮磕仅,結(jié)果婚禮上珊豹,老公的妹妹穿的比我還像新娘。我一直安慰自己榕订,他們只是感情好店茶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劫恒,像睡著了一般贩幻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上两嘴,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天丛楚,我揣著相機(jī)與錄音,去河邊找鬼憔辫。 笑死趣些,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贰您。 我是一名探鬼主播坏平,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼拢操,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了功茴?” 一聲冷哼從身側(cè)響起庐冯,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坎穿,沒(méi)想到半個(gè)月后展父,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玲昧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年栖茉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孵延。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吕漂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出尘应,到底是詐尸還是另有隱情惶凝,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布犬钢,位于F島的核電站苍鲜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏玷犹。R本人自食惡果不足惜混滔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望歹颓。 院中可真熱鬧坯屿,春花似錦、人聲如沸巍扛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撤奸。三九已至隔节,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寂呛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工瘾晃, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贷痪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓蹦误,卻偏偏與公主長(zhǎng)得像劫拢,于是被迫代替她去往敵國(guó)和親肉津。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容