騰訊網路乾貨分享 大資料在伺服器運營中的應用

2021-09-13 19:03:24 字數 3145 閱讀 4079

前言

大資料的處理

下面講講我們是怎麼收集和儲存伺服器運營資料的,給我三分鐘,給你乙個帥氣又有營養的答案!

1、運營系統架構

對於海量伺服器的管理,我們建立了一套功能強大的運營分析系統,從伺服器的帶內和帶外收集了全面的靜態屬性和動態執行資料,對伺服器的每個關節進行的全方位的資料採集和監控。猶如我們平時體檢,把心、肝、脾、肺、腎,甚至每個毛孔,都進行了檢查。系統架構如下圖所示。

2、儲存和分析

大資料的四個實踐

大資料的規劃分析,決策者和開發者首先要從業務驅動的角度,選擇資料生產的業務場景,即要預計資料分析得到的結果能帶來哪些效益。根據公司伺服器運營的特點,我們在以下四個場景做了大資料的分析和應用,給實際的運營帶來的實實在在的好處。

1、硬碟故障**

硬碟是伺服器硬體故障率最高的乙個部件,如果能提前**到硬碟故障,對業務體驗、完善備件管理都有莫大的收益。這也是基礎架構運營在經歷自動化、流程化後,需要進一步提公升運營效率、降低運營成本的天然要求。

涉及硬碟的運營資料報括業務io資料、硬碟內部的smart和硬碟執行的環境變數資料(溫度和濕度)。目前,運營系統對io資料是每小時採集一次,smart資料每三小時採集一次,溫度和濕度每半小時採集一次,這些資料合計起來每天的記錄數上億條。硬碟故障**,適合使用分類演算法,我們使用了目前較為流行的svm分類演算法,輔以合適的核函式來加快學習計算的效率。

經過了一年多時間的實踐,走了不少彎路,也碰到了很多坑,在硬碟故障標準確定、業務io分類定義等方面吃了不少的虧,我們在基於smart資料做的故障**,達到了令人滿意的效果。在實際運營環境中驗證的結果如下:準確率precision達到98%,**時間leadtime的整體偏差不超過2天。

需要重點指出的是,我們做的**結果,除了training階段用歷史資料外,驗證的過程是用現網的實時資料來進行的。就是說,經過svm演算法得到的**模型後,我們是用最新採集的實時資料輸入到模型中,得到的ok和fail兩種**結果,在3天、7天、14天後再對**的結果進行驗證。這個比傳統的**方式(訓練和驗證都是使用歷史資料),對現網應用的價值大大提高了。目前在現網環境中,主要的落地場景包括:1)**出來的結果,經過運營流程,對bg業務提前發出預警,以提高業務運維效率

2、伺服器利用率分析

伺服器利用率分析給運營帶來的好處在於:

1)結合業務模型,發現業務應用伺服器的短板,在發現並修復系統架構缺陷的同時,提高整體利用率;

2)對機型選型的優化,例如對於磁碟容量使用率不高的機型,在後續的機型定製中減少硬碟的數量。

3、故障率分析

伺服器故障分析對伺服器的各個部件的故障率都做了分析和監控,包括

1)生成月度故障率報表;

2)故障率異常的實時監控和自動告警;

3)分析外部條件與故障率的關係;

4)與os的軟體告警資訊聯動起來,及時發現伺服器的亞健康狀態。

4、環境監控

2023年8月,華東地區遭遇罕見的高溫天氣,很多機房空調製冷扛不住了,頻繁發生伺服器高溫重啟的事件。如果能把機房環境溫度有效的監控起來,我們就能在發現異常時發出高溫告警,提前採取措施。對伺服器入風口溫度進行採集和監控是乙個較為有效的方案。

上圖顯示伺服器入風口溫度變化的異常情況,經過資料的規整和誤差修正,產生了高溫告警。通過自動化流程,及時知會到機房現場負責人。

一些思考

1、不要被資料誤導

人們很容易被大資料忽悠。在很多場合我們都談了大資料強大的功能和美好的未來,認為可以解決許多社會問題,甚至**未來。無論大資料如何神奇,若試圖用大資料引領未來只會誤入歧途,因為大資料背後本就存在著「先天不足」:從本質上看,大資料最大的缺陷就在於試圖以確定去「顛覆」混沌與不確定性。之前我們做硬碟故障**,直觀的認為硬碟的讀寫壓力對硬碟老化和故障是有直接關係的,但經過分析,發現業務使用硬碟的隨機性太大了,硬碟響應io的模式也很多變,對於業務的io讀寫比例、塊大小等,有太多的不確定性,就是前面說的混沌,導致前面基於io做的**結果非常糟糕。其實這裡要說的就是,目前這個階段,依靠大資料來指導伺服器運營,不靠譜,伺服器運營智慧型化遠遠沒有達到。這裡還是要靠運營和開發人員的思維和頭腦,把自動化運營先做好。

2、資料質量的把控

資料的質量和字段規範性對後面分析效果的影響很大。但業務開發所設計的資料不是為了運營分析而服務的,很多情況下都是為了功能開發而存在,如果可以在系統構建初期進行介入,其實可用避免很多清洗工作,資料可直接投入分析使用。這裡開發人員和資料分析的人員存在乙個gap,如果對資料在系統設計中遇上各種約束的話,開發人員會覺得很痛苦,開發效率非常低;而資料分析人員卻覺得如果資料能做到工具級定製,就是連資料的表字段的名稱,注釋,連內部關係,都是由系統統一生成,這樣採集完美的。

後來,我們內部經過一段時間的討論和磨合,形成的共識。我們做的是運營系統,歸根到底是為運營服務的,而資料分析是運營的乙個重要功能。所以沒有辦法,這個問題還是需要開發階段來解決,開發人員只能克服了。

對大資料未來的設想

1、精細化的感測器

2、資料服務即開即用

最後祝福所有遇到瓶頸的大資料程式設計師們突破自己,祝福大家在往後的工作與面試中一切順利。

騰訊網頁遊戲qxzb伺服器端原始碼結構分析

使用框架blazeds,這裡略去不談,感興趣的同學,可以到adobe官網檢視相關資料 和spring框架的整合,請自己google之。基於amf協議,自定義了 amflogendpointextendsamfendpoint 和flexspringfactoryimplementsflexfacto...

在騰訊雲伺服器上安裝Mysql

1.第一步,安裝前,我們可以檢測系統是否自帶安裝 mysql 命令rpm qa grep mysql 3.第三步,安裝mysql源 命令sudo rpm ivh mysql community release el7 5.noarch.rpm 5.第四步,安裝mysql 命令sudo yum ins...

在騰訊雲容器新增外部 DNS 伺服器

為什麼k8s需要dns服務 k8s給每個服務都分配了vip,通過vip可以訪問和該服務關聯的pod,應用無需關心pod的例項個數,vip會自動做負載均衡。如果乙個服務要訪問另外乙個服務,如何知道另外乙個服務對應的vip呢?通過環境變數,每個pod啟動的時候,kubelet會把所有的服務以環境變數的形...