從數字化到智能化,百度 SRE 數智免疫系統的演進和實踐

1. ? ?為什么 SRE 需要數智免疫系統?

2022?年 10 月,在 Gartner 公布的 2023 年十大戰略技術趨勢中提到了「數字免疫系統」的概念,旨在通過結合數據驅動的一系列手段來提高系統的彈性和穩定性。

在過去 2 年的時間里,百度基于該免疫能力的指導思想,實踐落地了一套數字免疫系統,并在 AI 大模型能力的加持下逐漸向「數智免疫系統」轉型。目前已覆蓋廠內關鍵業務和重點產品,為穩定性保障方式帶來了新的路徑。

大型系統的風險來源多樣,業務更替、系統迭代、人員流動等都有可能引入不穩定因素。隨著微服務化帶來的系統規模擴大和迭代效率提升,這一現象更為突出,百度內部 2021 年至 2022 年間有感 case 統計來看,存在「基礎能力退化」和「能力缺失」現象的 case 占比增長了 153%。比如:

  • (感知能力缺失)已經給這些服務統一加上了標準化告警,但是不清楚為什么沒有覆蓋到本次的問題服務。
  • (隔離能力退化)服務所需的機房資源短期供給不足,所以臨時用了別的機房資源導致了本次風險擴散。
  • (感知能力退化)服務做了一次日志結構升級,非預期導致之前的監控采集不到數據,所以沒發現問題。

在內部復盤會議上,經常會出現上述類似的能力退化和缺失問題。同樣,觀察近 3年國內外規模性的故障案例亦是如此:

  • 2022、2023 年友商 C 端業務多地域多服務規模性問題,暴露出了隔離不足、攔截能力缺失、多服務耦合影響等問題。
  • 2024 年 CrowdStrike 的安全更新發布導致微軟 Windows PC 全球范圍大規模崩潰問題,也暴露出了驗證能力缺失、分級發布能力退化等現象。

從上述內外部的 case 分析中不難發現,「能力退化」和「能力缺失」的問題一定會往復出現,如果沒有及時識別、治理這些偶現的風險,則一定會最終相互作用引發規模性故障。

如今,業務、系統、技術的發展在繼續加速,規模也在繼續擴大。傳統的人工篩查以及被動的質量保障方式(如 on call 模式),面對潛在風險問題時仍具有滯后性。我們需要進一步探索轉被動為主動的新保障路徑:發現退化、挖掘風險,建設長期可維護的質量保障方式。

從另一個角度來看,隨著服務云原生化程度不斷提高(基建、底層平臺、技術棧的逐步統一),服務以及配套的基礎能力的「同治性」也在不斷提升,具備了數字化轉型的基礎。同時,近 2 年 AI 大模型的飛速發展也給智能化保障方式帶來了新的思路,依托大模型構建可迭代的知識網絡體系,讓 AI 進一步輔助挖掘未知風險和指導能力建設,從而實現數字化向數智化的進化。

2. ? ?百度 SRE 數智免疫系統的建設成果

線上系統可能的風險來源多種多樣(如圖 1),結合系統架構,我們從多維度建設了不同的保障能力(如圖 2)。一方面我們需要持續保障已建設能力的有效性,另一方面也需要持續去挖掘潛在的風險問題(如能力缺失等)。

圖片

圖 1 風險來源視圖

圖片

圖 2 能力保障分類圖

因此,數智免疫系統期望結合數字化 + 智能化的方式,實現對已建設能力有效性識別,和對潛在風險的主動挖掘,以此持續保障線上的穩定性能力。在落地實踐中,我們制定了 3 個推進階段:

  • 推進數字化轉型:期望刻畫質量能力數字化描述,為后續可基于數字化數據進行識別、修復打下基礎。(易識別)
  • 落地風險的識別:通過底層統一數倉和可編排的規則庫,基于工程規則的方式,提供統一的識別、治理能力。(易治理)
  • 探索智能化路徑:結合 AI 大模型和 RAG 能力,構建運維泛化知識體系。依托 AI 大模型 + RAG 代替工程規則進行風險挖掘,長期解決工程規則的滯后性和高維護成本問題。(易維護)

