騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)-_第1頁
騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)-_第2頁
騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)-_第3頁
騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)-_第4頁
騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)-_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、騰訊專家分享:騰訊做業(yè)務(wù)監(jiān)控的心得和經(jīng)驗(yàn)分享主題:騰訊業(yè)務(wù)立體化監(jiān)控體系1、介紹騰訊業(yè)務(wù)監(jiān)控體系的層級(jí)構(gòu)成;2、用代表性的監(jiān)控系統(tǒng)闡述每個(gè)監(jiān)控層次的實(shí)現(xiàn)方法;3、與監(jiān)控體系配合,業(yè)務(wù)做了哪些容災(zāi)和調(diào)度的方案。分享實(shí)錄:首先很榮幸在這里給大家分享騰訊在做業(yè)務(wù)監(jiān)控的一些心得和經(jīng)驗(yàn),當(dāng)然今天所提及的只是騰訊業(yè)務(wù)運(yùn)營監(jiān)控體系中的小部分,也歡迎大家一起在運(yùn)營體系建設(shè)、精細(xì)化運(yùn)維等方面共同探討和學(xué)習(xí)。我們用一個(gè)QQ紅包開始今天的分享吧。表面看是搶紅包這么簡(jiǎn)單的一個(gè)功能,其實(shí)光搶紅包這個(gè)動(dòng)作,它所關(guān)聯(lián)的監(jiān)控系統(tǒng)就有好多個(gè)!如圖所示,騰訊的業(yè)務(wù)從邏輯上可以抽象總結(jié)成四個(gè)層次:用戶層(PC、手機(jī)、智能硬件等、接

2、入層、邏輯層和數(shù)據(jù)層(包括數(shù)據(jù)緩存層和持久化層。騰訊業(yè)務(wù)的監(jiān)控系統(tǒng)是立體化覆蓋,總結(jié)來說也是由四個(gè)層級(jí)組成:基礎(chǔ)設(shè)施層基礎(chǔ)設(shè)施層的監(jiān)控覆蓋范圍很廣,在騰訊包括:與運(yùn)營商互聯(lián)出口、專線(包括城域和廣域、機(jī)房(包括各類物理設(shè)施-如機(jī)架、制冷、配電、消防、安防等、網(wǎng)絡(luò)設(shè)備(交換機(jī)、路由器、防火墻等等?;A(chǔ)設(shè)施層的監(jiān)控又分為狀態(tài)、性能、質(zhì)量、容量、架構(gòu)等幾個(gè)層面。舉例說明:狀態(tài)監(jiān)控,包括網(wǎng)絡(luò)設(shè)備的軟硬件狀態(tài),如設(shè)備存活狀態(tài)、板卡、電源、風(fēng)扇狀態(tài),設(shè)備溫度、光功率、OSPF狀態(tài)、生成樹狀態(tài)等;性能監(jiān)控,包括設(shè)備CPU、設(shè)備內(nèi)存大小、session數(shù)量、端口流量包量、內(nèi)存溢出監(jiān)控、內(nèi)存使用率等;質(zhì)量監(jiān)控,

3、包括設(shè)備錯(cuò)包、丟包率,針對(duì)網(wǎng)絡(luò)設(shè)備以及網(wǎng)絡(luò)鏈路的探測(cè)延時(shí)、丟包率監(jiān)控等;容量監(jiān)控,包括設(shè)備負(fù)載使用率、專線帶寬使用率、出口流量分布等;架構(gòu)監(jiān)控,包括路由跳變、缺失、繞行,流量穿越監(jiān)控等。服務(wù)器層服務(wù)器是業(yè)務(wù)部署運(yùn)行起來的載體(早期服務(wù)器就是我們傳統(tǒng)觀念上的“物理機(jī)+操作系統(tǒng)”,現(xiàn)在已經(jīng)擴(kuò)大到虛擬機(jī)或者是容器等范疇。服務(wù)器層的監(jiān)控包括硬件層面和軟件層面。硬件層面的監(jiān)控主要包括如下內(nèi)容:硬盤:硬盤讀寫錯(cuò)誤、讀寫超時(shí)、硬盤掉線、硬盤介質(zhì)錯(cuò)誤、SSD硬盤硬盤溫度、硬盤壽命、硬盤壞塊率;內(nèi)存:內(nèi)存缺失、內(nèi)存配置錯(cuò)誤、內(nèi)存不可用、內(nèi)存校驗(yàn);網(wǎng)卡:網(wǎng)卡速率;電源:電源電壓、電源模塊是否失效;風(fēng)扇:風(fēng)扇轉(zhuǎn)速;

4、Raid卡:Raid卡電池狀態(tài)、電池老化、電池和緩存是否在位、緩存策略。軟件層面的監(jiān)控主要包括:CPU:CPU整體使用率、CPU各核使用率、CPU Load負(fù)載;內(nèi)存:應(yīng)用內(nèi)存、整體內(nèi)存、Swap等;磁盤IO:讀寫速率、IOPS、平均等待延時(shí)、平均服務(wù)延時(shí)等;網(wǎng)絡(luò)IO:流量、包量、錯(cuò)包、丟包;連接:各種狀態(tài)的TCP連接數(shù)等進(jìn)程端口存活;文件句柄數(shù);進(jìn)程數(shù);內(nèi)網(wǎng)探測(cè)延時(shí);丟包率等。業(yè)務(wù)程序?qū)尤萘抗芾硐到y(tǒng):容量管理系統(tǒng)基于“服務(wù)器層”在軟件層面的監(jiān)控指標(biāo),并且配合業(yè)務(wù)增長(zhǎng)、運(yùn)營活動(dòng)等因素而建設(shè),用于客觀衡量業(yè)務(wù)負(fù)載高低情況,并結(jié)合擴(kuò)縮容調(diào)度,實(shí)現(xiàn)業(yè)務(wù)的負(fù)載和成本間的平衡。具體原理是根據(jù)服務(wù)器所在業(yè)

5、務(wù)層級(jí)(接入層、邏輯層還是數(shù)據(jù)層的不同,設(shè)置不同的容量參考指標(biāo)、指標(biāo)參考基準(zhǔn)、指標(biāo)計(jì)算規(guī)則、高低負(fù)載判別規(guī)則,設(shè)置業(yè)務(wù)模塊(由相同功能的多個(gè)服務(wù)器構(gòu)成的業(yè)務(wù)集群的擴(kuò)縮容規(guī)則;由系統(tǒng)計(jì)算出服務(wù)器、業(yè)務(wù)模塊的負(fù)載情況,決策出是否需要擴(kuò)容或縮容,觸發(fā)業(yè)務(wù)模塊的擴(kuò)縮容操作。說明:服務(wù)器、業(yè)務(wù)模塊的負(fù)載計(jì)算規(guī)則也是由業(yè)務(wù)可以自定義配置。模塊間調(diào)用:在騰訊內(nèi)部簡(jiǎn)稱“模調(diào)”,2006年開始已經(jīng)廣泛應(yīng)用于各大業(yè)務(wù),用于實(shí)時(shí)監(jiān)測(cè)后端服務(wù)與服務(wù)之間調(diào)用的質(zhì)量,可以細(xì)化到服務(wù)模塊、接口、命令字甚至代碼層面(現(xiàn)在看來,其實(shí)就是目前各個(gè)APM廠商在大力宣傳和推廣的代碼級(jí)監(jiān)控產(chǎn)品。1、針對(duì)使用標(biāo)準(zhǔn)化組件(在騰訊內(nèi)部業(yè)務(wù),

6、用戶層使用的標(biāo)準(zhǔn)組件是wns;接入層使用的標(biāo)準(zhǔn)組件是Qzhttp、tngix;邏輯層使用的標(biāo)準(zhǔn)組件是spp+L5;數(shù)據(jù)層使用的標(biāo)準(zhǔn)組件是CKV、CDB等的業(yè)務(wù),由標(biāo)準(zhǔn)組件上報(bào)模調(diào)監(jiān)控?cái)?shù)據(jù);2、針對(duì)自定義業(yè)務(wù)Server,提供模調(diào)上報(bào)的SDK或API,由業(yè)務(wù)自主上報(bào)服務(wù)間的每次調(diào)用成功與否,每次調(diào)用的延時(shí);3、模調(diào)系統(tǒng)支持業(yè)務(wù)從用戶層->接入層->邏輯層->數(shù)據(jù)層,全路徑用唯一的序列號(hào)(通常由時(shí)間、功能模塊ID、UIN、隨機(jī)值等因素構(gòu)成此值來對(duì)業(yè)務(wù)請(qǐng)求染色,方便業(yè)務(wù)展現(xiàn)出每次請(qǐng)求完整的從前到后的調(diào)用鏈路。用戶體驗(yàn)測(cè)速系統(tǒng):收集用戶真實(shí)訪問業(yè)務(wù)的速度、性能、成功率數(shù)據(jù)。PC類業(yè)務(wù)

7、由js上報(bào)或者客戶端程序監(jiān)控模塊上報(bào),移動(dòng)類業(yè)務(wù)通過引入騰訊分析SDK上報(bào)到監(jiān)控系統(tǒng)。測(cè)速系統(tǒng)的價(jià)值不僅僅在于實(shí)時(shí)監(jiān)控,還有一個(gè)很有價(jià)值的作用:業(yè)務(wù)架構(gòu)優(yōu)化前后,對(duì)比用戶訪問業(yè)務(wù)的速度對(duì)比,指導(dǎo)和衡量業(yè)務(wù)架構(gòu)優(yōu)化的客觀效果。云撥測(cè):通過模擬用戶訪問業(yè)務(wù)并校驗(yàn)返回?cái)?shù)據(jù)結(jié)果,監(jiān)測(cè)業(yè)務(wù)是否可用、訪問質(zhì)量及性能、邏輯功能正確性的監(jiān)控系統(tǒng)。當(dāng)然和云撥測(cè)同類的產(chǎn)品或者公司也挺多的,比如基調(diào)、監(jiān)控寶、博睿等等。我們自己要建立云撥測(cè)其中的一個(gè)原因是:騰訊業(yè)務(wù)需要監(jiān)控業(yè)務(wù)邏輯是否正常,而不僅僅是接入層(網(wǎng)站類業(yè)務(wù)是否能訪問,訪問的速度是否快,業(yè)務(wù)邏輯的驗(yàn)證就涉及到登錄鑒權(quán)、關(guān)系數(shù)據(jù)自動(dòng)化獲取等,外部監(jiān)控服務(wù)商無

8、法實(shí)現(xiàn)這一點(diǎn)。接下來講下告警關(guān)聯(lián)和業(yè)務(wù)容災(zāi)的內(nèi)容有這么多監(jiān)控系統(tǒng),如果沒有告警智能關(guān)聯(lián),我們會(huì)怎么樣?簡(jiǎn)單舉一個(gè)例子,如果某個(gè)業(yè)務(wù)在數(shù)據(jù)層的服務(wù)器(假設(shè)安裝的是redis有硬件故障,前端業(yè)務(wù)也沒有做好足夠的容災(zāi)切換,那么該業(yè)務(wù)的接入層、邏輯層、數(shù)據(jù)層在用戶體驗(yàn)、業(yè)務(wù)程序?qū)訉a(chǎn)生大量的告警,形成告警風(fēng)暴。為了解決該問題,騰訊內(nèi)部有一個(gè)ROOT系統(tǒng),基于業(yè)務(wù)架構(gòu),結(jié)合業(yè)務(wù)數(shù)據(jù)流訪問關(guān)系,通過時(shí)間相關(guān)性、面積權(quán)重等算法,將監(jiān)控告警進(jìn)行分類、關(guān)聯(lián),發(fā)掘出告警的根源所在。告警關(guān)聯(lián)的一個(gè)基本思路是,越靠近業(yè)務(wù)后端(邏輯層處于接入層的后端,數(shù)據(jù)層處于邏輯層的后端的告警越趨近于故障根源;越靠近基礎(chǔ)設(shè)施層的告警

9、越趨近于故障根源。還是剛才所舉的例子:監(jiān)控系統(tǒng)在關(guān)聯(lián)所有告警后,發(fā)給運(yùn)維和研發(fā)的告警將是分析后的結(jié)論:redis所在服務(wù)器硬件故障,導(dǎo)致業(yè)務(wù)請(qǐng)求量下降xx%,業(yè)務(wù)整體流量下降XX%。以上的內(nèi)容簡(jiǎn)單介紹了目前騰訊業(yè)務(wù)核心的幾個(gè)監(jiān)控系統(tǒng),當(dāng)然還有很多其他系統(tǒng)沒有提及到,比如自動(dòng)化測(cè)試監(jiān)控、組件特性監(jiān)控、業(yè)務(wù)自定義特性監(jiān)控、業(yè)務(wù)流量染色監(jiān)控、業(yè)務(wù)全路徑日志染色等。業(yè)務(wù)容災(zāi)調(diào)度柔性我們始終認(rèn)為:監(jiān)控系統(tǒng)、運(yùn)維工具不是萬能的。如果要業(yè)務(wù)可用性不斷靠近100%,需要業(yè)務(wù)側(cè)做很多容災(zāi)、調(diào)度、柔性的工作。騰訊業(yè)務(wù)在容災(zāi)、調(diào)度、柔性上做了哪些工作呢?由于篇幅有限,不能完全列舉,我僅分享幾個(gè)比較有代表性的思路和方

10、法。1、在用戶端:為了應(yīng)對(duì)網(wǎng)絡(luò)環(huán)境復(fù)雜的情況,騰訊移動(dòng)類業(yè)務(wù)采用公司統(tǒng)一的業(yè)務(wù)接入框架維納斯【維納斯(WNS,Wireless Network Service,又名移動(dòng)連通服務(wù),是一個(gè)為APP提供高連通、高可靠、強(qiáng)安全的網(wǎng)絡(luò)連接通道的服務(wù);它利用QQ、微信海量接入數(shù)據(jù)來持續(xù)優(yōu)化調(diào)度算法,并集成了用戶就近接入、騰訊直通車、加密通道透?jìng)鞴δ艿鹊?提供了手機(jī)端SDK(IOS/Android,業(yè)務(wù)不必關(guān)心網(wǎng)絡(luò)細(xì)節(jié),即可安全與業(yè)務(wù)后臺(tái)簡(jiǎn)單可靠的通訊】。目前, WNS服務(wù)已經(jīng)通過騰訊云完全開放,大家可以去使用。2、業(yè)務(wù)接入層:業(yè)務(wù)接入層大多數(shù)是無狀態(tài)設(shè)計(jì)(或者是有規(guī)則的分號(hào)段接入,在運(yùn)營部署規(guī)劃的過程中,

11、根據(jù)業(yè)務(wù)規(guī)模大小,選擇不同程度的容災(zāi),通常有跨交換機(jī)、跨機(jī)架、跨機(jī)房、跨地域容災(zāi)。業(yè)務(wù)全量接入TGW(騰訊云網(wǎng)關(guān)實(shí)現(xiàn)負(fù)載均衡,避免單個(gè)服務(wù)器、交換機(jī)、機(jī)房出現(xiàn)故障時(shí),業(yè)務(wù)完全癱瘓。3、業(yè)務(wù)邏輯層:業(yè)務(wù)間的邏輯調(diào)用都是通過L5組件(名字服務(wù)+負(fù)載均衡訪問,L5組件基于服務(wù)器初始配置信息,通過自適應(yīng)算法,以兩個(gè)關(guān)鍵指標(biāo)請(qǐng)求成功率和請(qǐng)求延時(shí)為依據(jù),周期性計(jì)算出每個(gè)被調(diào)服務(wù)器的權(quán)重,再使用高效的配額算法分配各個(gè)主調(diào)服務(wù)的訪問路由,主調(diào)服務(wù)器上的業(yè)務(wù)進(jìn)程通過API來取得這些路由,調(diào)用結(jié)束時(shí)通過API來反饋路由的好與壞。4、網(wǎng)絡(luò)調(diào)度:主要有同城跨運(yùn)營商調(diào)度和同運(yùn)營商跨城調(diào)度。假設(shè)上海電信出口有故障,我們將

12、通過GSLB域名解析指向調(diào)度到同城其他運(yùn)營商的接入集群,實(shí)現(xiàn)容災(zāi)。騰訊有幾個(gè)核心的IDC節(jié)點(diǎn),多個(gè)節(jié)點(diǎn)之間有專線互聯(lián),所以我們也可以將上海電信接入的這部分用戶牽引到北京電信或者深圳電信進(jìn)行接入,實(shí)現(xiàn)業(yè)務(wù)的容災(zāi)-這就是同運(yùn)營商跨城調(diào)度。調(diào)度的過程,業(yè)務(wù)完全無感知。5、柔性:分基礎(chǔ)設(shè)施層面的柔性和業(yè)務(wù)邏輯功能上的柔性。柔性是容災(zāi)、調(diào)度切換等手段的補(bǔ)充?;A(chǔ)設(shè)施層面的柔性,舉一個(gè)例子:當(dāng)運(yùn)營商網(wǎng)絡(luò)、專線網(wǎng)絡(luò)擁塞的時(shí)候,我們可以根據(jù)業(yè)務(wù)的服務(wù)等級(jí)不同啟動(dòng)不通等級(jí)的流量控制。業(yè)務(wù)功能上的柔性也舉一個(gè)簡(jiǎn)單易懂的例子:某個(gè)業(yè)務(wù)如果提供了文字、語音、視頻、互動(dòng)等功能,當(dāng)網(wǎng)絡(luò)高負(fù)載或者業(yè)務(wù)整體高負(fù)載時(shí),可以通過

13、柔性開關(guān)控制關(guān)閉調(diào)某些高消耗資源的功能和服務(wù)??偨Y(jié):監(jiān)控體系是業(yè)務(wù)運(yùn)營體系中非常重要的一個(gè)環(huán)節(jié),但業(yè)務(wù)可用性的提高是需要基礎(chǔ)設(shè)施支撐團(tuán)隊(duì)、業(yè)務(wù)運(yùn)維團(tuán)隊(duì)、業(yè)務(wù)研發(fā)團(tuán)隊(duì)一起去通力合作,才能做到更好的。問答實(shí)錄:1.L5具體是干啥的?沒有明白。答:L5其實(shí)就是我們內(nèi)部業(yè)務(wù)邏輯的名字服務(wù)+負(fù)載均衡組件。服務(wù)A調(diào)用服務(wù)B,通過L5組件調(diào)用,我們稱A為主調(diào)方,A在獲得服務(wù)B的IPort列表時(shí),需要通過L5 API獲得。調(diào)用的成功率和延時(shí)是由系統(tǒng)自反饋和實(shí)時(shí)更新的。2.請(qǐng)教一個(gè)問題,我們是一個(gè)小公司,服務(wù)器30多臺(tái),再監(jiān)控方面有什么要注意的?感謝!答:看你具體要做到什么程度,你是用云還是IDC托管,還是?如

14、果你只需要覆蓋服務(wù)器層面,有很多開源監(jiān)控滿足你的需求。當(dāng)然規(guī)模擴(kuò)大了,需要考慮,數(shù)據(jù)如何整合融合。 3.我想請(qǐng)教一個(gè)問題騰訊內(nèi)部 ROOT 系統(tǒng)是什么樣的一個(gè) 系統(tǒng)?怎么做的告警關(guān)聯(lián)分析?監(jiān)控產(chǎn)品使用的哪些?答: 就是集合所有監(jiān)控系統(tǒng)的數(shù)據(jù)和告警,基于對(duì)象 及 對(duì)象訪 問關(guān)系,不同監(jiān)控層次數(shù)據(jù)關(guān)聯(lián)。 簡(jiǎn)單舉個(gè)例子:業(yè)務(wù) A,有接入層、邏輯層、數(shù)據(jù)層, 這幾 個(gè)層次的對(duì)象訪問關(guān)系(業(yè)務(wù)邏輯拓?fù)洌└鶕?jù)“模調(diào)”系統(tǒng)可 以得到;這幾個(gè)層次也各自有基礎(chǔ)設(shè)施、服務(wù)器層面、業(yè)務(wù) 程序 層面的數(shù)據(jù)和告警。 最簡(jiǎn)單的做法:加入數(shù)據(jù)層 服務(wù)器有硬件故障告警 X,我 們可以懷疑 數(shù)據(jù)層的 業(yè)務(wù)程序?qū)拥母婢?Y 就是 起的。以此類推: X 所引 邏輯層 的告警 我們可以 懷疑是 數(shù)據(jù)層的 某些故障告警 引起的 。 接入層的 告警 我們可以懷疑是 邏輯層的 某些故障告警 引起的。 當(dāng)然具體實(shí)現(xiàn)過程中涉及:數(shù)據(jù)時(shí)間窗對(duì)齊、對(duì)象緯度標(biāo)準(zhǔn) 規(guī)范化、遞歸成環(huán)的一些具體難點(diǎn)。 4.在海量業(yè)務(wù)監(jiān)控上,這么多的監(jiān)控平臺(tái),騰訊是如何合理 管理監(jiān)控系統(tǒng)權(quán)限,是統(tǒng)一管理,還是分部門對(duì)監(jiān)控平臺(tái)管 理?答:監(jiān)控系統(tǒng)一個(gè)通用的平臺(tái),但業(yè)務(wù)模塊是按照部門 或者團(tuán)隊(duì)的, 所以 自己團(tuán)隊(duì), 只能看到自己所相關(guān)的業(yè)務(wù)。 5.當(dāng)運(yùn)營商網(wǎng)絡(luò)、專線網(wǎng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論