3.1. 日志處理遇到的問題
當(dāng)前的互聯(lián)網(wǎng)世界,有著日益龐大且不斷增長的用戶基數(shù),越來越多的企業(yè)意識到京景,數(shù)據(jù)才是公司最寶貴的財(cái)富奉芦。如何建立有效地統(tǒng)計(jì)策略胆描,從web日志中挖掘到有用信息,并充分利用之成為亟待解決的難題仗阅。
在業(yè)務(wù)量不太大時(shí)昌讲,可以在單機(jī)上建立一些統(tǒng)計(jì)腳本,定時(shí)解析日志减噪,并針對各個(gè)功能模塊建立更多的處理腳本短绸,并配以監(jiān)控腳本以檢測統(tǒng)計(jì)產(chǎn)出的穩(wěn)定性。在此鏈路中筹裕,用戶需要維護(hù)幾十個(gè)腳本醋闭,每天收到幾十封監(jiān)測郵件。這樣的開發(fā)方式存在諸多缺點(diǎn):
- 大量重復(fù)的開發(fā)
- 統(tǒng)計(jì)方法不可靠
- 介入了太多人工操作朝卒,耗時(shí)費(fèi)力
- 數(shù)據(jù)量大時(shí)單機(jī)無法完成
- 生成復(fù)雜的報(bào)表需要人工編寫证逻,且質(zhì)量不高
3.2. 日志處理系統(tǒng)可以解決的問題
以上缺點(diǎn)隨著業(yè)務(wù)量的增長會日益凸顯,拋開數(shù)據(jù)量的增長抗斤,即使利用hadoop人工編寫mr腳本囚企,當(dāng)統(tǒng)計(jì)腳本太多時(shí),作業(yè)監(jiān)控會越加困難瑞眼,介入的人工越多龙宏,產(chǎn)生錯(cuò)誤的可能性就越大,報(bào)表的生成也會及其復(fù)雜伤疙。如上這些問題需要一個(gè)功能完善的系統(tǒng)银酗,可以簡化統(tǒng)計(jì)開發(fā)流程,完全代替人工徒像,自動化運(yùn)行并監(jiān)控黍特。
日志處理系統(tǒng)正是基于以上問題而構(gòu)建。從普通用戶的角度來看锯蛀,日志處理系統(tǒng)實(shí)現(xiàn)了以下功能:
- 統(tǒng)計(jì)編輯和管理
- 作業(yè)自動運(yùn)維
- 作業(yè)監(jiān)控
- 日志管理
- 報(bào)表管理
- 權(quán)限管理
日志處理系統(tǒng)的統(tǒng)計(jì)編輯和管理模塊可以方便用戶在ui界面編寫統(tǒng)計(jì)程序并手動測試灭衷;作業(yè)自動運(yùn)維模塊可以定時(shí)例行運(yùn)行作業(yè),不需用戶關(guān)注谬墙;作業(yè)監(jiān)控模塊可以自動監(jiān)控運(yùn)行作業(yè)的狀態(tài)今布,包括超時(shí)经备、失敗拭抬、無效等;日志管理模塊將日志源抽象為系統(tǒng)內(nèi)部的模塊侵蒙,用戶只需在編寫統(tǒng)計(jì)時(shí)添加相應(yīng)的數(shù)據(jù)源即可自動接入造虎;報(bào)表管理模塊允許用戶通過簡單地編輯和加減乘除運(yùn)算自動生成各類報(bào)表并定時(shí)發(fā)送;權(quán)限管理模塊以產(chǎn)品線為基本單位纷闺,賦予用戶不同的角色權(quán)限和等級算凿。