2023 年,我們重點推進第一階段數字化轉型的實踐落地,以數字化的方式刻畫了傳統的質量保障能力。

2024 年,我們重點投入在基于工程規則的風險挖掘能力和產品化生態建設,通過引入統一數倉和可編排規則庫的方式,不僅提供了開箱即用的基礎通用策略,也同時支撐了用戶的特性需求和拓展需求,降低了建設成本。

同時在 AI 潮流下,試點了基于 AI 大模型 + RAG 的風險挖掘方式,并在模塊級容量保障方向上進行了落地。

圖片

圖 3 百度數智免疫系統登錄界面

截止到當前:

  • 數字化數據已覆蓋百度核心產品的監控告警、分級發布、容量感知、架構隔離和預案能力等 5 大方向,歷史基礎質量能力退化類 case 覆蓋度 >?85%
  • 業務覆蓋上支撐了各項關鍵業務,累計接入服務?20,000+
  • 通用質量規則覆蓋廠內主流的監控平臺、PaaS 平臺、變更發布平臺,天級識別?40,000+?能力項;
  • 2023 ~ 2024 年在接入業務線累計識別和治理風險 5,000+ 項,對比 2021?~2022 年,能力退化類 case 占比收斂了約?40%,監控感知、分級發布和架構隔離的質量能力風險從?10.2%?收斂到?3.2%。

3. ? ?百度 SRE 數智免疫系統演進和實踐

3.1. ? ?階段一:數字化轉型,用數據刻畫關鍵的能力場景

基于上文圖 2 中的能力保障分類,并結合業界和百度內部業務的歷史故障、系統風險、技術棧選型,我們優先選擇了推進如下幾類能力的數字化轉型:預防能力(分級發布、架構隔離、容量感知)、發現能力(監控告警)、止損能力(操作預案)。

圖片

圖 4 數字化刻畫舉例

對能力進行數字化刻畫,需要結合能力的生效方式、能力的使用場景、穩定性保障要求等多方面因素來實現數據的抽取,如:

監控告警:其數字化刻畫的重點在識別告警的有效性和告警覆蓋的完整性。

  • 告警有效性:主要刻畫告警的數據源狀態、告警的接收人觸達通路、告警的屏蔽狀態等;
  • 告警覆蓋度:主要刻畫告警的分類(包括人工規則分類和自動識別分類)。

通過對告警有效性和完備性兩個方向的數字化刻畫結果,進而可以識別出業務變更過程中的潛在風險風險,如:數據源無數據問題、數據斷流問題、告警人為長時間屏蔽等。

分級發布:其數字化刻畫的重點在描述常見的程序變更和數據變更要求。我們將分級發布的能力要求抽象為兩類:一類是分級發布的流程要求,另一類是分級發布的對象要求。

  • 流程要求:主要刻畫發布和部署階段,如:發布順序,發布范圍,階段間的間隔和檢查等;
  • 對象要求:主要刻畫發布對象狀態,如:發布對象的完整性,發布對象的小流量階段比例配置等。

通過對發布階段和發布對象的數字刻畫,進而可以識別出業務變更過程中的潛在風險問題,如:灰度階段驗證不充分,灰度比例過大,版本升級不完整等問題。

架構隔離:其數字化刻畫的重點在描述服務間的連接關系和連接范圍;

  • 連接關系:主要刻畫實際網絡連接關系,通過 eBPF 數據和網絡鏈路配置進行挖掘;
  • 連接范圍:主要刻畫服務部署和網絡連接關系的聚合情況,通過服務描述數據,確認服務間實際的邏輯域連接關系。

通過對連接關系和連接范圍的數字刻畫,可自動識別業務的架構拓撲,識別業務邏輯域中存在跨域訪問的問題。輔助業務進行容量評估、評估風險隔離范圍、強化單域內止損能力;

除上述場景外,我們也分別對容量方向中的應用級和系統級容量、止損預案的有效執行周期和執行結果等方向進行了數字化能力刻畫。不同方向的數字化刻畫結果,即可作為后續識別風險場景的有力數據源。

3.2. ? ?階段二:基于工程規則的風險識別

