自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)架構(gòu)下對(duì)于業(yè)務(wù)監(jiān)控的幾點(diǎn)思考

原創(chuàng)
開發(fā) 架構(gòu) 大數(shù)據(jù)
由51CTO舉辦的WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者峰會(huì)上,來自極光推送首位大數(shù)據(jù)工程師許俊做了以 “大數(shù)據(jù)架構(gòu)下對(duì)于業(yè)務(wù)監(jiān)控的幾點(diǎn)思考”為主題的演講。本文章是把本次分享干貨亮點(diǎn)的整理成文字形式,呈獻(xiàn)廣大的用戶。

本文是WOT2016互聯(lián)網(wǎng)運(yùn)維與開發(fā)者大會(huì)的現(xiàn)場(chǎng)干貨,  新一屆主題為WOT2016企業(yè)安全技術(shù)峰會(huì)將在2016年6月24日-25日于北京珠三角JW萬豪酒店隆重召開!

許俊是極光的***位嚴(yán)格意義上的大數(shù)據(jù)工程師,目前是大數(shù)據(jù)平臺(tái)的負(fù)責(zé)人,見證了極光大數(shù)據(jù)平臺(tái)從0到1,迅速發(fā)展到現(xiàn)在規(guī)模的歷程。他給開發(fā)者帶來的是大數(shù)據(jù)架構(gòu)下對(duì)于業(yè)務(wù)監(jiān)控的幾點(diǎn)思考。通過類比地球地質(zhì)演進(jìn)的過程,來描述大數(shù)據(jù)架構(gòu)下的業(yè)務(wù)監(jiān)控架構(gòu)的演進(jìn)歷史。

寒武紀(jì)——搭建Hadoop集群/Zabbix對(duì)機(jī)器基本指標(biāo)監(jiān)控

幾億年前的地球處于寒武紀(jì),北半球大部分被海水淹沒,地球上的生物比較匱乏,主要是一些類似藍(lán)藻、紅藻這樣的低等生物。這時(shí)極光有了***個(gè)Hadoop集群,集群規(guī)模非常小,業(yè)務(wù)、數(shù)據(jù)也比較少。這樣對(duì)應(yīng)到監(jiān)控上的壓力也很小,所以只用業(yè)界比較流行的Zabbix做一些基本的機(jī)器層面的監(jiān)控。

Zabbix 對(duì)機(jī)器基本指標(biāo)監(jiān)控

但業(yè)務(wù)、數(shù)據(jù)不多,不代表沒有問題,有時(shí)候會(huì)等到第二天,甚至是第三天,業(yè)務(wù)部門反饋出來,才知集群出現(xiàn)問題。如上圖是傳統(tǒng)的監(jiān)控圖,比較被動(dòng)。這剛剛開始,并沒有投入太多的精力做這個(gè)事情。

侏羅紀(jì)——開始重視監(jiān)控/定時(shí)檢查CDH監(jiān)控

侏羅紀(jì)時(shí)期,有造山運(yùn)動(dòng)和劇烈的火山活動(dòng)。爬行動(dòng)物非常發(fā)達(dá),出現(xiàn)了巨大的恐龍、空中飛龍和始祖鳥,植物中蘇鐵、銀杏最繁盛。這是極光的集群規(guī)模隨著業(yè)務(wù)的增長(zhǎng)逐漸擴(kuò)大,開始重視監(jiān)控問題。

CDH監(jiān)控

許俊表示,當(dāng)時(shí)極光選用的是Cloudera的CDH, 如上圖,是CDH監(jiān)控上的部分截圖,監(jiān)控是非常詳細(xì)和細(xì)致,能滿足當(dāng)時(shí)大部分需求。因此在這個(gè)基礎(chǔ)上做了一些定制,對(duì)接到監(jiān)控系統(tǒng)和報(bào)警系統(tǒng),達(dá)到知曉集群狀況的目的。

白堊紀(jì)——引入Kafka等組件/基于Zabbix監(jiān)控做定制

白堊紀(jì)時(shí)期,造山運(yùn)動(dòng)非常劇烈,我國(guó)許多山脈都在這時(shí)形成。動(dòng)物中恐龍最盛,魚類和鳥類很發(fā)達(dá),哺乳動(dòng)物開始出現(xiàn)。植物中顯花植物很繁盛,也出現(xiàn)了熱帶植物和闊葉樹。此時(shí),極光集群規(guī)模繼續(xù)擴(kuò)大,業(yè)務(wù)的復(fù)雜度繼續(xù)提升,故對(duì)監(jiān)控的要求越來越高,并且因業(yè)務(wù)需要引進(jìn)很多新組建,類似Kafka等。

