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