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

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

lQLPJxbcF2cqNBvMiM0FeLCMz4ifcSGHeANpqgFLAEAA_1400_136.png

一、SysAK框架介绍

image.png

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

l  系统监控:针对各种系统资源(CPU、内存、网络、文件IO、内核管理结构等)提供更精细化资源监控,帮助业务运维实现细粒度运维调度,高效运用资源

l  系统诊断:诊断的典型问题如负载异常、网络抖动、内存泄漏、io毛刺、性能瓶颈、应用异常等,针对性提供工具,同时尽量减少工具的专业性,让用户更易使用和解读。

l  系统介入:主要针对故障注入、系统恢复和故障隔离3种情况提供系统介入的能力。

image.png

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

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

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

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

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

l  系统负载分析:系统负载时系统运维过程中的典型问题,可以针对于此进行根因分析,避免影响进程堆栈。

l  系统健康一键诊断:比如对系统各个资源维度进行分析,查看配置是否合理等。

l  IO问题自动诊断:比如分析IO 打满,是应用瓶颈还是业务底层存储瓶颈导致

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

SysAK已经在龙蜥开源,我们希望更多开发者加入运维发展得更好。

image.png

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


二、SysAK监控场景应用

image.png

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

image.png

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

计算资源方面:包括容器负载运行和阻塞任务数。

内存资源方面:内存使用过程中会频繁遇到瓶颈,主要针对延迟做了增强监控。内存回收延迟包括全局内存回收和容器内存回收,两者都都会影响容器服务运行状态。因此我们对回收延迟分布以及规整次数做了统计根据统计结果判断容器业务运行过程是否遇到瓶颈。

IO资源方面:包括容器读写等待时间、排队个数以及平均字节数。

image.png

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

① 进行/线程调度延迟:比如运行队列挤压排队时间过长以及高优先级应用抢占或本身调度策略设置不合理。

② 中断和软中断响应不及时:业务运行过程会依赖于中断和软中断执行过程,包括网络收发包IO 读写等。因此可以分析关中断时长来判断中断的响应时间

③ 内核态执行过长:包括系统本身存在瓶颈以及内核里其他资源竞争等情况

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

image.png

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

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

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

image.png

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


三、未来演进路线

image.png

未来,除了完善工具本身的使用场景,我们将持续增强SysAK的其他能力。目前,SysAK仅能在系统级做诊断,后续我们也将考虑从应用级别做诊断为应用诊断提供更多数据。

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

相关地址链接:
系统运维SIGhttps://openanolis.cn/sig/sysom

源码官网:https://gitee.com/anolis/sysak

lQLPJxbcF2cqM2TM-M0CnrCgW_7LDpyh1wNpqgFKAPsA_670_248.png

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
10天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
71 3
|
1天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
12 3
|
3天前
|
弹性计算 运维
新 企业级ECS集群运维管理训练营 打卡学习领好礼
新 企业级ECS集群运维管理训练营 打卡学习领好礼
22 3
|
2天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
2天前
|
消息中间件 运维 UED
消息队列运维实战:攻克消息丢失、重复与积压难题
消息队列(MQ)作为分布式系统中的核心组件,承担着解耦、异步处理和流量削峰等功能。然而,在实际应用中,消息丢失、重复和积压等问题时有发生,严重影响系统的稳定性和数据的一致性。本文将深入探讨这些问题的成因及其解决方案,帮助您在运维过程中有效应对这些挑战。
6 1
|
9天前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
30 4
|
10天前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
4天前
|
运维 监控 网络协议
自动化运维的魔法——打造高效、可靠的系统
【10月更文挑战第32天】在数字化时代的浪潮下,运维不再是简单的硬件维护和故障排除。它已经演变成一场关乎效率、稳定性和创新的技术革命。自动化运维,作为这场革命的核心,正引领着企业走向更加智能和高效的未来。本文将带你探索自动化运维的世界,揭示其背后的原理和实践,让你领略到自动化带来的无限可能。
11 0
|
9天前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第27天】在智能运维中,Prometheus和Grafana的组合已成为监控和告警体系的事实标准。Prometheus负责数据收集和存储,支持灵活的查询语言PromQL;Grafana提供数据的可视化展示和告警功能。本文介绍如何配置Prometheus监控目标、Grafana数据源及告警规则,帮助运维团队实时监控系统状态,确保稳定性和可靠性。
52 0
|
29天前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
47 4
下一篇
无影云桌面