基于階段一中對各項能力場景的數字化刻畫結果,我們便可進一步使用一系列工程規則,通過組合使用數字化的刻畫數據,來達成風險識別的目標。下面介紹幾個實踐的案例。

3.2.1. ? ?案例一:識別告警失效問題

告警是問題感知的第一入口,告警失效會導致故障的影響加劇。實際運維中,影響告警狀態的因素也較多,如配置變動、數據變動、人員變動等都可能導致告警的效果和觸達不符合預期。

圖片

圖 5 告警有效和告警失效對比

圖片

3.2.2. ? ?案例二:識別變更發布中的灰度范圍是否過大(爆炸半徑是否可控)

灰度發布是線上變更中的常用方式之一,通過控制灰度的比例和范圍,進而控制變更可能帶來故障影響范圍,限制爆炸半徑。如果灰度比例過大,可能造成故障擴散,影響故障處置的效率。數字免疫通過對關鍵階段進行數字化刻畫完成風險識別,保障灰度發布有效且爆炸半徑不擴散。

圖片

圖 6 灰度發布和爆炸半徑控制

圖片

3.2.3. ? ?案例三:識別服務的架構隔離能力

分布式集群和架構隔離部署,是有效控制爆炸半徑的常用方式之一。服務集群通過多地域部署,并在不同地域之間完全隔離(提供完整功能),可有效應對未知的故障影響,如機房斷電、光纖斷連等情況。如果不同域的服務存在互相訪問的情況,則可能在故障場景下造成故障擴散,影響故障處置的效率。

圖片

圖 7 隔離失效導致故障擴散

圖片

3.3. ? ?階段三:融合 AI 大模型的風險挖掘

隨著企業數字化轉型的深入,得益于數據的標準化,我們短期通過快速建設工程規則方式,針對大部分已知場景的風險進行了快速的覆蓋識別,并低成本推廣到了多業務線。然而,隨著規則的規模擴大,我們逐漸發現 2 個問題:

  • 維護成本逐漸升高:隨著工程規則的數量不斷增加,梳理冗余規則和維護規則效果的成本也隨之上漲;
  • 風險識別的局限性:工程規則主要面向有限的場景,以組合工程規則的方式來覆蓋穩定性能力,會因缺乏一些全局視角的分析而出現盲區。

當前,隨著 AI 的興起,AI 大模型所具備的強大的泛化知識理解和推理能力,可以用于持續維護和管理運維知識和風險場景知識。借助 AI 大模型 +?GraphRAG 的組合,我們可以將工程規則的實現轉向由 AI 模型托管生成,并結合 GraphRAG 圖檢索和大語言模型的泛化總結能力進行場景化的風險分析。

圖片

圖 8 ?「工程規則 + 知識手段」體系協同模式

在融合 AI 能力的風險挖掘實踐中,我們初期的重點工作在「知識整理」和「知識建圖」2 個階段:

知識整理:構建特定場景知識實體。構建的知識體系應當具備如下通用要求:

  • 實體化:知識可以被劃分為獨立的實體,每個實體包含特定的概念和原理,便于分類學習和掌握;
  • 層次性:知識具有不同的層次,從基礎概念到高級理論,從通用知識到專家知識,學習者可以逐步深入;
  • 連貫性:知識之間可相互關聯,形成連貫的知識網絡,有助于記憶和應用。

因此,結合運維領域的知識特點以及云原生時代下的實體架構分層,我們引入了如下幾個維度劃分來構建知識結構,以云計算服務模型中不同層級的實體為對象,實現上述 3 個要求。

圖片

圖 9 知識體系層級圖

知識建圖:構建泛化的知識網絡。「泛化知識網絡」的構建需要具備如下要求:

  • 動態更新能力:泛化知識網絡需要具備實時構建和動態更新能力來保證其應用結果的準確度;
  • 可交互性:泛化知識網絡需要具備便捷的交互能力和輸出結果可理解;
  • 可挖掘性:泛化知識網絡不能只具備基礎的知識檢索能力,還需要具備泛化的知識綜合應用能力。

因此,在構建知識網絡的方案上,選擇了 AI 大模型 +??GraphRAG 的組合形式:

  • 引入 AI 大模型,解決輸入輸出內容的文本語義化轉換,輔助知識圖譜的構建和完善;
  • 引入 GraphRAG 圖構建的模式,理解結構化知識并構建關系型知識網絡,提供動態更新、泛化能力強的知識挖掘的能力。

