BigData在伺服器運營中的應用

2021-06-26 19:01:00 字數 2675 閱讀 8379

大資料的處理

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

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

儲存和分析

大資料的四個實踐

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

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

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

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

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

伺服器利用率分析給運營帶來的好處在於:1)結合業務模型,發現業務應用伺服器的短板,在發現並修復系統架構缺陷的同時,提高整體利用率;2)對機型選型的優化,例如對於磁碟容量使用率不高的機型,在後續的機型定製中減少硬碟的數量。

伺服器故障分析對伺服器的各個部件的故障率都做了分析和監控,包括1)生成月度故障率報表;2)故障率異常的實時監控和自動告警;3)分析外部條件與故障率的關係;4)與os的軟體告警資訊聯動起來,及時發現伺服器的亞健康狀態。

上圖是某伺服器硬體最近幾周的故障率統計資訊。按部件給出各個機型的故障率情況,及時發現批次性故障並給出告警

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

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

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

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

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

伺服器的運營與維護

it運維服務管理體系規定了it運維活動涉及的各類實體,以及這些實體間的相互關係。相關的實體按照 it運維服務管理體系進行有機組織,並協調工作,按照服務協議要求提供不同級別的it運維服務。組成 it運維服務管理體系的實體包括運維服務管理物件 運維活動角色及運維管理組織結構 運維服務管理流程 運維服務支...

在伺服器中配置Jupyter

使用遠端伺服器進行實驗,而伺服器又沒有視覺化的介面,使用jupyter notebook可以很好地與遠端伺服器進行互動。英文教程.首先要確保安裝jupyter notebook pip install jupyter生成配置檔案 jupyter notebook generate config如圖 ...

在CMD中連線伺服器

在cmd命令視窗中,輸入ssh root 為伺服器ip位址。然後輸入之前設定的密碼即可成功連線。在操作伺服器的時候不推薦用root使用者直接操作,於是我們先建立乙個使用者 建立使用者的命令是 adduser 3.ubuntu下測試ssh時使用ssh localhost 命令,出現錯誤提示connec...