当前位置:首页 > 公众号精选 > Linux阅码场
[导读]跟踪诊断技术SIG致力于为操作系统生态提供系统性,工具化,并以数据为支撑的发现、跟踪和诊断问题的能力。SIG目标:为龙蜥社区(OpenAnolis)开源操作系统,提供一个全栈覆盖内核与核心组件的跟踪和诊断工具,增强龙蜥社区(OpenAnolis)全栈的可观察性和可靠性。欢迎更多开...

跟踪诊断技术 SIG致力于为操作系统生态提供系统性,工具化,并以数据为支撑的发现、跟踪和诊断问题的能力。


SIG目标:为龙蜥社区(OpenAnolis开源操作系统,提供一个全栈覆盖内核与核心组件的跟踪和诊断工具,增强龙蜥社区(OpenAnolis)全栈的可观察性和可靠性。欢迎更多开发者加入跟踪诊断技术SIG:



SIG 本月亮点

系统排查工具 ssar

7月份,我们计划将阿里云自研的 ssar 贡献给龙蜥社区( OpenAnolis) ,作为跟踪诊断 技术SIG 和 龙蜥社区( OpenAnolis) 中第一款系统层面的排查工具。当前 ssar 的开源工作正在有序进行中,欢迎各位开发者关注跟踪诊断技术SIG,及时获取项目消息


ssar 简介

大家平常会经常遇到系统不稳定的情况,往往需要依赖一款sar(System Activity Reporter)系统活动报告类工具来追踪系统曾经发生了什么,以便确定引起系统不稳定的根源。


相信不少同学在使用传统的sar工具排查系统问题时,都会遇到如下一些苦恼:


1、传统sar工具固定采集一些主要的系统指标。以TCP重传为例,只采集了整机重传数数据。若想扩展采集更详细的重传子类型数据,需要修改C语言代码,增加指标十分困难。2、传统sar工具无进程级指标的记录,当整机CPU或内存等指标出现波动时,无法定位具体的进程级因素。


3、针对 linux load 这个即熟悉又陌生的指标异常,单凭sar工具本身无能为力。


4、传统sar工具在系统异常时,采集工具本身往往也无法正常运行,常常引起数据中断的情况发生。


这里介绍一款功能强大的阿里云自研sar类型工具ssar(SRE System Activity Reporter)。它是系统活动报告sar工具家族中崭新的一个,几乎涵盖了传统sar工具的大部分主要功能之外,还扩展了更多的整机指标,新增了进程级指标和特色的load指标。


与其他sar家族工具相比,ssar有如下几个特色的地方:


1、ssar工具无需修改C语言代码,只需几分钟简单修改配置文件,几乎可以扩展采集系统的任意指标;2、传统sar工具或者无法二次开发,或二次开发门槛较高,ssar工具支持使用python语言二次开发,二次开发入门的门槛低;


3、ssar工具完整的记录了系统所有进程的CPU和内存等关键指标,并可以按需进行指标排序输出;


4、针对Linux load指标,ssar工具还提供了详细的load指标信息,其中的load5s指标是国内外全行业独创。


5、为了避免系统异常时采集数据中断情况发生,ssar工具在内存不足和CPU资源紧张时做了最大兼容。


6、最后,作为一款优秀的sar类型工具,ssar的本身的资源消耗也是及其优秀的,内存资源占用只有不足5MB,CPU使用率只有不足单核的1%。


当然了,采集更多的数据,必然占用更多的磁盘存储空间。近20年来,随着存储技术的发展,在同样成本结构的前提下,磁盘空间容量增长了1000倍。基于这样背景,适当占用一定的存储空间,采集更多数据指标是值得的。


ssar 上手体验

下面带大家抢先体验ssar的强大功能:


  • 通过配置文件实现常用指标的展示。
首先,配置需要采集的数据源文件。


{src_path='/proc/stat', cfile=’stat’, turn=true}, 然后,在配置文件中配置指标项。
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命令查看指标了
$ 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
  • 通过自定义指标灵活显示不常用指标的展示。


在一个多核的系统中,如果想查看每个核的idle类型cpu资源分布,可以通过如下自定义指标功能实现。在stat文件中,第2到5行数据对应了0到3号核,而第5列值对应了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 拥有了自定义指标这个强大功能,可以很方便的支持我们在python等语言中实现二次开发功能。为了方便数据的解析,这里还提供了贴心的json格式数据输出(选项--api)。
$ ssar -o 'metric=d|cfile=stat|line=2-5|column=5|alias=idle_{line};' –api
  • 排序显示内存资源申请增量多的进程列表。
通过procs子命令可以显示出过去5分钟内,内存申请增量最多的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
  • 国内外全行业独创load5s指标更加精准的显示系统的load情况。
通过load5s子命令可以显示更加精准的5秒级别的load5s指标。这里明显可以看出传统的load1指标在系统负载压力消失后,还一定的滞后性,但load5s指标却可以精准的显示机器的负载压力。


$ 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子命令还可以详细显示load5s偏高时刻的进程线程信息和D状态调用栈信息。


  • 工具本身采集进程资源消耗小,并且资源使用平稳。
ssar工具本身的采集进程sresar本身只消耗不足4MB的内存使用。同时,该进程的min_flt次缺页中断数也保持在一个固定数值上,说明采集进程在运行期间无物理内存申请。当系统内存处于极度紧张时,这个特点就可以使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 项目的开源计划正在有条不紊的进行中,预计近期会和大家见面。同时也欢迎大家持续关注跟踪诊断技术 SIG:https://openanolis.cn/sig/tracing ,开源后我们会第一时间更新信息。


SIG 近期规划

跟踪诊断技术SIG 近期计划将更多的工具贡献至龙蜥社区( OpenAnolis ),其中包括上文提到的 ssar、网络时延跟踪工具、内核诊断工具集和 TCP 跟踪诊断工具等。逐步构建并增强整个龙蜥操作系统(Anolis OS)和内核层面的跟踪和诊断能力,为开发者带来愈加清晰完整的工具生态体系,弥补当前跟踪诊断工具的碎片化和易用性的问题。


同时,我们也希望更多的开发者参与到跟踪诊断技术SIG 的讨论和开发,不仅仅是基于现有的工具与能力,希望有更多更新更酷的工具加入到 SIG 中,一同构建业界领先的跟踪诊断生态。—— 完 ——
关于龙蜥社区SIGSIG是开放的,并争取让交付成果成为社区发行的一部分,由组内核心成员主导治理,可通过邮件列表和组内的成员进行交流。龙蜥社区目前有近20个SIG,包括跟踪诊断技术SIG、商密软件栈、高性能存储技术SIG、Java语言与虚拟机SIG、Cloud Kernel、OceanBase SIG等。



加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥OpenAnolis社区交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