圖片

圖 10 知識構建和應用

圖片

圖 11 某業務的知識模塊舉例

4. ? ?SRE 數智免疫系統的長期發展

數智免疫系統,本質上是對服務質量數據的一個規整聚類和理解,通過循環的識別、治理方式,保障業務質量的長期穩定。因此,數智免疫系統的長期發展:

  • 一方面,需要引入更豐富的質量關聯數據,如:業務的故障數據、故障處置經驗、人員能力建設等維度,通過不斷累計的知識沉淀,來豐富免疫系統的風險識別和自愈能力,提升系統的可信度;
  • 另一方面,基于豐富的質量關聯數據,可以在上層借助當前大模型的數據分析和整合能力,創建「智能醫生」。基于免疫系統識別到的風險狀態以及數字化評價體系給出的評價結果,向業務展示關鍵的風險問題和系統狀態,并給出具備可行性的建設方案和歷史建設經驗。

數智免疫系統的應用只是一個開始,當前已建設的「關鍵質量能力」項,也只是質量能力長期保障的一部分。知識、信息等實時或非實時的數據,都需要隨著業務的發展而更新,如此基于免疫能力的保障體系才可持續。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76255.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76255.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76255.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

4月18日復盤

4月18日復盤 一、深度學習概述 ? 傳統機器學習算法依賴人工設計特征、提取特征,而深度學習依賴算法自動提取特征。深度學習模仿人類大腦的運行方式,從大量數據中學習特征,這也是深度學習被看做黑盒子、可解釋性差的原因。 ? 隨著算力的提…

C++每日訓練 Day 17:構建響應式加載動畫與異步數據處理

📘 本篇目標是:在 GUI 信號機制基礎上,構建一個完整的“點擊按鈕 → 顯示加載動畫 → 異步加載數據 → 顯示結果”的響應式界面流程。通過協程掛起/恢復機制,實現清晰的異步邏輯,避免回調地獄。 🔁 回顧 Da…

PyTorch深度學習框架60天進階學習計劃 - 第45天:神經架構搜索(二)

