版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大數(shù)據(jù)下的技術(shù)運營----監(jiān)控系統(tǒng)技術(shù)運營團隊的由來在運維更名為技術(shù)運營的兩年內(nèi),我們對這個團隊的工作目標(biāo)產(chǎn)生了新的理解,工作內(nèi)容也逐漸從傳統(tǒng)的維護往DevOps方向轉(zhuǎn)化。技術(shù)運營,簡單地講就是利用技術(shù)手段,降低資源消耗,提高基礎(chǔ)資源的運行效率,提高整個軟件生命周期運行的效率。這意味著對團隊內(nèi)的每個工程師都提出了更高的要求:一方面我們要支持目前的系統(tǒng)運行;同時也要針對目前的業(yè)務(wù)流程去開發(fā)自己的工具,讓整個基礎(chǔ)資源和能力工具化,把經(jīng)驗和自己對流程的理解變成Web化的工具,提供給程序員使用。為什么必須自主研發(fā)監(jiān)控系統(tǒng)目前在TalkingData的Developer除了負責(zé)代碼的編寫,還要負責(zé)生產(chǎn)系統(tǒng)自己程序的性能指標(biāo)提供監(jiān)控接口,以及生產(chǎn)環(huán)境程序bug的處理。Developer能夠一定程度的獲取生產(chǎn)權(quán)限,方便常規(guī)的維護和簡單故障的處理。這樣一來,技術(shù)運營的挑戰(zhàn)就來了:權(quán)限的管理、性能指標(biāo)的監(jiān)控、日志的管理以及資源的隔離,都需要有成熟的工具去支撐。目前市面上有很多開源的軟件可以實現(xiàn)這樣的功能,但是在不同程度上存在各種各樣的問題。以監(jiān)控為例,開源的監(jiān)控很多,Zabbix、Nagios、Cacti,都是不錯的監(jiān)控軟件,但是首先它們并不能滿足大數(shù)據(jù)場景下的數(shù)據(jù)存儲;其次,如果監(jiān)控項和主機數(shù)量過多,數(shù)據(jù)查詢時會出現(xiàn)速度慢等一系列問題。所以技術(shù)運營首先選擇在監(jiān)控上做了全新的設(shè)計和開發(fā),新監(jiān)控命名為OWL(貓頭鷹),意思就是在技術(shù)人員睡覺的時候提供值班服務(wù)。自研監(jiān)控系統(tǒng)的三大技術(shù)要點傳統(tǒng)的監(jiān)控很多還是在停留在設(shè)備、網(wǎng)絡(luò)、系統(tǒng)相關(guān)的監(jiān)控上,重視數(shù)據(jù)的采集,但是在數(shù)據(jù)算法和Role上比較傳統(tǒng)。對監(jiān)控系統(tǒng)簡化抽象下,傳統(tǒng)監(jiān)控可以大致分為三個過程:數(shù)據(jù)采集、數(shù)據(jù)存儲、響應(yīng)處理。OWL監(jiān)控在傳統(tǒng)監(jiān)控基礎(chǔ)上,增加了Algorithm模塊,支持復(fù)雜的算法規(guī)則報警,如下圖所示:1.監(jiān)控數(shù)據(jù)采集DataCollection就是數(shù)據(jù)采集,這里指的數(shù)據(jù)不光是基礎(chǔ)硬件的指標(biāo),也可以是業(yè)務(wù)指標(biāo)。下面介紹兩個實例。第一個例子是主機硬盤狀態(tài)的采集:下面的數(shù)據(jù)采集中第一列是硬盤設(shè)備標(biāo)號,第二列是硬盤的狀態(tài),在監(jiān)控的這個層面,一切都是metric,不同的層級可以抽象到不同的metric,結(jié)合metric+timestamp+tagk1+tagv1…+tagkN+tagvN,這樣針對相同的metric去加tag,用來標(biāo)示數(shù)據(jù),方便后期的查詢。第二個例子是Nginx的訪問狀態(tài)的數(shù)據(jù)采集:第一列是http請求的狀態(tài),第二列是計數(shù)器2.監(jiān)控數(shù)據(jù)存儲監(jiān)控數(shù)據(jù)的存儲也是一個很有意思的話題,監(jiān)控數(shù)據(jù)在數(shù)據(jù)結(jié)構(gòu)上是很有特色的。仔細觀察發(fā)現(xiàn)監(jiān)控數(shù)據(jù)基本上都是和時間維度相關(guān)的,以metric+timestamp的組合形式的數(shù)據(jù)占了所有監(jiān)控數(shù)據(jù)量的大部分,相比而言,多維度的監(jiān)控數(shù)據(jù)比較少;如果出現(xiàn)了多維度的監(jiān)控數(shù)據(jù),也可以通過其他的方式繞開處理。RDBMS由于要考慮數(shù)據(jù)的關(guān)聯(lián),所以它在整體數(shù)據(jù)存儲設(shè)計上充分考慮了數(shù)據(jù)的完整性和關(guān)系型,同時在schema設(shè)計上還要遵守數(shù)據(jù)庫的幾大范式。傳統(tǒng)的監(jiān)控大多數(shù)還是使用了RDBMS,但是這造成了性能上和擴展性上的局限性。針對監(jiān)控數(shù)據(jù)這樣簡單的數(shù)據(jù)結(jié)構(gòu),卻采用了一套復(fù)雜的存儲格式。隨著近些年各種各樣的垂直的。技術(shù)領(lǐng)域?qū)?shù)據(jù)的存儲不同要求的演變,如Graphdatabase,TimeSeriesDatabases等數(shù)據(jù)庫得到了不斷發(fā)展;監(jiān)控數(shù)據(jù)在存儲上有了更多的選擇,InfluxDB,OpenTSDB,KairosDB都是不錯的選擇,最后我們選擇了OpenTSDB,這主要是因為TalkingData的大數(shù)據(jù)基因,Hadoop和HBase在我們的業(yè)務(wù)系統(tǒng)中大規(guī)模使用。從現(xiàn)有的數(shù)據(jù)體量上,OpenTSDB能夠滿足現(xiàn)在的業(yè)務(wù)要求。簡單的總結(jié)了一下OpenTSDB的優(yōu)點:使用HBase存儲,不存在單點故障。使用HBase存儲,存儲空間幾乎無限。支持永久存儲,可以做容量規(guī)劃。易于定制圖形能擴展采集數(shù)據(jù)點到100億級。能擴展metrics數(shù)量到K級別(比如CPU的使用情況,可以算作一個metric,即metric就是1個監(jiān)控項)支持秒級別的數(shù)據(jù)。此外,OpenTSDB支持API查詢,可以輕松地和其他系統(tǒng)進行數(shù)據(jù)對接,也方便其他系統(tǒng)抽取監(jiān)控相關(guān)的數(shù)據(jù)。并且,查詢方式靈活:查詢數(shù)據(jù)可以使用query接口,它既可以使用get的querystring方式,也可以使用post方式以JSON格式指定查詢條件。3.監(jiān)控的報警算法Algorithm這塊是傳統(tǒng)監(jiān)控系統(tǒng)所欠缺的,基本上都是單個指標(biāo)的大于,小于這樣的算法,但是遇到集群或者復(fù)雜的指標(biāo),就需要自己去增加一些算法,比如多個指標(biāo)的加和,平均值,top10,歷史相似度等。這些算法的引入,可以增加報警的準(zhǔn)確度,有效的減少報警數(shù)量,讓報警變得人性化。關(guān)于報警的算法會在本系列的后續(xù)文章進行詳細介紹。自研監(jiān)控系統(tǒng)一覽簡單的介紹一下OWL的整體架構(gòu),下面目前的架構(gòu)是第四個大版本。在研發(fā)的過程中,我們也嘗試了很多的開源技術(shù),如RRDtools、Graphlite,也踩了很多的技術(shù)坑,最后我們整體選擇了OpenTSDB,在這個技術(shù)棧下面演進了兩個版本:方案特點一:語言棧統(tǒng)一為Go2015年的版本,由于技術(shù)人員的稀缺,我們采用了一部分Python一部分Golang的系統(tǒng),在開源推廣中帶來了很多問題,主要是部署難度增加。2016年即將發(fā)布的版本中,metriccollection模塊、Controller模塊、Inspector模塊全部采用Golang開發(fā),簡單摘錄一下Golang的優(yōu)點:部署簡單。Go編譯生成的是一個靜態(tài)可執(zhí)行文件,除了glibc外沒有其他外部依賴。這讓部署變得異常方便:目標(biāo)機器上只需要一個基礎(chǔ)系統(tǒng)和必要的管理、監(jiān)控工具,完全不需要操心應(yīng)用所需的各種包、庫的依賴關(guān)系,大大減輕了維護的負擔(dān)。這是與Python的巨大區(qū)別。并發(fā)性好。goroutine和channel使得編寫高并發(fā)的服務(wù)端軟件變得相當(dāng)容易,很多情況下完全不需要考慮鎖機制以及由此帶來的各種問題。單個Go應(yīng)用也能有效的利用多個CPU核,并行執(zhí)行的性能好。良好的語言設(shè)計。執(zhí)行性能好。雖然不如C和Java,但通常比原生Python應(yīng)用還是高一個數(shù)量級的,適合編寫一些瓶頸業(yè)務(wù)。內(nèi)存占用也非常節(jié)省。我們也同樣意識到這樣的問題,所以在OWLV4.0的版本中,全部統(tǒng)一了語言棧,降低了大家的使用難度,和后期技術(shù)棧的維護難度。方案特點二:定制化自己的圖表上面的架構(gòu)圖中,大家不難發(fā)現(xiàn),整個OWL的設(shè)計核心是CustomReport。將整個系統(tǒng)從以工具為核心,轉(zhuǎn)向以數(shù)據(jù)和用戶為核心,OWL的好處是首先使用者會自己定義感興趣的數(shù)據(jù)指標(biāo);其次在指標(biāo)上添加rule,用戶可以更專注數(shù)據(jù);隨后可以做一些簡單的數(shù)據(jù)處理,一些數(shù)據(jù)加和等這樣的簡單運算;并且定制不同樣式的圖表,餅圖、柱狀圖、線圖。在整個監(jiān)控上形成一個立體的結(jié)構(gòu),不同層面的工程師可以在同一個層面上工作。有了好的工具支持,才能讓工程師DevOps起來。OWL新版本中也將會支持Docker的支持,這塊目前采用的主要是google開源的cAdvisor作為數(shù)據(jù)采集的,通過二次開發(fā)將cAdvisor變成plugin集成進入OWL。方案特點三:報警模塊的劃分關(guān)于報警方式,目前沒有放置在OWL中。在TalkingData,所有的報警采用Messagecenter的方式,Messagecenter有獨立的Web,支持基礎(chǔ)的信息查詢,信息的發(fā)送對外采用restfulAPI暴露給其他的系統(tǒng),信息的傳送方式上,按照消息的優(yōu)先級程度,采用不同的下行方式,高=短信+企業(yè)微信+email;中=企業(yè)微信+email;低=email,目前正在考慮加入商業(yè)化的呼轉(zhuǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能家居招投標(biāo)居間合同
- 學(xué)校操場改造圍板施工合同
- 船舶行業(yè)銷售員招聘合同
- 建筑工程勘察合同協(xié)議書范本
- 二零二五年度招標(biāo)文件范本編制合同3篇
- 2025關(guān)于解除勞動合同的注意事項
- 2025無固定期限勞動合同格式范本
- 二零二五年度房地產(chǎn)定向開發(fā)與綠色建筑節(jié)能改造合同2篇
- 二零二五年度市政設(shè)施檢測合同范本3篇
- 二零二五年度大理石地磚市場調(diào)研與銷售數(shù)據(jù)分析合同3篇
- 無錫市區(qū)2024-2025學(xué)年四年級上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 血液凈化中心院內(nèi)感染控制課件
- 年產(chǎn)1.5萬噸長鏈二元酸工程建設(shè)項目可研報告
- 《北航空氣動力學(xué)》課件
- 紡織廠消防管道安裝協(xié)議
- 【MOOC】思辨式英文寫作-南開大學(xué) 中國大學(xué)慕課MOOC答案
- 期末測試卷(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)北師大版
- 2024年下半年中國石油大連石化分公司招聘30人易考易錯模擬試題(共500題)試卷后附參考答案
- 國有企業(yè)品牌建設(shè)策略方案
- 家政培訓(xùn)講師課件
- 廣東省深圳市龍華區(qū)2023-2024學(xué)年八年級下學(xué)期期中數(shù)學(xué)試題
評論
0/150
提交評論