2022云栖精选-系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK

简介: 张毅 阿里云智能高级技术专家

一、SysAK框架介绍
1.png

SysAK 全称为System Analyse Kit,是龙蜥系统运维SIG。我们通过对过往百万服务器运维经验进行抽象总结,提供了一个全方位的系统运维工具集,可以覆盖系统日常监控、线上问题诊断和系统故障修复等常见运维场景。主要包括三个方面:
l 系统监控:针对各种系统资源(CPU、内存、网络、文件IO、内核管理结构等)提供更精细化的资源监控,帮助业务运维实现细粒度的运维调度,高效运用资源。
l 系统诊断:诊断的典型问题如负载异常、网络抖动、内存泄漏、io毛刺、性能瓶颈、应用异常等,针对性提供工具,同时尽量减少工具的专业性,让用户更易使用和解读。
l 系统介入:主要针对故障注入、系统恢复和故障隔离3种情况提供系统介入的能力。
2.png

SysAK 框架包括两大模式,分别为监控模式和诊断模式。
系统资源瓶颈指标包括CPU瓶颈、内存瓶颈、网络瓶颈、IO 瓶颈,通过对瓶颈的监控可以发现应用运行过程中对资源的依赖度,再通过依赖度有效配合其他数据,对应用做合理的调度和资源分配。
除了硬件四大资源之外,系统软件本身也也存在瓶颈,比如Linux内核系统实现各种文件、句柄、cache、共享资源的访问过程中都有可能会产生并发瓶颈, SysAK 针对于此也做了很多工作。
干扰是应用运行过程中是比较常见的因素,会引发抖动或运行中断等。针对目前云原生的趋势下,SysAK实现了容器资源可视化。
诊断模式指及时发现问题,并根据问题根因做诊断,随用随起。根据用户运维场景目前支持这三类:
l 系统负载分析:系统负载时系统运维过程中的典型问题,可以针对于此进行根因分析,避免影响进程堆栈。
l 系统健康一键诊断:比如对系统各个资源维度进行分析,查看配置是否合理等。
l IO问题自动诊断:比如分析IO 打满时,是应用瓶颈还是业务底层存储瓶颈导致。
除了用户场景,我们也针对高级技术人员提供了更深层次的数据诊断,比如系统调用数据耗时较长的函数、中断运行统计、调度模块、内存模块、延时抖动、内存泄露等,会根据每个子系统的特点做专项功能诊断。
3.png

SysAK通过松散耦合、依赖管理、多架构多版本的构建支持等方式保障工具的开发者仅需一次开发、无需额外工作,即可在主流的架构和操作系统版本上集成。
二、SysAK监控场景应用
4.png

SysAK的监控服务mservice主要提供了资源监控、异常告警、根因分析三大能力。其中异常告警功能会设定特殊阈值,提供告警,并进行自动分析。
5.png

SysAK能够利用增强指标监控容器资源的使用,主要依托于龙蜥 OS 内核的增强特性以及SysAK 本身的扩展。
计算资源方面:包括容器负载、运行和阻塞任务数。
内存资源方面:内存使用过程中会频繁遇到瓶颈,主要针对延迟做了增强监控。内存回收延迟包括全局内存回收和容器内存回收,两者都都会影响容器的服务运行状态。因此我们对回收延迟分布以及规整次数做了统计,根据统计结果判断容器业务运行过程是否遇到瓶颈。
IO资源方面:包括容器读写等待时间、排队个数以及平均字节数。
6.png

抖动是日常运维过程偶发的问题。而偶发过程中难以采集实际的根因数据。如果数据采集过多,会影响整体系统性能;而采集过少则不足以分析问题根因。引发业务抖动的原因可以总结为以下三类:
① 进行/线程调度延迟:比如运行队列挤压、排队时间过长以及高优先级应用抢占或本身调度策略设置不合理。
② 中断和软中断响应不及时:业务运行过程会依赖于中断和软中断执行过程,包括网络收发包、IO 读写等。因此可以分析关中断时长来判断中断的响应时间。
③ 内核态执行过长:包括系统本身存在的瓶颈以及内核里其他资源竞争等情况。
上述三大类原因基本能够覆盖70%-80%的抖动根因,因此针对以上三类问题进行检测,大多可以解决抖动问题。
7.png