PyTorch深度學習框架60天進階學習計劃 - 第45天:神經架構搜索(二) 第二部分:權重共享策略的計算效率優化 8. 權重共享的理論基礎 權重共享策略的理論基礎來自于多任務學習(Multi-Task Learning, MTL)和遷移學習(Transfer Learn…

深入理解分布式緩存 以及Redis 實現緩存更新通知方案

一、分布式緩存簡介 1. 什么是分布式緩存 分布式緩存:指將應用系統和緩存組件進行分離的緩存機制,這樣多個應用系統就可以共享一套緩存數據了,它的特點是共享緩存服務和可集群部署,為緩存系統提供了高可用的運行環境&#xff0c…

記錄學習的第二十九天

還是力扣每日一題。 本來想著像昨天一樣兩個循環搞定的,就下面👇🏻 不過,結果肯定是超時啦,中等題是吧。 正確答案是上面的。 之后就做了ls題單第一部分,首先是定長滑窗問題 這種題都是有套路的&#xff0…

Win11關閉防火墻方法

網上講的win11的方法都試過了,但是在實際使用過程中還是會顯示有威脅殺掉原本要使用的程序,下面我介紹的這個方法親測有效,必須百分百關掉防火墻 搜索安全中心打開Windows安全中心 打開病毒和威脅防護 點擊管理設置 將設置中所有顯示開的都…

幾個常用的快速處理服務器命令和故障排查

1. 查看剩余的內存 free -m top //當然了還有top可以實時觀測 顯示剩余內存,以M為單位. 2. 查看剩余的空間 df -h 顯示指定磁盤文件的可用空間。如果沒有文件名被指定,則所有當前被掛載的文件系統的可用空間將被顯示 3.找出大文件的常用方法 du --max-depth1 -h –輸…

Spring MVC 全棧指南:RESTful 架構、核心注解與 JSON 實戰解析

目錄 RESTful API 設計規范Spring MVC 核心注解解析靜態資源處理策略JSON 數據交互全解高頻問題與最佳實踐 一、RESTful API 設計規范 1.1 核心原則 原則說明示例 URI資源為中心URI 使用名詞(復數形式)/users ?? /getUser ?HTTP 方法語義化GET&…

探索 JavaScript 中的 Promise 高級用法與實戰

在現代 Web 開發中,異步編程已成為不可或缺的一部分。JavaScript 作為 Web 開發的核心語言,提供了多種處理異步操作的方式,其中 Promise 對象因其簡潔、強大的特性而備受青睞。本文將深入探討 Promise 的高級用法,并結合實際案例&…

《軟件設計師》復習筆記(14.1)——面向對象基本概念、分析設計測試

目錄 一、面向對象基本概念 對象(Object) 類(Class) 抽象(Abstraction) 封裝(Encapsulation) 繼承(Inheritance) 多態(Polymorphism&#…

ubuntu22.04 安裝有度即時通

1.官網下載deb的安裝包 官網地址:有度客戶端下載-有度 注意:這個網站的下載是有時間限制的,有時候無法下載 需要對應系統版本,否則無法使用 我之前使用了dpkg安裝了一個舊版本,卸載使用以下命名行: 使用…

ValueError: model.embed_tokens.weight doesn‘t have any device set

ValueError: model.embed_tokens.weight doesn’t have any device set model.embed_tokens.weight 通常在深度學習框架(如 PyTorch)中使用,一般是在處理自然語言處理(NLP)任務時,用于指代模型中詞嵌入層(Embedding layer)的權重參數。下面詳細解釋: 詞嵌入層的作用 …

如何提高單元測試的覆蓋率

一、定位未覆蓋的代碼 ?利用 IDEA 的覆蓋率工具?: 右鍵測試類 → ?Run with Coverage,或使用 AltShiftF10(Windows)打開運行菜單選擇覆蓋率。?查看高亮標記?: ?綠色?:已覆蓋代碼行。?紅色?&#x…

聚合直播-Simple Live-v1.7.7-全網直播平臺能在一個軟件上看完

聚合直播-Simple Live 鏈接:https://pan.xunlei.com/s/VOO7u3o4FNL_XA9VJ6l7KBNfA1?pwdyrau# 聚合直播-Simple Live-v1.7.7-全網直播平臺能在一個軟件上看完

三大等待和三大切換

三大等待 1、三大等待:等待的方式有三種:強制等待,隱性等待,顯性等待。 1、強制等待:time.sleep(2),秒 優點:使用簡單缺點:等待時間把握不準,容易造成時間浪費或者等待時…

使用Lombok @Builder 收參報錯提示沒有無參構造方法的原因與解決辦法

使用Lombok Builder 收參報錯提示沒有無參構造方法的原因與解決辦法 類上加了Builder之后接口接收前端傳來的參數報錯:(no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) 1.解決辦法…

SAP 查找JOB進程ID

如何查找后臺JOB的進程ID SM37勾選對于JOB

通過C# 將Excel表格轉換為圖片(JPG/ PNG)

Excel 表格可能會因為不同設備、不同軟件版本或字體缺失等問題,導致格式錯亂或數據顯示異常。轉換為圖片后,能確保數據的排版、格式和外觀始終保持一致,無論在何種設備或平臺上查看,都能呈現出固定的樣式,避免了因環境…

Langchain構建RAG對話應用

本文:關注 檢索器與上下文的子鏈、父鏈;即檢索器也需要上下文內容。 RAG是一種增強LLM知識的方法,通過引入額外的數據來實現。 實現思路:加載—》分割—》存儲—》檢索—》生成。 初始化 import os import bs4 from langchain.c…

關于模擬噪聲分析的11個誤區

目錄 1. 降低電路中的電阻值總是能改善噪聲性能 2. 所有噪聲源的噪聲頻譜密度可以相加,帶寬可以在最后計算時加以考慮 3. 手工計算時必須包括每一個噪聲源 4. 應挑選噪聲為ADC 1/10的ADC驅動器 5. 直流耦合電路中必須始終考慮1/f噪聲 6. 因為1/f噪聲隨著頻率降…