海量監控數據處理如何做,看華為雲SRE案例分享

来源:https://www.cnblogs.com/huaweiyun/archive/2022/12/20/16994327.html
-Advertisement-
Play Games

摘要:openGemini的設計和優化都是根據時序數據特點而來,在面對海量運維監控數據處理需求時,openGemini顯然更加有針對性。 IT運維誕生於最早的信息化時代。在信息化時代,企業的信息化系統,主要為了滿足企業內部管理的需求。通常是集中、可控和固化的煙囪式架構。傳統IT運維,以人力運維為主, ...


摘要:openGemini的設計和優化都是根據時序數據特點而來,在面對海量運維監控數據處理需求時,openGemini顯然更加有針對性。

IT運維誕生於最早的信息化時代。在信息化時代,企業的信息化系統,主要為了滿足企業內部管理的需求。通常是集中、可控和固化的煙囪式架構。傳統IT運維,以人力運維為主,在單點式和煙囪式的架構中,的確起到了非常重要的作用。

我們知道,傳統運維模式關註的是單台IT設備的故障率或單套應用系統的可用性,系統與系統之間,設備與設備之間,是彼此孤立的,因此產生的數據量也相對有限。

但進入到雲計算時代之後,IT的邊界被完全打開,更多的聯接、更多的設備、更多的服務,使得系統規模開始變得越來越大,隨著監控粒度越來越細,監控數據呈現出爆炸式增長的態勢,每天將產生上百TB的數據,如何對如此海量的數據進行處理成為華為雲SRE面臨的一大難題

業務背景

華為雲SRE基礎設施監控系統是一個先進的平臺,用於監控和管理華為雲在全球各個region的基礎設施。該系統需要實時監測各種資源,包括網路、存儲、計算、安全和各個雲服務。

現狀

業務誕生之初,適逢“大數據”時代,Hadoop作為批量離線計算系統已經得到了業界的普遍認可,並經過了工業上的驗證,所以HBase具備“站在巨人肩膀之上”的優勢,其發展勢頭非常迅猛。HBase還是一種NoSQL資料庫,支持水平擴展和大規模數據的存儲能力,故選型HBase。當然內部也基於HBase做過很多優化,比如縮短row key,減少Key-Value數,按照時間維度分表,將單行多列變為單行單列。

痛點

隨著華為雲業務擴展,特別是近些年,華為雲在全球佈局的速度也突飛猛進,所要監控的設備也越來越多,顆粒度越來越細,查詢場景也逐漸豐富,HBase明顯已經無法滿足當前業務需要,問題主要體現在以下幾點:

  1. HBase不支持高階聚合查詢,時間範圍太大的查詢性能比較差,無法渲染圖表
  2. HBase沒有特定的壓縮演算法,應對每天上百TB數據,存儲成本長期居高不下
  3. HBase部署需要依賴第三方組件HDFS和Zookeeper,運維成本高

技術選型

為瞭解決這些痛點,我們將目光投向時下流行的時序資料庫(Time-Series Database)。首先在DBEngines排名前20的開源時序資料庫中甄別,排除商業品類、開源協議不友好的,初步擬選了InfluxDB、Druid、Prometheus、OpenTSDB幾款,經過技術對比,InfluxDB只有單機版,功能和性能受限大,故排除。OpenTSDB底層存儲仍然是HBase,存儲成本問題仍然存在,故排除。Prometheus不適合在大規模數據場景下使用。Druid是一個實時分析型的資料庫,用於大規模實時數據導入、快速查詢分析的場景,基本滿足需求,但在時空聚合查詢場景時延相對較大。徘徊之際,瞭解到華為雲開源的openGemini,經過測試對比,openGemini在數據壓縮效率、讀寫性能方面優勢明顯,經過和openGemini社區團隊交流後,最後選擇了openGemini存儲全網華為雲SRE基礎設施監控數據。

性能測試

寫性能

上述測試結果顯示了openGemini 從4U擴展到32U的性能表現,可以看出:

  • 從4U到32U,openGemini寫入性能可以線性擴展(擴展比為0.8)
  • 從4U的155萬Metrics/s平穩增長到32U的560萬Metrics/s

查詢性能

查詢性能是我們重點考慮的方面,測試工具Jmeter,測試場景從業務中挑選了使用頻率較高的三種類型查詢語句,在此基礎上變化查詢併發數、查詢時間範圍、聚合運算元等進行測試。

測試語句舉例:

測試規格與集群部署

測試結果(20併發6h 表示查詢併發為20,時間範圍為6小時)

精確查詢整體性能表現如下:

時間聚合查詢整體性能表現如下