基于 Zabbix 定制的業(yè)務(wù)監(jiān)控

針對(duì)需求,監(jiān)控也應(yīng)隨之進(jìn)步。CDH滿不能滿足需求的情況下,因有Zabbix傳統(tǒng)監(jiān)控,就在已有的系統(tǒng)前提下做一些定制和開發(fā)。如上圖,在Zabbix框架前提下做的一些定制化開發(fā),可以看到監(jiān)控的是其中一個(gè)zabbix節(jié)點(diǎn)內(nèi)存使用的情況,也同樣對(duì)接到告警系統(tǒng),這樣能夠覆蓋到之前覆蓋不到的業(yè)務(wù)層級(jí)。這個(gè)過程持續(xù)了比較長(zhǎng)的時(shí)間,但在用的過程中發(fā)現(xiàn)兩個(gè)問題:其一,Zabbix更關(guān)注CPU、Memory、Network 等機(jī)器指標(biāo),對(duì)業(yè)務(wù)指標(biāo)支持不好。其二,只能做簡(jiǎn)單的記錄和展示,無法靈活地發(fā)現(xiàn)問題。

許俊表示,在這個(gè)時(shí)期極光又遇到新的困難,想看看繼續(xù)沿著之前的思路想,已有的方案能不能解決。目前監(jiān)控方案有CDH方案、根據(jù)Zabbix做定制方案。CDH方案,雖然Hadoop整個(gè)是開元的,但CDH版本的監(jiān)控這一套是相對(duì)比較封閉,并且定制化比較高,所以如果在這個(gè)基礎(chǔ)上做比較困難。Zabbix也遇到兩個(gè)問題,好像這條路走不下去了。這時(shí)開始反思是不是應(yīng)該換個(gè)方向,換個(gè)思路解決這個(gè)問題。

新生代——需要一套通用功能豐富的監(jiān)控系統(tǒng)

新生代時(shí)期,地殼有強(qiáng)烈的造山運(yùn)動(dòng),早期的爬行動(dòng)物絕跡,哺乳動(dòng)物繁盛,生物達(dá)到高度發(fā)展階段。此時(shí)對(duì)于監(jiān)控指標(biāo)的壓力越來越大,簡(jiǎn)單的指標(biāo)監(jiān)控已經(jīng)不能滿足要求,出現(xiàn)了越來越多的類似 “平均值”、“***值”、“求和” 等更靈活多樣的需求,這就需要一套更通用和功能豐富的監(jiān)控系統(tǒng)。

大數(shù)據(jù)平臺(tái)的架構(gòu)

大數(shù)據(jù)平臺(tái)架構(gòu)。如上圖是大數(shù)據(jù)平臺(tái)的實(shí)際架構(gòu)中的一部分,下面深色域是整個(gè)集群核心,在CDH的監(jiān)控下已經(jīng)得到比較好的監(jiān)控。上面Flume是作為數(shù)據(jù)收集的核心的組建,Kalka是作為現(xiàn)在數(shù)據(jù)的重點(diǎn)中心。這兩個(gè)組建目前是沒辦法覆蓋到監(jiān)控里面去,所以在做一個(gè)通用的監(jiān)控系統(tǒng)時(shí),必須照顧到Kalke、Flume,及類似的開元組建。

基于時(shí)間序列的監(jiān)控

選擇Graphite作為核心監(jiān)控組建。許俊表示,經(jīng)過調(diào)研發(fā)現(xiàn)基于時(shí)間序列的監(jiān)控能夠滿足需求,它可以把監(jiān)控指標(biāo)值存儲(chǔ)以外,每個(gè)指標(biāo)都會(huì)帶上一個(gè)時(shí)間戳,這樣就可以基于時(shí)間戳做非常多變換。選擇Graphite的原因有三:其一,可提供一站式解決方案,完成數(shù)據(jù)收集、存儲(chǔ)和展示比較核心的功能。其二,提供了非常豐富的數(shù)據(jù)的操作,基本能涵蓋我們絕大部分的需求。其三,Graphite整個(gè)框架是基于Python生態(tài)圈開發(fā),第三方依賴少。

