OpenAnolis 龍蜥社區(qū)正式成立系統(tǒng)運維(System Operation&Maintenance, sysOM)SIG。阿里云和統(tǒng)信軟件作為系統(tǒng)運維 SIG 的聯(lián)合發(fā)起方,將攜手龍蜥社區(qū)開發(fā)者一道,努力在自動化運維領域構(gòu)建強大的生態(tài)體系,促進系統(tǒng)運維 SIG 的相關項目快速部署于廣大的業(yè)務場景。
系統(tǒng)運維 SIG 目標是致力于打造一個集主機管理、配置部署、監(jiān)控報警、異常診斷、安全審計等一系列功能的自動化運維平臺。探索和實現(xiàn)創(chuàng)新的 sysAK 工具、高效的 LCC(Libbpf Compiler Collection)開發(fā)編譯平臺及 netinfo 網(wǎng)絡抖動監(jiān)控系統(tǒng)等,實現(xiàn)系統(tǒng)問題的快速上報、分析與解決,提升集群的全自動運維效率,與社區(qū)合作伙伴一道共同構(gòu)建大規(guī)模集群運維生態(tài)鏈。
還記得我們的非典型程序猿青囊嗎?在前幾期的云巔論劍微信公眾號里,我們介紹了sysAK 的 memleak 檢測工具和 coredump 瘦身技術以及網(wǎng)絡抖動監(jiān)控利器netinfo,外部開發(fā)者對我們這個工具集表達了強烈期待,今天,我們將把系統(tǒng)運維 SIG 的第一個項目,隆重的介紹給大家,并將其正式開源。
什么是 sysAK
sysAK,全稱是 system analyse kit(中文名青囊),基礎來自于阿里百萬服務器的多年運維經(jīng)驗,通過對這些經(jīng)驗進行抽象總結(jié)出典型場景,針對不同的運維需求提供了一系列工具,形成統(tǒng)一的產(chǎn)品進行服務。工具集包含了很多強大的底層系統(tǒng)運維能力,這些工具融合到了不同產(chǎn)品的運維平臺中,實現(xiàn)高效的自動化運維。
sysAK 誕生背景
在系統(tǒng)運維過程中,資源監(jiān)控與利用、問題排查與解決是核心訴求,怎么樣做到這些,需要一系列的操作系統(tǒng)底層能力與工具,這些能力與工具目前比較多的分散在不同的場景,怎么有效的整合去發(fā)揮他們的作用以及更方便的在系統(tǒng)上進行部署,缺少一個整體的方案,特別是在現(xiàn)代云計算中心中,集群大規(guī)模的機器通常包含不同的業(yè)務場景、系統(tǒng)及硬件平臺,對這些能力與工具也有著非常高的要求。同時目前很多現(xiàn)有的工具對專業(yè)知識要求過高,對普通運維人員來說存在不低的門檻。因此 sysAK 誕生的目標是通過統(tǒng)一的跨平臺工具集補齊系統(tǒng)運維現(xiàn)有能力,并高效易用的發(fā)揮作用。
sysAK 技術特點
由于不斷發(fā)展和變化的復雜業(yè)務環(huán)境,工具集也需要持續(xù)迭代,以期望覆蓋更多的場景,因此希望通過社區(qū)合作,共同打造出這個跨平臺的統(tǒng)一工具集。為此,sysAK 在技術實現(xiàn)上采用包容的框架:
工具集支持多種語言格式,c、shell、python、go 等,方便不同語言習慣的開發(fā)者進行開發(fā),快速集成;同時針對需要采集系統(tǒng)內(nèi)核數(shù)據(jù)的情況,也同時兼容 Linux kernel module 和 eBPF 兩種技術,對內(nèi)核版本不做限制。
當然除了功能外,sysAK 還首提自我資源控制的概念,避免工具運行過程中對系統(tǒng)的資源消耗和產(chǎn)生大的干擾。
sysAK 核心能力
目前工具集覆蓋系統(tǒng)運維典型場景,包括三大類功能:
1、線上問題分析診斷:
診斷典型問題如負載異常、網(wǎng)絡抖動、內(nèi)存泄漏、io毛刺、性能瓶頸、應用異常等,針對性的提供工具,同時盡量減少工具的專業(yè)性,讓用戶更易使用和解讀。
2、資源監(jiān)控:
針對各種系統(tǒng)資源(CPU、內(nèi)存、網(wǎng)絡、文件 IO、內(nèi)核管理結(jié)構(gòu)等)提供更精細化的資源監(jiān)控,幫助業(yè)務運維實現(xiàn)細粒度的運維調(diào)度,高效的運用資源。
3、系統(tǒng)介入:
主要針對 2 種情況提供系統(tǒng)介入能力:
一是問題分析診斷時,需要驗證特定 case 或模擬注入才能真實確定問題進行修復;
二是總有不可預期的問題會發(fā)生,對于業(yè)務來說很多問題發(fā)生后,怎樣快速恢復和止損才是第一要務,對于不是整機異常的問題(系統(tǒng)級死鎖、夯機),提供介入能力對系統(tǒng)進行恢復或故障隔離等。
sysAK 規(guī)劃
sysAK 在龍蜥社區(qū)開源,并采取 SIG 共建協(xié)作模式,每季度發(fā)布新版本更新,包含關鍵 bug 修復和新特性、新能力,并逐步將產(chǎn)品完整能力開源。
目前已將代碼放到了龍蜥社區(qū)(龍蜥微信號:openanolis_assis)進行了托管,先期開源的代碼除包括基礎開發(fā)平臺、以及前面大家非常關注的內(nèi)存泄漏工具(memleak,見 AK47 所向披靡一文)外,另外還包含了一些常用的工具:loadtask(系統(tǒng)負載分析)、runlatency(系統(tǒng)抖動分析)、sysmonitor(sys cpu異常自動數(shù)據(jù)抓取)、taskctl(進程異常注入)、tracesig(進程信號跟蹤)、cpuirq(中斷信息分析)。
sysAK 里會逐步集成和開放很多其他強大的工具,下一階段開放的重點工具包括:
netinfo—網(wǎng)絡狀態(tài)實時監(jiān)控與分析,精確分析網(wǎng)絡問題
ossre—沉淀阿里云運維知識庫,自動分析快速識別已知問題
appscan—進程性能瓶頸快速界定,業(yè)務調(diào)優(yōu)利器,在多個客戶現(xiàn)場調(diào)優(yōu)中發(fā)揮了實際作用
ulockcheck—應用鎖分析工具
sysconf—系統(tǒng)配置差異精準分析,輔助業(yè)務調(diào)優(yōu)與分析變更導致的問題