了解最新公司動態(tài)及行業(yè)資訊
在剛剛結(jié)束的龍蜥大會eBPF&Linux 上,龍蜥系統(tǒng)運(yùn)維SIG張毅做了《SysAK系統(tǒng)運(yùn)維工具集》的主題演講。 以下為演講實(shí)錄。
您好,在今年的云棲大會上,我們在龍蜥社區(qū)開源了系統(tǒng)運(yùn)維工具集SysAK,并提供了多種診斷功能。 作為系統(tǒng)運(yùn)維SIG(集團(tuán))的主要項(xiàng)目之一。 在過去的一年里,SysAK也在技術(shù)架構(gòu)和應(yīng)用場景上進(jìn)行了更多的升級,以適應(yīng)更多的場景。 明天分享最新版本的核心技術(shù)架構(gòu)和使用場景。 由于時(shí)間關(guān)系,我將重點(diǎn)介紹監(jiān)控模式的相關(guān)組件。 借助 OS 和 SysAK 的改進(jìn)功能,我將監(jiān)控疑難問題和系統(tǒng)健康狀況。
一、SysAK框架介紹
SysAK的全稱是Kit,是 的運(yùn)維SIG。 通過對以往百萬臺服務(wù)器運(yùn)維經(jīng)驗(yàn)的具體總結(jié),提供完善的系統(tǒng)運(yùn)維工具集,可覆蓋日常系統(tǒng)監(jiān)控、在線問題診斷、系統(tǒng)故障修復(fù)等常見運(yùn)維場景. 主要包括三個(gè)方面:
SysAK框架包括兩種模式,監(jiān)控模式和診斷模式。
系統(tǒng)資源困難的指標(biāo)包括CPU困難、內(nèi)存困難、網(wǎng)絡(luò)困難、IO困難。 通過難點(diǎn)監(jiān)控,可以找出應(yīng)用運(yùn)行過程中對資源的依賴,進(jìn)而利用依賴與其他數(shù)據(jù)進(jìn)行有效的配合。 應(yīng)用程序應(yīng)該做合理的調(diào)度和資源分配。
除了硬件四大資源外,系統(tǒng)軟件本身也存在困難。 例如,Linux內(nèi)核系統(tǒng)在訪問各種文件、句柄、緩存和共享資源的過程中可能會形成并發(fā)困境。 SysAK 為解決這一難題也做了很多工作。
干擾是應(yīng)用程序運(yùn)行過程中比較常見的原因,它會導(dǎo)致晃動或運(yùn)行中斷。 SysAK順應(yīng)當(dāng)前云原生趨勢,實(shí)現(xiàn)了容器資源的可視化。
診斷模式是指及時(shí)發(fā)現(xiàn)問題,根據(jù)問題根源進(jìn)行診斷,隨時(shí)可用。 根據(jù)用戶運(yùn)維場景,目前支持以下三種:
除了用戶場景,我們還為中級技術(shù)人員提供更深層次的數(shù)據(jù)診斷,比如有長期系統(tǒng)調(diào)用數(shù)據(jù)的功能,中斷運(yùn)行統(tǒng)計(jì),調(diào)度模塊,內(nèi)存模塊,延時(shí)抖動,內(nèi)存泄漏等,都會基于每個(gè)孩子。 通過特殊功能診斷系統(tǒng)的特性。
SysAK通過松耦合、依賴管理、多架構(gòu)、多版本建立支持保障工具開發(fā)者服務(wù)器運(yùn)維,只需一次開發(fā),無需額外工作即可集成在主流架構(gòu)和操作系統(tǒng)版本上。
2. SysAK監(jiān)控場景應(yīng)用
SysAK的監(jiān)控服務(wù)主要提供三種能力:資源監(jiān)控、異常告警、根因分析。 其中,異常告警功能會設(shè)置一個(gè)特殊的閾值,提供告警,并進(jìn)行人工分析。
SysAK可以借助增強(qiáng)指標(biāo)來監(jiān)控容器資源的使用情況,主要依賴于 OS內(nèi)核的增強(qiáng)特性和SysAK自身的擴(kuò)展。
抖動是日常運(yùn)維過程中偶爾會出現(xiàn)的問題。 在零星的過程中沒有收集到實(shí)際的根本原因數(shù)據(jù)。 如果采集的數(shù)據(jù)過多服務(wù)器運(yùn)維,會影響系統(tǒng)的整體性能; 如果收集的數(shù)據(jù)太少,則不足以分析問題的根本原因。 業(yè)務(wù)波動的原因可以歸納為以下三類:
以上三類原因基本可以涵蓋70%-80%的抖動根本原因,所以檢查以上三類問題基本可以解決抖動問題。
SysAk 還改進(jìn)了系統(tǒng)健康警報(bào)。
比如應(yīng)用沒有鳴笛,而是突然變慢,長期積累會導(dǎo)致系統(tǒng)進(jìn)入無法使用的狀態(tài),如夯實(shí)。 撞擊會造成很大的影響,而且大部分都無法恢復(fù)。 但在此之前,可以通過各種方式進(jìn)行預(yù)警。 例如,可以通過算法查看夯機(jī)的沖擊指標(biāo),判斷是否會發(fā)生夯機(jī),提前預(yù)測健康度。 主要判斷指標(biāo)包括調(diào)度延遲、內(nèi)核態(tài)鎖競爭信噪比、內(nèi)存回收信噪比等。
根據(jù)以往經(jīng)驗(yàn),我們將當(dāng)前的異常參考閾值設(shè)置為50%。
SysAK目前主要用于單機(jī)診斷和監(jiān)控。 它不僅在本機(jī)使用SysAK命令直接查看數(shù)據(jù),還支持通過http端口對外提供數(shù)據(jù)服務(wù),如上圖所示。 同時(shí),還可以根據(jù)數(shù)據(jù)進(jìn)行圖形化展示。
三、未來演進(jìn)路線
未來,我們不僅會建立工具本身的使用場景,還會繼續(xù)完善SysAK的其他能力。 現(xiàn)在,
SysAK 只能在系統(tǒng)級別進(jìn)行診斷。 未來我們也會考慮在應(yīng)用層面做診斷,為應(yīng)用診斷提供更多的數(shù)據(jù)。
另外,SysAK已經(jīng)在 開源,希望有更多的開發(fā)者加入,讓運(yùn)維發(fā)展的更好。 我們也希望SysAK工具能繼續(xù)發(fā)展,發(fā)揮運(yùn)維平臺技術(shù)資料收集的作用,所以會以平臺插件為主。 目前已經(jīng)作為SysOM和云監(jiān)控的組件使用,希望未來可以作為插件擴(kuò)展,滿足更多場景。
相關(guān)地址鏈接:
系統(tǒng)運(yùn)維SIG:
來源官網(wǎng):
關(guān)于 eBPF&Linux 講義的獲取形式:
24小時(shí)免費(fèi)咨詢
請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號