Graphite的架構(gòu)

Graphite架構(gòu)。有三個(gè)部分組成:Graphite  wab,數(shù)據(jù)圖片的渲染及對(duì)用戶的交互。Carbon,是來實(shí)現(xiàn)接聽端口,接收指標(biāo)數(shù)據(jù)的功能。Whisper,是一個(gè)時(shí)間序列的數(shù)據(jù)庫,是參考了ID類型數(shù)據(jù)庫做的。

Graphite下的魔法 — Functions

 Graphite下的魔法 — Functions。如上圖可以看到下拉列表里面有非常多豐富的Functions,在使用過程中會(huì)發(fā)現(xiàn),基本上平時(shí)業(yè)務(wù)里面能用到的指標(biāo)這里面都能覆蓋到。

設(shè)計(jì)師的頁面 — Grafana

Grafana。 如上圖,為了避免對(duì)用戶友好信譽(yù)的影響,引入Grafana組件。它是一個(gè)純前端的組建,不做任何數(shù)據(jù)收集、數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)計(jì)算,只是一個(gè)純UI來和用戶完成交互,其后端依然是Graphite。在后臺(tái)配置Graphite Metric,就是按照Graphite的格式,一級(jí)一級(jí)的把目錄定下來,后面Graphite提供一些豐富方法,可以在后面通過簡(jiǎn)單的點(diǎn)擊就能完成。也會(huì)在上面時(shí)時(shí)的把一些數(shù)據(jù)指標(biāo)給展示出來。

強(qiáng)大的collector&aggregator — StatsD

StatsD。如上圖,可以看到StatsD提供了非常多的Metric的類型,可以對(duì)接到業(yè)務(wù),并且它提供各種語言的Collector,在監(jiān)控場(chǎng)景下性能可以達(dá)到要求。Aaggregator能對(duì)數(shù)據(jù)監(jiān)控指標(biāo)做非常非常多聚合的操作。

監(jiān)控的監(jiān)控 — Cabot

Cabot。Cabot組件作為監(jiān)控的告警系統(tǒng)。如上右圖,可以看得到Metric就是我們前面提到Graphite那個(gè)Metric的路徑,它會(huì)實(shí)時(shí)把圖片秀出來,下面有幾種格式的返回。Cabot除了Graphite以外,它還支持Jenkins、HTTP、ICMP等作為監(jiān)控來源。同時(shí)它提供其他格式如,郵件、短信和電話等。但是很遺憾它這些方案都是基于一些開元組件和第三方的組件來做,沒辦法對(duì)接到自己的告警系統(tǒng),因?yàn)橐话愣紩?huì)自己輪一套告警系統(tǒng)。但是好在Cabot又基于python做的,所以做一些定制非常簡(jiǎn)單即可。

監(jiān)控系統(tǒng)架構(gòu)

監(jiān)控系統(tǒng)架構(gòu)。上圖是監(jiān)控系統(tǒng)的整個(gè)架構(gòu),最右邊是各個(gè)業(yè)務(wù),我們通過StatsD的Collector,把各種Metric收集到StatsD,做一些負(fù)載均衡及聚合操作。然后把Metric剖析給Graphite服務(wù)器,Graphite服務(wù)器頁面比較丑,所以給它加了一個(gè)漂亮帽子Grafana。整個(gè)系統(tǒng)只能收集數(shù)據(jù),不能發(fā)現(xiàn)問題,所以給它做加一個(gè)告警組件Cabot,這樣一來整個(gè)業(yè)務(wù)系統(tǒng)的監(jiān)控架構(gòu)就完整了。

大數(shù)據(jù)時(shí)代監(jiān)控系統(tǒng)未來存在的挑戰(zhàn)

大數(shù)據(jù)時(shí)代

大數(shù)據(jù)時(shí)代監(jiān)控系統(tǒng)未來面臨哪些挑戰(zhàn)呢?從整個(gè)演進(jìn)的過程來看,架構(gòu)是隨著業(yè)務(wù)不斷的發(fā)展而發(fā)展的,許俊主要講解了以下三個(gè)重點(diǎn):

