如何收集和存儲(chǔ)服務(wù)器運(yùn)營(yíng)的數(shù)據(jù)
時(shí)間:2022-05-25 00:54:01 | 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)
時(shí)間:2022-05-25 00:54:01 來(lái)源:網(wǎng)絡(luò)營(yíng)銷(xiāo)
騰訊公司從2012年開(kāi)始,通過(guò)對(duì)服務(wù)器運(yùn)營(yíng)流程、工具系統(tǒng)的建設(shè),服務(wù)器從一線到三線的運(yùn)營(yíng)基本轉(zhuǎn)入線上自動(dòng)化,在服務(wù)器靜態(tài)配置、動(dòng)態(tài)的運(yùn)行狀態(tài)和生命周期各個(gè)節(jié)點(diǎn)的運(yùn)營(yíng)這幾個(gè)方面,產(chǎn)生了大量的運(yùn)營(yíng)數(shù)據(jù),這些信息像滾雪球一樣,以幾何量級(jí)快速增長(zhǎng),數(shù)據(jù)越來(lái)越多,該如何著手處理呢?
這就像剛?cè)腴T(mén)的廚子一樣,在農(nóng)貿(mào)市場(chǎng)里面對(duì)堆積如小山般的食材,無(wú)從下手,到2013年,建立網(wǎng)平的大數(shù)據(jù)平臺(tái),把所有的基礎(chǔ)架構(gòu)運(yùn)營(yíng)數(shù)據(jù)統(tǒng)一接入和管理,從此,我們開(kāi)始了在數(shù)據(jù)礦山中挖掘金礦的歷程,下面億企邦就跟大家來(lái)講講他們是怎么收集和存儲(chǔ)服務(wù)器運(yùn)營(yíng)數(shù)據(jù)的。
1、大數(shù)據(jù)的處理 經(jīng)過(guò)長(zhǎng)時(shí)間的實(shí)踐和總結(jié),我們發(fā)現(xiàn)服務(wù)器運(yùn)營(yíng)的大數(shù)據(jù)有以下四個(gè)特點(diǎn),由淺入深,分別是:
(1)、Volume數(shù)據(jù)體量巨大,特別是騰訊有海量的服務(wù)器,綜合起來(lái),數(shù)據(jù)量可以到PB級(jí)別,需要大容量、高性能的存儲(chǔ)技術(shù),分析的算法也需要最優(yōu)化。
(2)、Variety數(shù)據(jù)類(lèi)型眾多,涉及大量的運(yùn)行日志、部件狀態(tài)、生產(chǎn)鏈運(yùn)營(yíng)、環(huán)境變量等,經(jīng)常要抽絲剝繭,才能找到有用的數(shù)據(jù)。
(3)、Value價(jià)值巨大,但并不是每個(gè)數(shù)據(jù)都有價(jià)值,需要經(jīng)過(guò)清洗和加工處理后,其產(chǎn)生的效果才能顯現(xiàn),以機(jī)房環(huán)境溫度告警為例,數(shù)百萬(wàn)條溫度的信息,經(jīng)過(guò)分析對(duì)比后,才有可能發(fā)現(xiàn)溫度異常。
(4)、Velocity數(shù)據(jù)需要快速處理,特別是告警類(lèi)的應(yīng)用,時(shí)效性是非常重要的。
2、運(yùn)營(yíng)系統(tǒng)架構(gòu) 對(duì)于海量服務(wù)器的管理,我們建立了一套功能強(qiáng)大的運(yùn)營(yíng)分析系統(tǒng),從服務(wù)器的帶內(nèi)和帶外收集了全面的靜態(tài)屬性和動(dòng)態(tài)運(yùn)行數(shù)據(jù),對(duì)服務(wù)器的每個(gè)關(guān)節(jié)進(jìn)行的全方位的數(shù)據(jù)采集和監(jiān)控,猶如我們平時(shí)體檢,把心、肝、脾、肺、腎,甚至每個(gè)毛孔,都進(jìn)行了檢查,系統(tǒng)架構(gòu)如下圖所示:
3、存儲(chǔ)和分析 數(shù)據(jù)收集起來(lái)后,除了一部分實(shí)時(shí)的數(shù)據(jù)存在本地?cái)?shù)據(jù)庫(kù),幾乎全部的歷史數(shù)據(jù)都會(huì)存儲(chǔ)在公司級(jí)的數(shù)據(jù)平臺(tái)中,這個(gè)數(shù)據(jù)平臺(tái)提供了豐富的工具系統(tǒng),功能全面,涵蓋了數(shù)據(jù)存儲(chǔ)、分析、實(shí)時(shí)計(jì)算等。
例如,TPG是基于postgreSQL的數(shù)據(jù)庫(kù),用于存放TDW(Tencent distributed Data Warehouse騰訊分布式數(shù)據(jù)倉(cāng)庫(kù))離線分析后的結(jié)果數(shù)據(jù),便于系統(tǒng)調(diào)用(如服務(wù)器利用率分析,故障分析、服務(wù)器生命周期等生產(chǎn)數(shù)據(jù));Hbase基于No SQL,萬(wàn)億級(jí)的分布式、有序數(shù)據(jù)存儲(chǔ),用于存放分析后的結(jié)果數(shù)據(jù)(如溫度功耗分析結(jié)果數(shù)據(jù)),整體的架構(gòu)如下圖所示:
4、大數(shù)據(jù)的四個(gè)實(shí)踐 大數(shù)據(jù)的規(guī)劃分析,決策者和開(kāi)發(fā)者首先要從業(yè)務(wù)驅(qū)動(dòng)的角度,選擇數(shù)據(jù)生產(chǎn)的業(yè)務(wù)場(chǎng)景,即要預(yù)計(jì)數(shù)據(jù)分析得到的結(jié)果能帶來(lái)哪些效益,根據(jù)公司服務(wù)器運(yùn)營(yíng)的特點(diǎn),我們?cè)谝韵滤膫€(gè)場(chǎng)景做了大數(shù)據(jù)的分析和應(yīng)用,給實(shí)際的運(yùn)營(yíng)帶來(lái)的實(shí)實(shí)在在的好處。
(1)、硬盤(pán)故障預(yù)測(cè) 硬盤(pán)是服務(wù)器硬件故障率最高的一個(gè)部件,如果能提前預(yù)測(cè)到硬盤(pán)故障,對(duì)業(yè)務(wù)體驗(yàn)、完善備件管理都有莫大的收益,這也是基礎(chǔ)架構(gòu)運(yùn)營(yíng)在經(jīng)歷自動(dòng)化、流程化后,需要進(jìn)一步提升運(yùn)營(yíng)效率、降低運(yùn)營(yíng)成本的天然要求。
涉及硬盤(pán)的運(yùn)營(yíng)數(shù)據(jù)包括業(yè)務(wù)IO數(shù)據(jù)、硬盤(pán)內(nèi)部的SMART和硬盤(pán)運(yùn)行的環(huán)境變量數(shù)據(jù)(溫度和濕度)。
目前,運(yùn)營(yíng)系統(tǒng)對(duì)IO數(shù)據(jù)是每小時(shí)采集一次,SMART數(shù)據(jù)每三小時(shí)采集一次,溫度和濕度每半小時(shí)采集一次,這些數(shù)據(jù)合計(jì)起來(lái)每天的記錄數(shù)上億條。
硬盤(pán)故障預(yù)測(cè),適合使用分類(lèi)算法,我們使用了目前較為流行的SVM分類(lèi)算法,輔以合適的核函數(shù)來(lái)加快學(xué)習(xí)計(jì)算的效率。
經(jīng)過(guò)了一年多時(shí)間的實(shí)踐,走了不少?gòu)澛罚才龅搅撕芏嗫?,在硬盤(pán)故障標(biāo)準(zhǔn)確定、業(yè)務(wù)IO分類(lèi)定義等方面吃了不少的虧,我們?cè)诨赟MART數(shù)據(jù)做的故障預(yù)測(cè),達(dá)到了令人滿意的效果,在實(shí)際運(yùn)營(yíng)環(huán)境中驗(yàn)證的結(jié)果如下:準(zhǔn)確率precision達(dá)到98%,預(yù)測(cè)時(shí)間leadtime的整體偏差不超過(guò)2天。
需要重點(diǎn)指出的是,我們做的預(yù)測(cè)結(jié)果,除了training階段用歷史數(shù)據(jù)外,驗(yàn)證的過(guò)程是用現(xiàn)網(wǎng)的實(shí)時(shí)數(shù)據(jù)來(lái)進(jìn)行的,就是說(shuō),經(jīng)過(guò)SVM算法得到的預(yù)測(cè)模型后,我們是用最新采集的實(shí)時(shí)數(shù)據(jù)輸入到模型中,得到的ok和fail兩種預(yù)測(cè)結(jié)果,在3天、7天、14天后再對(duì)預(yù)測(cè)的結(jié)果進(jìn)行驗(yàn)證。
這個(gè)比傳統(tǒng)的預(yù)測(cè)方式(訓(xùn)練和驗(yàn)證都是使用歷史數(shù)據(jù)),對(duì)現(xiàn)網(wǎng)應(yīng)用的價(jià)值大大提高了,目前在現(xiàn)網(wǎng)環(huán)境中,主要的落地場(chǎng)景包括:
①、預(yù)測(cè)出來(lái)的結(jié)果,經(jīng)過(guò)運(yùn)營(yíng)流程,對(duì)BG業(yè)務(wù)提前發(fā)出預(yù)警,以提高業(yè)務(wù)運(yùn)維效率。
②、根據(jù)預(yù)測(cè)出來(lái)的大規(guī)模硬盤(pán)故障,對(duì)備件進(jìn)行有效管理。
(2)、服務(wù)器利用率分析 一般來(lái)說(shuō),大網(wǎng)絡(luò)公司的業(yè)務(wù)類(lèi)型和機(jī)型都相當(dāng)多,機(jī)器分配給業(yè)務(wù)后,使用的情況如何?我們需要跟蹤服務(wù)器的利用率情況,下圖是某業(yè)務(wù)某機(jī)型磁盤(pán)IO的利用率統(tǒng)計(jì)分析圖:
分析過(guò)程如下:存儲(chǔ)類(lèi)機(jī)型,看到一段時(shí)間統(tǒng)計(jì)出來(lái)的IO的利用率并不高,并且是寫(xiě)少讀多的應(yīng)用,是否可以考慮使用IOPS相對(duì)不高的廉價(jià)硬盤(pán)?還是業(yè)務(wù)的架構(gòu)存在優(yōu)化的空間?
服務(wù)器利用率分析給運(yùn)營(yíng)帶來(lái)的好處在于:
①、結(jié)合業(yè)務(wù)模型,發(fā)現(xiàn)業(yè)務(wù)應(yīng)用服務(wù)器的短板,在發(fā)現(xiàn)并修復(fù)系統(tǒng)架構(gòu)缺陷的同時(shí),提高整體利用率。
②、對(duì)機(jī)型選型的優(yōu)化,例如對(duì)于磁盤(pán)容量使用率不高的機(jī)型,在后續(xù)的機(jī)型定制中減少硬盤(pán)的數(shù)量。
(3)、故障率分析 服務(wù)器故障分析對(duì)服務(wù)器的各個(gè)部件的故障率都做了分析和監(jiān)控,包括:
①、生成月度故障率報(bào)表。
②、故障率異常的實(shí)時(shí)監(jiān)控和自動(dòng)告警。
③、分析外部條件與故障率的關(guān)系。
④、與OS的軟件告警信息聯(lián)動(dòng)起來(lái),及時(shí)發(fā)現(xiàn)服務(wù)器的亞健康狀態(tài)。
上圖是某服務(wù)器硬件最近幾周的故障率統(tǒng)計(jì)信息,按部件給出各個(gè)機(jī)型的故障率情況,及時(shí)發(fā)現(xiàn)批次性故障并給出告警。
(4)、環(huán)境監(jiān)控 2013年8月,華東地區(qū)遭遇罕見(jiàn)的高溫天氣,很多機(jī)房空調(diào)制冷扛不住了,頻繁發(fā)生服務(wù)器高溫重啟的事件,如果能把機(jī)房環(huán)境溫度有效的監(jiān)控起來(lái),我們就能在發(fā)現(xiàn)異常時(shí)發(fā)出高溫告警,提前采取措施,對(duì)服務(wù)器入風(fēng)口溫度進(jìn)行采集和監(jiān)控是一個(gè)較為有效的方案。
上圖顯示服務(wù)器入風(fēng)口溫度變化的異常情況,經(jīng)過(guò)數(shù)據(jù)的規(guī)整和誤差修正,產(chǎn)生了高溫告警,通過(guò)自動(dòng)化流程,及時(shí)知會(huì)到機(jī)房現(xiàn)場(chǎng)負(fù)責(zé)人。
5、數(shù)據(jù)質(zhì)量的把控 數(shù)據(jù)的質(zhì)量和字段規(guī)范性對(duì)后面分析效果的影響很大,但業(yè)務(wù)開(kāi)發(fā)所設(shè)計(jì)的數(shù)據(jù)不是為了運(yùn)營(yíng)分析而服務(wù)的,很多情況下都是為了功能開(kāi)發(fā)而存在,如果可以在系統(tǒng)構(gòu)建初期進(jìn)行介入,其實(shí)可用避免很多清洗工作,數(shù)據(jù)可直接投入分析使用。
這里開(kāi)發(fā)人員和數(shù)據(jù)分析的人員存在一個(gè)gap,如果對(duì)數(shù)據(jù)在系統(tǒng)設(shè)計(jì)中遇上各種約束的話,開(kāi)發(fā)人員會(huì)覺(jué)得很痛苦,開(kāi)發(fā)效率非常低;而數(shù)據(jù)分析人員卻覺(jué)得如果數(shù)據(jù)能做到工具級(jí)定制,就是連數(shù)據(jù)的表字段的名稱、注釋、連內(nèi)部關(guān)系,都是由系統(tǒng)統(tǒng)一生成,這樣采集完美的。
后來(lái),我們內(nèi)部經(jīng)過(guò)一段時(shí)間的討論和磨合,形成的共識(shí),我們做的是運(yùn)營(yíng)系統(tǒng),歸根到底是為運(yùn)營(yíng)服務(wù)的,而數(shù)據(jù)分析是運(yùn)營(yíng)的一個(gè)重要功能,所以沒(méi)有辦法,這個(gè)問(wèn)題還是需要開(kāi)發(fā)階段來(lái)解決,開(kāi)發(fā)人員只能克服了。
6、精細(xì)化的傳感器 對(duì)于服務(wù)器上傳感器的設(shè)計(jì),互聯(lián)網(wǎng)企業(yè)有特殊的需求,對(duì)上游硬件廠商的依賴是比較高的,騰訊有大量的服務(wù)器運(yùn)營(yíng)數(shù)據(jù),非常希望可以跟業(yè)界一起在數(shù)據(jù)、資源、算法等各個(gè)維度可以共享,尋求更多提高運(yùn)營(yíng)效率的途徑。
這里的傳感器也可以從廣義上來(lái)展開(kāi),除了服務(wù)器物理上的sensor越來(lái)越多,在服務(wù)器各個(gè)運(yùn)營(yíng)環(huán)節(jié)都可以在流程中加入各種采集代碼,把服務(wù)器部署、搬遷、退役等每個(gè)細(xì)小的步驟都如實(shí)的記錄下來(lái),運(yùn)營(yíng)系統(tǒng)的不斷優(yōu)化將使“傳感器”體積微型化,它將出現(xiàn)在生產(chǎn)的每一個(gè)角落,為運(yùn)營(yíng)決策提供更科學(xué)的數(shù)據(jù)支撐。
7、不要被數(shù)據(jù)誤導(dǎo) 人們很容易被大數(shù)據(jù)忽悠,在很多場(chǎng)合我們都談了大數(shù)據(jù)強(qiáng)大的功能和美好的未來(lái),認(rèn)為可以解決許多社會(huì)問(wèn)題,甚至預(yù)測(cè)未來(lái)。
但在億企邦看來(lái),無(wú)論大數(shù)據(jù)如何神奇,若試圖用大數(shù)據(jù)引領(lǐng)未來(lái)只會(huì)誤入歧途,因?yàn)榇髷?shù)據(jù)背后本就存在著“先天不足”:從本質(zhì)上看,大數(shù)據(jù)最大的缺陷就在于試圖以確定去“顛覆”混沌與不確定性。
之前我們做硬盤(pán)故障預(yù)測(cè),直觀的認(rèn)為硬盤(pán)的讀寫(xiě)壓力對(duì)硬盤(pán)老化和故障是有直接關(guān)系的,但經(jīng)過(guò)分析,發(fā)現(xiàn)業(yè)務(wù)使用硬盤(pán)的隨機(jī)性太大了,硬盤(pán)響應(yīng)IO的模式也很多變,對(duì)于業(yè)務(wù)的IO讀寫(xiě)比例、塊大小等,有太多的不確定性,就是前面說(shuō)的混沌,導(dǎo)致前面基于IO做的預(yù)測(cè)結(jié)果非常糟糕。
其實(shí)這里要說(shuō)的就是,目前這個(gè)階段,依靠大數(shù)據(jù)來(lái)指導(dǎo)服務(wù)器運(yùn)營(yíng),不靠譜,服務(wù)器運(yùn)營(yíng)智能化遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到,這里還是要靠運(yùn)營(yíng)和開(kāi)發(fā)人員的思維和頭腦,把自動(dòng)化運(yùn)營(yíng)先做好。
億企邦點(diǎn)評(píng): 隨著數(shù)據(jù)的逐步完善和開(kāi)放,互聯(lián)網(wǎng)和企業(yè)都將建立起完善的大數(shù)據(jù)服務(wù)基礎(chǔ)架構(gòu)及商業(yè)化模式,從數(shù)據(jù)的存儲(chǔ)、挖掘、管理、計(jì)算等方面提供一站式服務(wù),將各行各業(yè)的數(shù)據(jù)孤島打通互聯(lián)。
而且數(shù)據(jù)應(yīng)用的生態(tài)系統(tǒng)也將變得非常成熟,甚至出現(xiàn)用戶與數(shù)據(jù)服務(wù)商之間的算法提供商,他們有專業(yè)領(lǐng)域內(nèi)的精英人才,通過(guò)數(shù)據(jù)挖掘的方式,尋找事物間的聯(lián)系,用戶只需將其原始數(shù)據(jù)導(dǎo)入,提供商很快的就能在線的將分析結(jié)果返回,如水和電一樣,即開(kāi)即用。
關(guān)鍵詞:運(yùn)營(yíng),數(shù)據(jù),服務(wù)