時空聚合查詢整體性能表現如下

測試結論

整體上,openGemini在上述三種查詢場景下,相比Druid性能大幅領先。openGemini寫入性能滿足目前同樣流量大小的HBase集群,而且使用的規模要小不少。此外,openGemini不依賴任何第三方組件或應用,同時還有非常豐富的監控指標,更好的觀察系統的運行狀況,快速定位和解決問題。

遷移方案

數據雙寫

採用openGemini後,並沒有立即拆除已有系統。主要考慮兩方面:

  1. 如果openGemini出現問題可以迅速把流量切回去,保證現網業務運行平穩。
  2. HBase的數據不能直接遷移到openGemini,如果開發遷移工具成本又很高,故HBase和openGemini雙寫,在此過渡期間是個好的辦法。

查詢切流

我們給openGemini和HBase配置了不同的DNS,切換DNS就可以非常方便地查詢不同資料庫的數據,對現網可靠性也不會產生影響。

實際效果

截止目前,已實現全網流量切入openGemini,系統平穩運行超過半年。

和之前的HBase對比:

  1. 單region下,HBase集群規模從數百計算節點降至數十節點,規模縮減60%以上
  2. 截止目前,上線集群平均每秒寫入達到1.81億條指標數據,存儲空間節約超90%,CPU資源上可以節省68%,記憶體資源可以節省50%
  3. 查詢性能大幅提升

總結

openGemini的設計和優化都是根據時序數據特點而來,在面對海量運維監控數據處理需求時,openGemini顯然更加有針對性,而以上的事實證明,在運維監控場景中,openGemini的應用能夠提升運維效率,降低運維成本,真正幫助企業實現降本增效。

 

點擊關註,第一時間瞭解華為雲新鮮技術~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 代碼里我們經常會出現大量的條件判斷,在這種情況下,我們可以實現狀態機避免過度使用 有一種方式是把各種狀態歸為各種狀態類 還有一種方式是修改實例的__class__屬性 1 """ 2 狀態機的實現 3 修改實例的__class__屬性 4 """ 5 6 7 class Connection: 8 ...
  • JZ47 禮物的最大價值 描述 描述 在一個m\times nm×n的棋盤的每一格都放有一個禮物,每個禮物都有一定的價值(價值大於 0)。你可以從棋盤的左上角開始拿格子里的禮物,並每次向右或者向下移動一格、直到到達棋盤的右下角。給定一個棋盤及其上面的禮物的價值,請計算你最多能拿到多少價值的禮物? 如 ...
  • 面向對象 1.面向對象簡介 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。 方法:類中定義的函數。 類變數:類變數在整個實例化的對象中是公用的。類變數定義在類中且在函數體之外。類變數通常不作為實例變數使用。 數據成員:類變數 ...
  • 一:背景 1.講故事 今天是🐏的第四天,頭終於不巨疼了,寫文章已經沒什麼問題,趕緊爬起來寫。 這個月初有位朋友找到我,說他的程式出現了CPU爆高,讓我幫忙看下怎麼回事,簡單分析了下有兩點比較有意思。 這是一個安全生產的信息管理平臺,第一次聽說,我的格局小了。 這是一個經典的 CPU 爆高問題,過往 ...
  • 一 引入 在設計設備界面時,經常會有一種需求,展示一個閥門,閥門有通斷兩種狀態: 二 CommonValveControl 考慮實現一個自定義控制項,CommonValveControl。 使用自定義控制項比用戶控制項更靈活,更具擴展性,可以使用不同的樣式和模板。 CommonValveControl定義 ...
  • 說明 基於微服務項目,產生的的多項目倉庫管理腳本。可直接保存 shell 腳本後酌情修改後試用 目錄結構 xxxx Xxx1Api/ Xxx2Api/ git_clone_api.sh git_branch_dev.sh git_pull_all.sh git_status.sh api-build ...
  • 1. 查看當做操作目錄位置 > pwd2. 查看(當前)目錄裡邊的文件內容 > ls //list > ls -l 或ll //顯示文件的詳細信息 > ls -al //all顯示文件的詳細信息(包括隱藏文件) > ls -a //顯示目錄全部文件名字(包括隱藏文件) > ls [-al] 目錄 / ...
  • “數據湖”、“湖倉一體”及“流批一體”等概念,是近年來大數據領域熱度最高的辭彙,在各大互聯網公司掀起了一波波的熱潮,各家公司紛紛推出了自己的技術方案,其中作為全鏈路數字化技術與服務提供商的袋鼠雲,在探索數據湖架構的早期,就調研並選用了Iceberg作為基礎框架,在落地過程中深度使用了Iceberg並 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...