***:要整合大數(shù)據(jù)各個(gè)組件的通用監(jiān)控告警系統(tǒng)。整個(gè)大數(shù)據(jù)平臺(tái)的架構(gòu),肯定是從簡(jiǎn)單到復(fù)雜,隨著業(yè)務(wù)的發(fā)展,舊的組件不能滿足需求,然后引入新的組件,會(huì)有越來越多的組件加入到架構(gòu)中。監(jiān)控系統(tǒng)也需要覆蓋到這些組件。怎么樣做一套通用監(jiān)控系統(tǒng),而不用每個(gè)都去定制,每個(gè)都去寫復(fù)雜的代碼,這是面需要花時(shí)間關(guān)注的問題。

第二:整個(gè)監(jiān)控系統(tǒng)和內(nèi)部告警系統(tǒng)給對(duì)接,但是還有很多各種各樣的系統(tǒng)。其中非常有特點(diǎn)調(diào)度系統(tǒng),要怎么像對(duì)接監(jiān)控系統(tǒng)一樣,把調(diào)度系統(tǒng)對(duì)接起來,完成資源更好的利用,是后面需要研究的課題。

第三:有監(jiān)控,有告警,能非常及時(shí)的發(fā)現(xiàn)問題。但發(fā)現(xiàn)問題沒用,還要解決問題?,F(xiàn)在都是采用人工去做的方式,那怎么樣通過程序的方式,在監(jiān)控系統(tǒng)里面自動(dòng)觸發(fā)恢復(fù)的操作,讓問題響應(yīng)時(shí)間從人工干涉的幾分鐘,甚至幾個(gè)小時(shí),變成程序自動(dòng)恢復(fù)的幾秒,甚至幾毫秒?甚至更進(jìn)一步,更方便好用及強(qiáng)大的監(jiān)控系統(tǒng),其實(shí)能發(fā)現(xiàn)很多之前傳統(tǒng)的告警或人工沒辦法發(fā)現(xiàn)問題,可以在問題發(fā)生之前就發(fā)出預(yù)警。

演講視頻:http://edu.51cto.com/lesson/id-100759.html

【講師簡(jiǎn)介】

[[167075]]

許俊,高級(jí)Hadoop工程師,大數(shù)據(jù)平臺(tái)負(fù)責(zé)人。極光推送首位大數(shù)據(jù)工程師,見證并負(fù)責(zé)整個(gè)極光推送大數(shù)據(jù)平臺(tái)的演進(jìn),目前負(fù)責(zé)Hadoop平臺(tái),流計(jì) 算系統(tǒng)、圖數(shù)據(jù)庫服務(wù)、spark算法平臺(tái)等基礎(chǔ)數(shù)據(jù)平臺(tái)。在Hadoop運(yùn)維開發(fā),大規(guī)模分布式計(jì)算平臺(tái)領(lǐng)域有著豐富經(jīng)驗(yàn)。

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2015-06-25 16:08:56

數(shù)據(jù)中心技術(shù)人才

2020-03-25 20:06:39

大數(shù)據(jù)視頻監(jiān)控技術(shù)

2012-03-07 09:02:29

代碼復(fù)用

2024-05-08 15:34:12

大數(shù)據(jù)

2013-01-25 10:22:05

網(wǎng)絡(luò)信息保護(hù)信息安全網(wǎng)絡(luò)泄密

2025-03-27 03:22:00

2018-01-16 12:12:59

大數(shù)據(jù)智慧城市信息化

2022-12-05 11:29:14

2016-08-31 01:30:18

大數(shù)據(jù)市場(chǎng)大數(shù)據(jù)應(yīng)用

2019-07-26 05:34:20

大數(shù)據(jù)業(yè)務(wù)驅(qū)動(dòng)數(shù)據(jù)分析

2009-11-17 16:39:13

業(yè)務(wù)服務(wù)管理

2012-04-02 15:52:11

2017-07-19 11:04:40

大數(shù)據(jù)大數(shù)據(jù)應(yīng)用方向

2024-04-03 12:14:15

微服務(wù)架構(gòu)監(jiān)控

2011-09-02 10:59:02

大數(shù)據(jù)數(shù)據(jù)分析Hadoop

2011-08-12 11:14:42

大數(shù)據(jù)數(shù)據(jù)分析平臺(tái)架構(gòu)

2021-06-25 14:41:42

網(wǎng)絡(luò)安全

2016-04-16 00:30:46

大數(shù)據(jù)架構(gòu)可視化智能運(yùn)維

2013-08-01 14:09:49

移動(dòng)互聯(lián)網(wǎng)思考

2021-03-05 11:36:13

安全數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)