SysAk对系统健康告警也做了增强。
比如应用没有发生抖动,但突然变慢,长时间的积累会导致系统进入不可用状态,比如夯机。夯机会造成较大影响,且大多不可恢复。但在此之前可以通过多种手段提前预警,比如可以通过算法查看夯机的影响指标,判断是否会发生夯机,提前做健康度预判等。主要判断指标包括调度的延迟、内核态锁竞争时延、内存回收时延等。
结合过往经验,我们将当前的异常参考阈值定为50%。
8.png

SysAK目前主要用于单机诊断和监控,而除了在机器上使用SysAK mservice命令直接查看数据外,也支持以http端口的形式对外提供数据服务,如上图。同时,也可根据数据做图形化展示。
三、未来演进路线
9.png

SysAK已经在龙蜥开源,我们希望更多开发者加入,让运维发展得更好。未来,除了完善工具本身的使用场景,我们将持续增强SysAK的其他能力。目前,SysAK仅能在系统级做诊断,后续我们也将考虑从应用级别做诊断,为应用诊断提供更多数据。
另外,我们也希望 SysAK 工具持续发展,作为运维平台的技术数据采集发挥特性,因此会着重于平台插件化。目前,它已经作为SysOM和云监控的组件在使用,未来希望能够作为Prometheus的插件扩展以满足更多场景。
相关地址链接:
系统运维SIG:https://openanolis.cn/sig/sysom
源码官网:https://gitee.com/anolis/sysak

相关文章
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
44 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
本文介绍了如何通过阿里云获取ECS云服务器并进行操作系统配置与组件安装,以实现高效的资源管理和系统监控。阿里云凭借强大的基础设施和丰富的服务成为用户首选。文中详细描述了获取ECS、RAM授权、开通操作系统控制台及组件安装的步骤,并展示了如何利用控制台实时监控性能指标、诊断系统问题及优化性能。特别针对idle进程进行了深入分析,提出了优化建议。最后,建议定期进行系统健康检查,并希望阿里云能推出更友好的低成本套餐,满足学生等群体的需求。
53 17
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
基于进程热点分析与系统资源优化的智能运维实践
智能服务器管理平台提供直观的可视化界面,助力高效操作系统管理。核心功能包括运维监控、智能助手和扩展插件管理,支持系统健康监控、故障诊断等,确保集群稳定运行。首次使用需激活服务并安装管控组件。平台还提供进程热点追踪、性能观测与优化建议,帮助开发人员快速识别和解决性能瓶颈。定期分析和多维度监控可提前预警潜在问题,保障系统长期稳定运行。
42 17
GitHub 热门开源运维工具 Websoft9:如何实现服务器管理效率翻倍?
Websoft9 提供 200+ 开源应用一键部署,支持容器化隔离、GitOps 自动化和企业级安全防护,助力服务器管理效率提升 80%。
28 1
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 智能运维:云原生大规模集群GitOps实践
云栖实录 | 智能运维:云原生大规模集群GitOps实践
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
本文介绍如何设置和查看域名或证书监控。步骤1:根据证书状态选择新增域名或证书监控,线上部署推荐域名监控,未部署选择证书监控。步骤2:查询监控记录详情。步骤3:在详情页查看每日定时检测结果或手动测试。
HTTPS 证书自动化运维:https证书管理系统- 自动化监控
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
HTTPS 证书自动化运维:https证书管理系统之自动化签发
通过访问【https://www.lingyanspace.com】注册账户,进入证书服务菜单并新增证书。填写域名(单域名、多域名或泛域名),创建订单后添加云解析DNS记录进行质检。确认完成后可下载证书,并支持后续查看、更新和定时更新功能。证书过期前15天自动更新,需配置邮箱接收通知。
HTTPS 证书自动化运维:https证书管理系统之自动化签发
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
55 0

热门文章

最新文章