系统运维利器,百万服务器运维实战总结!一文了解最新版SysAK|龙蜥技术

简介: 利用龙蜥 OS、SysAK 的增强特色,去做疑难问题和系统健康度的监控。

在刚刚结束的龙蜥峰会 eBPF & Linux 稳定性专场上,龙蜥系统运维 SIG Maintainer 张毅做了《SysAK 系统运维工具集》的主题演讲,以下为演讲实录。

640 (28).png

大家好,在去年的云栖大会,我们在龙蜥社区开源了系统运维工具集 SysAK,并提供了多种诊断功能。作为系统运维 SIG(Special Interest Group) 主力项目之一。这一年来,SysAK 为适应更多场景,在技术架构和应用场景上也做出了更多升级。今天分享下最新版本的核心技术结构和使用场景,限于时间关系,会重点介绍监控模式的相关组件,利用龙蜥 OS、SysAK 的增强特色,去做疑难问题和系统健康度的监控。

一、SysAK 框架介绍

幻灯片4.PNG

SysAK 全称为 System Analyse Kit,是龙蜥系统运维 SIG。我们通过对过往百万服务器运维经验进行抽象总结,提供了一个全方位的系统运维工具集,可以覆盖系统日常监控、线上问题诊断和系统故障修复等常见运维场景。主要包括三个方面:

  • 系统监控:针对各种系统资源(CPU、内存、网络、文件 IO、内核管理结构等)提供更精细化的资源监控,帮助业务运维实现细粒度的运维调度,高效运用资源。
  • 系统诊断:诊断的典型问题如负载异常、网络抖动、内存泄漏、IO毛刺、性能瓶颈、应用异常等,针对性提供工具,同时尽量减少工具的专业性,让用户更易使用和解读。
  • 系统介入:主要针对故障注入、系统恢复和故障隔离3种情况提供系统介入的能力。

幻灯片5.PNG

SysAK 框架包括两大模式,分别为监控模式和诊断模式。


系统资源瓶颈指标包括 CPU 瓶颈、内存瓶颈、网络瓶颈、IO 瓶颈,通过对瓶颈的监控可以发现应用运行过程中对资源的依赖度,再通过依赖度有效配合其他数据,对应用做合理的调度和资源分配。


除了硬件四大资源之外,系统软件本身也也存在瓶颈,比如 Linux 内核系统实现各种文件、句柄、cache、共享资源的访问过程中都有可能会产生并发瓶颈, SysAK 针对此瓶颈也做了很多工作。

干扰是应用运行过程中是比较常见的因素,会引发抖动或运行中断等。针对目前云原生的趋势下,SysAK 实现了容器资源可视化。

诊断模式指及时发现问题,并根据问题根因做诊断,随用随起。根据用户运维场景,目前支持以下这三类:

  • 系统负载分析:系统负载时系统运维过程中的典型问题,可以针对于此进行根因分析,避免影响进程堆栈。
  • 系统健康一键诊断:比如对系统各个资源维度进行分析,查看配置是否合理等。
  • IO 问题自动诊断:比如分析 IO 打满时,是应用瓶颈还是业务底层存储瓶颈导致。


除了用户场景,我们也针对高级技术人员提供了更深层次的数据诊断,比如系统调用数据耗时较长的函数、中断运行统计、调度模块、内存模块、延时抖动、内存泄露等,会根据每个子系统的特点做专项功能诊断。

幻灯片6.PNG

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

二、SysAK 监控场景应用

幻灯片8.PNG

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

幻灯片9.PNG

SysAK 能够利用增强指标监控容器资源的使用,主要依托于龙蜥 OS 内核的增强特性以及 SysAK 本身的扩展。

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

幻灯片10.PNG

抖动是日常运维过程偶发的问题。而偶发过程中难以采集实际的根因数据。如果数据采集过多,会影响整体系统性能;而采集过少则不足以分析问题根因。引发业务抖动的原因可以总结为以下三类:

  • 进行/线程调度延迟:比如运行队列挤压、排队时间过长以及高优先级应用抢占或本身调度策略设置不合理。
  • 中断和软中断响应不及时:业务运行过程会依赖于中断和软中断执行过程,包括网络收发包、IO 读写等。因此可以分析关中断时长来判断中断的响应时间。
  • 内核态执行过长:包括系统本身存在的瓶颈以及内核里其他资源竞争等情况。


上述三大类原因基本能够覆盖 70%-80% 的抖动根因,因此针对以上三类问题进行检测,大多可以解决抖动问题。

幻灯片11.PNG

SysAk 对系统健康告警也做了增强。


比如应用没有发生抖动,但突然变慢,长时间的积累会导致系统进入不可用状态,比如夯机。夯机会造成较大影响,且大多不可恢复。但在此之前可以通过多种手段提前预警,比如可以通过算法查看夯机的影响指标,判断是否会发生夯机,提前做健康度预判等。主要判断指标包括调度的延迟、内核态锁竞争时延、内存回收时延等。

结合过往经验,我们将当前的异常参考阈值定为 50%。

幻灯片12.PNG

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

三、未来演进路线

幻灯片14.PNG

未来,除了完善工具本身的使用场景,我们将持续增强 SysAK 的其他能力。目前,


SysAK 仅能在系统级做诊断,后续我们也将考虑从应用级别做诊断,为应用诊断提供更多数据。


另外,SysAK 已经在龙蜥开源,我们希望更多开发者加入,让运维发展得更好。我们也希望 SysAK 工具持续发展,作为运维平台的技术数据采集发挥特性,因此会着重于平台插件化。目前,它已经作为 SysOM 和云监控的组件在使用,未来希望能够作为 Prometheus 的插件扩展以满足更多场景。


相关地址链接:

系统运维SIG:

https://openanolis.cn/sig/sysom

源码官网:

https://gitee.com/anolis/sysak

关于龙蜥 eBPF & Linux 稳定性专场课件获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。

【视频回放】:视频回访已上传至龙蜥官网:https://openanolis.cn/video 查看。

—— 完 ——

加入龙蜥社群

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

640 (60).png

相关文章
|
7月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1752 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
4月前
|
存储 机器学习/深度学习 人工智能
硅谷GPU单节点服务器:技术解析与应用全景
“硅谷GPU单节点服务器”代表了在单个物理机箱内集成强大计算能力,特别是GPU加速能力的高性能计算解决方案。它们并非指代某个特定品牌,而是一类为处理密集型工作负载而设计的服务器范式的统称。
|
4月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1113 5
|
5月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
380 18
|
存储 Ubuntu Linux
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包 (Released Oct 2025)
HPE SPP 2025.09.00.00 - HPE 服务器固件、驱动程序和系统软件包
192 0
|
5月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
405 15
|
6月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
6月前
|
存储 Linux 测试技术
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
HPE SPP 2025.07.00.00 - HPE 服务器固件、驱动程序和系统软件包
248 4
|
7月前
|
人工智能 运维 安全
MCP协议深度解析:客户端-服务器架构的技术创新
作为一名长期关注AI技术发展的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP协议作为Anthropic公司推出的开放标准,正在重新定义AI应用与外部系统的交互方式,其基于JSON-RPC 2.0的通信机制为构建可扩展、安全的AI应用提供了坚实的技术基础。在深入研究MCP协议规范的过程中,我发现这一协议不仅解决了传统AI应用在资源访问、工具调用和上下文管理方面的痛点,更通过其独特的三大核心概念——资源(Resources)、工具(Tools)、提示词(Prompts)——构建了一个完整的AI应用生态系统。MCP协议的客户端-
602 0
MCP协议深度解析:客户端-服务器架构的技术创新
|
6月前
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
157 0