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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論