從趨勢到挑戰,資深工程師一站式解讀:作業系統運維和可觀測性
編者按:隨著企業數字化轉型步入深水區,裝置數量增加,業務系統更加複雜,除了要保證物理硬體的穩定性和可靠性,運維目的和手段也發生了深刻變革,由龍蜥社群系統運維 SIG 組 Maintainer、統信軟體資深作業系統研發工程師高衝從系統運維的趨勢與挑戰、系統運維 SIG 組專案及未來展望和規劃三個方面帶我們瞭解作業系統運維和可觀測性,本文整理自 2022 年阿里巴巴開源開放周技術演講,影片回放已上線至龍蜥官網(首頁-動態-影片),歡迎大家觀看。
一、系統運維的趨勢與挑戰
隨著企業數字化轉型步入深水區,裝置數量增加,業務系統更加複雜,除了要保證物理硬體的穩定性和可靠性, 運維目的和手段也發生了深刻變革,透過平臺化和智慧化保證運維環境的實時性、資料安全性和業務連續性。
運維的整個發展歷程主要有下面四個階段:
從最初的手動運維,依賴於運維人員的經驗,發展為流程化的一個運維,依賴流程的規範化管理來實現運維,前兩種的運維方式為企業帶來很大的運維成本,現階段的主流運維方式有兩種:一、平臺化的運維。透過平臺化的自動化和視覺化的運維,來大大減少企業運維的成本。二、智慧化運維。隨著資料分析、人工智慧的技術引入,慢慢地我們也會介入智慧化運維。
下面為大家介紹下運維業務的架構。
第一個最底層的是對於硬體的一個運維,通常就包含硬體的一些資訊,比如溫度、讀寫壽命、風扇轉速等等。
第二再往上層就是對作業系統的運維,還有是透過外掛的一些運維,比如 IPMI 協議,通常比較常見就是 BMC 。
在整個系統的運維方面,其實有兩大部分,一個是管控,另外一部分是診斷。
1、管控主要分為三個方向:
第一個是資源管理。首先就是對資源的一個納管,比如說主機的一些納管。另外就是監控,如對資源的一些監控,包含 CPU 的算力、磁碟的使用情況、頻寬、記憶體,最後是對資源的分配。
第二是配置管理。它包含有三部分:安全、包管理、自動化。在整個運維方向來看,其實都視為是配置。配置中的安全一個是 CVE,還有一些是配置項的安全,比如說埠掃描都屬於安全。另外是包的管理,現在比較主流的有兩種:一個是 RPM 包,另一個是 deb 包。包管理其實就包含這個包的升級回退、版本控制。最後就是自動化,也是相對比較重要的一部分,比如說我們配置的批次下發、定時任務,還有一些模板下發。
第三個就是許可權管理。許可權管理分兩部分,一部分是使用者許可權控制,相對比較常見的 RBCA。另外是審計,包含行為審計和日誌審計。除了審計,還有一部分是危險攔截,比如攔截危險命令的操作、提權操作等。
2、另外比較核心的一塊是 SLI:
SRE(站點可靠性工程)的概念是由 gongle 建立出的, SLI 是指度量系統可靠性的測試指標。OS SLI 通常有可靠性、可用性、效能等方向,OS 通常為延遲、吞吐量、相應時間、準確性、完整性。一部分 SLI 是傳統式主動觸發,比如說網路延遲抖動發生的時候,運維人員去呼叫相關的 SLI 一些工具,做下鑽式的分析或者是我們去利用凌晨或者定時巡檢來發現問題,類似於輪詢這樣的方式。
傳統的 SLI 的採集是透過系統呼叫獲取系統資訊,比較耗費資源的。目前比較火的 eBPF 技術就解決了底噪佔用高和安全的問題,可以結合一些基本處理手段來獲取更有價值的資料。
以上介紹的管控和診斷,我們都會透過這兩塊業務收集到資料,也就涉及到資料處理。
資料處理,目前有四個方向的處理方式:
一個是時續化的資料處理。我們將整個診斷,還有管控的資料做一個時續化的處理來幫助運維人員做一些更好的、更深層次的分析。第二就是一些效能的分析,需要對整個效能做負載畫像。第三系統的各個的方向實際是相對比較複雜的,我們需要利用一些演算法做聚合分析。最後就是異常檢測。比如 IO 的一個延遲,需要對 IO 企業的時間或者讀時間比較長,做一個離群檢測分析。
有了這些資料之後,我們會對資料利用運維的一些經驗或者 AI 技術,做一些智慧化的一些介入,當然也包含告警。
結合傳統運維工具和 eBPF 技術,我們可以對整個系統的進行全棧觀測。從最底層,比如 CPU 的診斷來說,我們可以利用 CPU frequency 去看到每個程式在對 CPU 的一個調動頻率的觀測。再到上層的一個裝置驅動、網路,還有檔案系統,系統呼叫等,都是可以利用 eBPF 技術來做到很深層次的觀測。
那同樣的對使用者態的一些程式,比如說資料庫、中介軟體或者是 runtime 的一個狀態都可以就是利用 uproble 技術去做觀測。
二、龍蜥社群系統運維 SIG
系統運維 SIG 組 (Special Interest Group )是致力於打造一個集主機管理配置部署,還有監控報警、異常診斷、安全審計等一系列功能的一個自動化運維平臺。目前 SIG 組有三個核心的專案:一個是 SysOM,提供一站式的運維的管理平臺。 SysAK 是系統的一個分析診斷套件,也是核心驅動 SysOM 一些診斷功能的技術底座。最後是比較前瞻性的 coolbpf,是對 BPF 編譯套件的增強,包括一個遠端編譯的技術。還有是對低核心版本的在 eBPF 上特性的回合。目前整個 SIG 組比較活躍的,PR 提交了有一千多。
下面為大家介紹一下 SysOM 的整個的架構。SysOM 的架構核心是分為兩部分,一個是 server 端,另一個是 client 端。
前端主要是 dashboard 的展示。有主機管理、監控中心、當機中心、診斷中心、日誌中心和安全中心,主要是負責和使用者的一個 UI 互動。後端是負責一些核心的技術實現。比如說監控,有資源監控(目前是透過 prometheuse 的exporter-node 去實現資源的監控)、任務監控、異常監控。還有當機分析、診斷,依託的是 SysAK 的一些功能去做到網路診斷、儲存診斷、記憶體診斷和排程診斷。最後在安全這一塊,主要包括漏洞檢查、漏洞修復,加固以及日誌審計。
整個的後端儲存有兩部分,一部分是關係型資料庫,就是 RDB,還有一個就是時序性資料庫。
client 包含 SysAK 負責提供系統的效能和故障診斷。vmcored client 主要是負責提供診斷資訊的收集。node exporters 負責整個資源的一個診斷,還包含時序化的處理、回傳 prometheus。
那下面我將是透過前端的展示,為大家直觀的瞭解 SysOM 整個的功能:
SysOM 主機管理,支援批次匯入匯出、叢集化管理,當然也支援遠端的終端。監控中心整合了一些常用的資源的配置項。比如說磁碟、CPU 算力,還有網路頻寬的使用情況,也包含一些關鍵程式的監控,還有網路的延時情況。
SysOM 診斷中心,也是相對比較核心的功能。我們目前對系統做了 SRE 診斷,另外也包含整個的軟硬體診斷的情況,還有 IO 診斷,也去做了系統的低狀態的檢查。效能包括系統的排程的使用情況做了火焰圖的分析,這樣我們也就能夠透過很直觀的去看到系統的一些瓶頸、效能的問題。
也包括可用性的檢查,我們做了靜態的一些配置項檢查。比如說排程、記憶體和 IO 網路去透過和我們專家經驗去做對比,分析出效能或者是一些故障隱患。
SysOM 比較有亮點的兩個功能:網路診斷和 IO 診斷。我們現在從單時報能看到的是網路診斷,透過從 server 端發包給 agent 端,然後把整個呼叫鏈,在每個階段平均的耗時計算出來,透過一個直觀的圖展示出來,也可以透過滑鼠的懸停去看具體的某個階段的耗時情況做一個下轉式的分析。比如下圖對使用者態的整個核心的實驗做了分析:
從上圖中我們能看到它整個的一個平衡平均耗時是三十七毫秒。但是在具體的某個時間段是有一定的波動的。
整個 SysOM 的功能是相對比較多的,也歡迎感興趣的小夥伴可以做一些有趣的探索。
最後是 SysOM 安全中心。安全中心透過是 errata 的機制,結合 Anolis 的公勘去做了漏洞的一個實施,定期掃描。當然也是支援漏洞的第三方配置。我們透過比如說配置漏洞資料庫,接入第三方的一些資料庫來增強整個系統或者是運維環境的安全性。
那對一些高危的或者是需要我們重啟的一些 CUE,我們在修復之後也是會給出相應的提示。如重啟服務或者說核心需要重啟系統來生效。
以上是整個 SysOM 相關內容的介紹,關於 SysAK 和 coolbpf 相關介紹可以透過 SIG 組瞭解,也希望大家參與到系統運維 SIG 組,大家一起來多多貢獻。
三、展望和規劃
目前 eBPF 提供了一種全新的動態插樁技術,為運維的效能和故障診斷帶來新活力。統信軟體也將持續貢獻在 OS 方向的專家運營經驗,攜手龍蜥社群一起把系統運維 SIG 組做好,也把龍蜥生態做好,未來也將會在故障診斷、安全和許可權管理持續發力。
相關連結地址可移步龍蜥公眾號(OpenAnolis龍蜥)2022年9月21日相同推送檢視。
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2915741/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux系統資深運維工程師的進階祕籍Linux運維工程師
- 混沌實踐訪談:混沌工程和系統可觀測性密不可分
- 應對複雜架構下的監控挑戰?統一運維可觀測能力是關鍵!架構運維
- 深度解析|基於 eBPF 的 Kubernetes 一站式可觀測性系統eBPF
- 2022年趨勢觀察:運營商戰略
- 【社招】【小米】系統運維工程師-公有云方向運維工程師
- Linux系統運維工程師入門絕招放送Linux運維工程師
- 資深Linux運維工程師常用的10款軟體/工具介紹!Linux運維工程師
- .Net微服務實戰之可觀測性微服務
- 許可權維持專題:作業系統許可權維持作業系統
- 國產作業系統生態發展趨勢作業系統
- Istio可觀測性
- Bilibili資深運維工程師:DCDN在遊戲應用加速中的實踐運維工程師遊戲
- 從工程師到技術leader思維升級工程師
- PG資料庫運維中的作業系統關注點資料庫運維作業系統
- Linux系統Shell指令碼如何執行?linux運維繫統工程師Linux指令碼運維工程師
- 運維工程師思維導圖運維工程師
- 從業Linux運維工程師崗位有哪些要求?負責哪些工作?Linux運維工程師
- 全面系統學測試 從小白入門到實戰就業就業
- 解碼eBPF可觀測性:eBPF如何改變我們所知的觀測性eBPF
- B站資深運維工程師:DCDN在遊戲應用加速中的實踐運維工程師遊戲
- Dapr-可觀測性
- Python運維工程師是什麼?Python運維工程師工作職責及要求!Python運維工程師
- 麒麟作業系統 (kylinos) 從入門到精通作業系統
- 資料中心業界的新興趨勢:從DevOps到DataOpsdev
- 企業實踐|分散式系統可觀測性之應用業務指標監控分散式指標
- 從面試中瞭解到的企業發展趨勢(2020)面試
- 如何安裝Linux作業系統?Linux運維教學Linux作業系統運維
- 什麼是SRE工程師?SRE工程師和運維有什麼區別?工程師運維
- 8年資深測試工程師如何提交有效缺陷工程師
- 可觀測性與傳統監控的區別和聯絡
- 洞察行業趨勢:2024年平臺工程預測行業
- CATIA許可證與作業系統的相容性作業系統
- 全面升級!龍蜥自動化運維平臺 SysOM 2.0 可支援作業系統一站式遷移 | 龍蜥技術運維作業系統
- 開年直播 | 博睿資料創始人兼CTO對話InfoQ,聊聊2023年重要戰略技術趨勢:可觀測性
- 讀資料工程之道:設計和構建健壯的資料系統02資料工程師工程師
- 從Opentracing、OpenCensus 到 OpenTelemetry,看可觀測資料標準演進史
- 預測性分析的價值、方法和趨勢