當(dāng)前位置:首頁 > 公眾號精選 > Linux閱碼場
[導(dǎo)讀]跟蹤診斷技術(shù)SIG致力于為操作系統(tǒng)生態(tài)提供系統(tǒng)性,工具化,并以數(shù)據(jù)為支撐的發(fā)現(xiàn)、跟蹤和診斷問題的能力。SIG目標(biāo):為龍蜥社區(qū)(OpenAnolis)開源操作系統(tǒng),提供一個全棧覆蓋內(nèi)核與核心組件的跟蹤和診斷工具,增強龍蜥社區(qū)(OpenAnolis)全棧的可觀察性和可靠性。歡迎更多開...

跟蹤診斷技術(shù) SIG致力于為操作系統(tǒng)生態(tài)提供系統(tǒng)性,工具化,并以數(shù)據(jù)為支撐的發(fā)現(xiàn)、跟蹤和診斷問題的能力。


SIG目標(biāo):為龍蜥社區(qū)(OpenAnolis開源操作系統(tǒng),提供一個全棧覆蓋內(nèi)核與核心組件的跟蹤和診斷工具,增強龍蜥社區(qū)(OpenAnolis)全棧的可觀察性和可靠性。歡迎更多開發(fā)者加入跟蹤診斷技術(shù)SIG:



SIG 本月亮點

系統(tǒng)排查工具 ssar

7月份,我們計劃將阿里云自研的 ssar 貢獻給龍蜥社區(qū)( OpenAnolis) ,作為跟蹤診斷 技術(shù)SIG 和 龍蜥社區(qū)( OpenAnolis) 中第一款系統(tǒng)層面的排查工具。當(dāng)前 ssar 的開源工作正在有序進行中,歡迎各位開發(fā)者關(guān)注跟蹤診斷技術(shù)SIG,及時獲取項目消息。


ssar 簡介

大家平常會經(jīng)常遇到系統(tǒng)不穩(wěn)定的情況,往往需要依賴一款sar(System Activity Reporter)系統(tǒng)活動報告類工具來追蹤系統(tǒng)曾經(jīng)發(fā)生了什么,以便確定引起系統(tǒng)不穩(wěn)定的根源。


相信不少同學(xué)在使用傳統(tǒng)的sar工具排查系統(tǒng)問題時,都會遇到如下一些苦惱:


1、傳統(tǒng)sar工具固定采集一些主要的系統(tǒng)指標(biāo)。以TCP重傳為例,只采集了整機重傳數(shù)數(shù)據(jù)。若想擴展采集更詳細(xì)的重傳子類型數(shù)據(jù),需要修改C語言代碼,增加指標(biāo)十分困難。2、傳統(tǒng)sar工具無進程級指標(biāo)的記錄,當(dāng)整機CPU或內(nèi)存等指標(biāo)出現(xiàn)波動時,無法定位具體的進程級因素。


3、針對 linux load 這個即熟悉又陌生的指標(biāo)異常,單憑sar工具本身無能為力。


4、傳統(tǒng)sar工具在系統(tǒng)異常時,采集工具本身往往也無法正常運行,常常引起數(shù)據(jù)中斷的情況發(fā)生。


這里介紹一款功能強大的阿里云自研sar類型工具ssar(SRE System Activity Reporter)。它是系統(tǒng)活動報告sar工具家族中嶄新的一個,幾乎涵蓋了傳統(tǒng)sar工具的大部分主要功能之外,還擴展了更多的整機指標(biāo),新增了進程級指標(biāo)和特色的load指標(biāo)。


與其他sar家族工具相比,ssar有如下幾個特色的地方:


1、ssar工具無需修改C語言代碼,只需幾分鐘簡單修改配置文件,幾乎可以擴展采集系統(tǒng)的任意指標(biāo);2、傳統(tǒng)sar工具或者無法二次開發(fā),或二次開發(fā)門檻較高,ssar工具支持使用python語言二次開發(fā),二次開發(fā)入門的門檻低;


3、ssar工具完整的記錄了系統(tǒng)所有進程的CPU和內(nèi)存等關(guān)鍵指標(biāo),并可以按需進行指標(biāo)排序輸出;


4、針對Linux load指標(biāo),ssar工具還提供了詳細(xì)的load指標(biāo)信息,其中的load5s指標(biāo)是國內(nèi)外全行業(yè)獨創(chuàng)。


5、為了避免系統(tǒng)異常時采集數(shù)據(jù)中斷情況發(fā)生,ssar工具在內(nèi)存不足和CPU資源緊張時做了最大兼容。


6、最后,作為一款優(yōu)秀的sar類型工具,ssar的本身的資源消耗也是及其優(yōu)秀的,內(nèi)存資源占用只有不足5MB,CPU使用率只有不足單核的1%。


當(dāng)然了,采集更多的數(shù)據(jù),必然占用更多的磁盤存儲空間。近20年來,隨著存儲技術(shù)的發(fā)展,在同樣成本結(jié)構(gòu)的前提下,磁盤空間容量增長了1000倍?;谶@樣背景,適當(dāng)占用一定的存儲空間,采集更多數(shù)據(jù)指標(biāo)是值得的。


ssar 上手體驗

下面帶大家搶先體驗ssar的強大功能:


  • 通過配置文件實現(xiàn)常用指標(biāo)的展示。
首先,配置需要采集的數(shù)據(jù)源文件。


{src_path='/proc/stat', cfile=’stat’, turn=true}, 然后,在配置文件中配置指標(biāo)項。
user = {cfile='stat', line_begin='cpu', column=2, width=10, metric='d'}system = {cfile='stat', line_begin='cpu', column=4, width=10, metric='d'}idle = {cfile='stat', line_begin='cpu', column=5, width=10, metric='d'}iowait = {cfile='stat', line_begin='cpu', column=6, width=10, metric='d'} 最后,在配置文件中配置視圖項。


cpu = ['user', 'system','idle','iowait'] 做完上面的配置工作,就可以使用ssar –cpu命令查看指標(biāo)了
$ ssar --cpu collect_datetime user/s system/s idle/s iowait/s 2021-08-09T06:45:00 1.05 1.75 6395.72 0.01 2021-08-09T06:50:00 0.85 1.57 6396.11 0.01 2021-08-09T06:55:00       0.94       1.56    6395.99       0.01
  • 通過自定義指標(biāo)靈活顯示不常用指標(biāo)的展示。


在一個多核的系統(tǒng)中,如果想查看每個核的idle類型cpu資源分布,可以通過如下自定義指標(biāo)功能實現(xiàn)。在stat文件中,第2到5行數(shù)據(jù)對應(yīng)了0到3號核,而第5列值對應(yīng)了idle的cpu資源情況。


$ ssar -o 'metric=d|cfile=stat|line=2-5|column=5|alias=idle_{line};' collect_datetime idle_2/s idle_3/s idle_4/s idle_5/s 2021-08-09T06:48:00 99.92 99.46 99.84 99.92 2021-08-09T06:53:00 99.91 99.45 99.85 99.93 2021-08-09T06:58:00 99.91 99.42 99.81 99.90 擁有了自定義指標(biāo)這個強大功能,可以很方便的支持我們在python等語言中實現(xiàn)二次開發(fā)功能。為了方便數(shù)據(jù)的解析,這里還提供了貼心的json格式數(shù)據(jù)輸出(選項--api)。
$ ssar -o 'metric=d|cfile=stat|line=2-5|column=5|alias=idle_{line};' –api
  • 排序顯示內(nèi)存資源申請增量多的進程列表。
通過procs子命令可以顯示出過去5分鐘內(nèi),內(nèi)存申請增量最多的3個進程列表。
$ ssar procs -r 5 -o pid,ppid,rss,rss_dlt,nlwp,cmd -k rss_dlt -l 3 pid ppid rss rss_dlt nlwp cmd 197779 1 14624 472 1 syslog-ng 185017 1 136328 400 1 systemd-journal 27495 77722 360 360 1 sleep
  • 國內(nèi)外全行業(yè)獨創(chuàng)load5s指標(biāo)更加精準(zhǔn)的顯示系統(tǒng)的load情況。
通過load5s子命令可以顯示更加精準(zhǔn)的5秒級別的load5s指標(biāo)。這里明顯可以看出傳統(tǒng)的load1指標(biāo)在系統(tǒng)負(fù)載壓力消失后,還一定的滯后性,但load5s指標(biāo)卻可以精準(zhǔn)的顯示機器的負(fù)載壓力。


$ ssar load5scollect_datetime threads load1 runq load5s2021-08-09T14:17:35 1047 0.28 2 12021-08-09T14:17:40 1058 0.25 1 02021-08-09T14:17:47 3047 113.46 1453 14142021-08-09T14:17:53 3053 264.62 2002 20012021-08-09T14:17:59 3053 403.74 2002 20022021-08-09T14:18:05 1049 371.41 1 02021-08-09T14:18:10 1055 341.67 1 02021-08-09T14:18:15 1048 314.31 1 0 此外,load2p子命令還可以詳細(xì)顯示load5s偏高時刻的進程線程信息和D狀態(tài)調(diào)用棧信息。


  • 工具本身采集進程資源消耗小,并且資源使用平穩(wěn)。
ssar工具本身的采集進程sresar本身只消耗不足4MB的內(nèi)存使用。同時,該進程的min_flt次缺頁中斷數(shù)也保持在一個固定數(shù)值上,說明采集進程在運行期間無物理內(nèi)存申請。當(dāng)系統(tǒng)內(nèi)存處于極度緊張時,這個特點就可以使sresar采集器比其他sar工具具有更強的魯棒性。
$ ssar proc -p $(pidof sresar) -i1 -o collect_datetime,rss,min_flt,cmdcollect_datetime rss min_flt cmd 2021-08-09T11:40:00 1524 631 sresar 2021-08-09T11:41:00 1708 1231 sresar 2021-08-09T11:42:00 3552 1748 sresar 2021-08-09T11:43:00 3552 1748 sresar 2021-08-09T11:44:00 3552 1749 sresar 2021-08-09T11:45:00 3552 1749 sresar 2021-08-09T11:46:00 3552 1749 sresar 2021-08-09T11:47:00 3552 1749 sresar 2021-08-09T11:48:00       3552       1749 sresar

ssar 開源計劃

ssar 項目的開源計劃正在有條不紊的進行中,預(yù)計近期會和大家見面。同時也歡迎大家持續(xù)關(guān)注跟蹤診斷技術(shù) SIG:https://openanolis.cn/sig/tracing ,開源后我們會第一時間更新信息。


SIG 近期規(guī)劃

跟蹤診斷技術(shù)SIG 近期計劃將更多的工具貢獻至龍蜥社區(qū)( OpenAnolis ),其中包括上文提到的 ssar、網(wǎng)絡(luò)時延跟蹤工具、內(nèi)核診斷工具集和 TCP 跟蹤診斷工具等。逐步構(gòu)建并增強整個龍蜥操作系統(tǒng)(Anolis OS)和內(nèi)核層面的跟蹤和診斷能力,為開發(fā)者帶來愈加清晰完整的工具生態(tài)體系,彌補當(dāng)前跟蹤診斷工具的碎片化和易用性的問題。


同時,我們也希望更多的開發(fā)者參與到跟蹤診斷技術(shù)SIG 的討論和開發(fā),不僅僅是基于現(xiàn)有的工具與能力,希望有更多更新更酷的工具加入到 SIG 中,一同構(gòu)建業(yè)界領(lǐng)先的跟蹤診斷生態(tài)。—— 完 ——
關(guān)于龍蜥社區(qū)SIGSIG是開放的,并爭取讓交付成果成為社區(qū)發(fā)行的一部分,由組內(nèi)核心成員主導(dǎo)治理,可通過郵件列表和組內(nèi)的成員進行交流。龍蜥社區(qū)目前有近20個SIG,包括跟蹤診斷技術(shù)SIG、商密軟件棧、高性能存儲技術(shù)SIG、Java語言與虛擬機SIG、Cloud Kernel、OceanBase SIG等。



加入微信群:添加社區(qū)助理-龍蜥社區(qū)小龍(微信:openanolis_assis),備注【龍蜥】拉你入群;加入釘釘群:掃描下方釘釘群二維碼。歡迎開發(fā)者/用戶加入龍蜥OpenAnolis社區(qū)交流,共同推進龍蜥社區(qū)的發(fā)展,一起打造一個活躍的、健康的開源操作系統(tǒng)生態(tài)!





本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