sysAK(青囊)系统运维工具集:如何实现高效自动化运维?| 龙蜥技术

简介: What is sysAK、典型工具介绍、开源 3 方面介绍了 sysAK 系统,目前 sysAK 工具集已经在龙蜥社区开源,并且在系统运维 SIG、跟踪诊断 SIG 一起共建,希望大家后期加入 SIG 一起讨论共建。

编者按:本文整理自云栖大会龙蜥专场论坛的技术分享。作者张毅系统运维SIG 核心人员。另龙蜥专场视频已经上线至龙蜥社区官网,欢迎观看:云栖大会龙蜥专场论坛


系统运维 SIG 已在龙蜥社区建立 SIG 组。目前 sysAK 工具集已经在龙蜥社区开源,并且在系统运维 SIG、跟踪诊断 SIG 一起共建,希望大家后期加入 SIG 一起讨论共建。本文将从技术角度分享 sysAK 系统。

一、 What is sysAK

sysAK 是我们去年才提的概念,但里面的功能来自于我们多年来在阿里百万规模的服务器运维经验。在系统运维过程中,资源监控与利用、问题排查与解决是核心诉求,因此 sysAK 覆盖系统运维的三大典型场景。张毅 1.png1、系统监控除了常规的一些系统健康指标外,sysAK 还会针对各种系统资源提供更精细化的资源监控,帮助业务运维实现细粒度的运维调度和资源控制,进而高效运用资源。

2、系统诊断这是对于典型的问题做分析的覆盖,比如说负载异常、网络抖动、内存泄漏、IO 毛刺、性能瓶颈、应用异常等等。

3、系统介入这块更重要的一点是故障修复,因为我们的系统运维终极目标是减少或者避免业务损失,故障总是不可预期的会发生,发生之后我们能快速发现和分析,也需要对这个问题本身做一些修复或止血,所以 sysAK 也会提供一些系统不具备但常用的故障修复手段在里面。


覆盖比较全的场景做了可用工具集,其实还是不够的,另外一个目标是工具怎么做的好用。好用有很多因素,我认为至少要具备以下三点:


1、 对普通用户来说易懂比如说现在的一些服务越来越多,系统越来越复杂,现在一些工具对运维来说要去了解背后的专业知识才能使用。运维工具输出结果要直达问题的核心,用户直接能看懂,不管是诊断结果或是修复建议。

2、 对运行系统来说影响少工具本身要尽量减少对系统的扰动,sysAK 通过高性能实现来做,并通过统一的资源框架来做管理,工具可以随时随地常态化运行。这样的话,对系统问题及时发现是非常有好处的。

3、 对其他平台接口友好,便于被集成。sysAK 工具集可以做成标准化输出形式,在大型集群平台上也可以做集群化运维。张毅 2.png

    二、典型工具介绍

下面可根据一些分类场景的典型工具来看 sysAK 是怎么达到这些目的。


系统运维的话,Load 作为服务器运行负载的一个典型指标,经常被运维人员用于评价系统运行是否良好的一个关键因素,其计算本身是比较简单的,就只是简单恒量运行任务和 IO 等待任务的数量。对于运维人员来说,他可以方便的拿到当前是哪些进程导致 Load 高,但背后是什么导致,原因各种各样。系统错误或者硬件错误都可能会导致 Load 高,只是拿到进程情况,没有专业的操作系统知识是无法继续分析的。所以 loadtask 工具会进行全方位的系统分析,除获取进程运行栈外,还自动分析内存压力、cpu 压力、IO 压力、系统错误,并将这些因素和进程栈进行关联,跟当前进程对照,上下文结合,给出最后精确的 Load 异常原因,让运维人员直接根据这个作出决策。

张毅 3.png

内存泄露是内存问题的典型场景,对于内存泄露问题,通常我们的一些工具也是通过分配和释放、是否匹配的模式去识别泄露点在哪里,但这只是第一步工作。第二步工作才是最关键的,因为分配和释放不匹配其实是正常情况下也会出现,我们要对这个数据特征模式做分析,排除干扰因素,才能知道是否真的泄露了,而这块的工作花的时间是最多的,所以我们对于内核内存,通过以前的历史经验总结出来了一些模型,把数据分析的过程总结放在工具里面,我们通过这个工具可以自动快速的找到泄露点在哪个地方。

锁竞争分析工具,锁竞争是比较常见的业务效率低下或突发抖动的原因之一,通过静态分析我们可以找到锁的持有者是谁,但是一般业务抖动、长时间性能上不去,这是动态的锁的过程,ulockcheck 工具会跟踪锁的持有释放流程,对持有锁的时间时长和频率进行分析,真正判断出来到底是因为某一些任务持有过长还是业务竞争锁比较激烈,并且给出竞争场景的上下文,帮助业务开发人员精准判断出优化点在哪儿。

张毅 6.png

第四个是网络类问题,网络问题分析更是专业性极强的事情,通常需要抓包并分析数据报文,耗费大量时间。我们开发的 PingTrace 工具通过在内部封装自定义网络报文协议,在 server、clinent 对报文经过的全链路流程进行记录,除各个时间段进行精准时间统计外,还包括这个过程中所有的系统中断或者调度因素的影响,做综合性判断,把数据聚合出来,最后给出时延的精确原因。

张毅 7.png

第五个是性能瓶颈快速界定工具。业界有太多针对不同场景(从应用到硬件)的专业性能调优工具,找到性能瓶颈从程序或者系统级别去修改优化,我们接下来有一个议题也会讲性能调优工具。appscan 工具可能更侧重于运维人员,对运维人员来说,通常不会涉及到业务或系统具体怎么调优这么细致的力度,他更关注的是系统是否满足业务运行,哪一类资源是瓶颈,是否可以从运维手段上得到解决,因而除了帮助优化外,appscan 工具尽可能的从应用可能使用到资源的上去分析,帮助运维做出决策。张毅 8.png最后一个工具是ossre,这不是单独的工具,它其实是我们内部运行的自动化诊断专家系统,前端会分析数据、采集数据,后端会有大数据人工智能的方式去分析这个系统能存在的问题或者是已知问题。其前端集成到了 sysAK 中,也可单独使用,对于一些不需要后端大量数据也可分析出的已知问题给出解决方案。张毅 4.png

三、开源

由于不断发展和变化的复杂业务环境,工具集也需要持续迭代,以覆盖更多的场景,因此希望通过社区合作,共同打造出这个跨平台的统一工具集,为此,工具集支持多种语言格式,c、shell、python、go 等,方便不同语言习惯的开发者进行开发,快速集成;同时针对需要采集系统内核数据的情况,也同时兼容 Linux kernel module 和 eBPF 两种技术,对内核版本不做限制。

张毅 9.png目前 sysAK 工具集的代码已经在龙蜥社区进行了托管,并且在系统运维 SIG、跟踪诊断 SIG 中进行开源,希望大家后期加入 SIG 一起讨论共建。谢谢!


—— 完 ——


关于龙蜥SIG

SIG是开放的,并争取让交付成果成为社区发行的一部分,由组内核心成员主导治理,可通过邮件列表和组内的成员进行交流。龙蜥社区SIG目前已超20个,包括硬件兼容性测试 SIG、商密软件栈、高性能存储技术 SIG、Java语言与虚拟机SIG、Cloud Kernel、OceanBase SIG等。

sig截图.png

SIG网址:https://openanolis.cn/sig

加入龙蜥社群

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

开发者社区.png

相关文章
|
13天前
|
运维 监控 安全
运维自动化:提升效率与可靠性的关键技术
在信息技术飞速发展的今天,企业对IT系统的稳定性和高效性要求越来越高。运维自动化作为实现这一目标的重要手段,通过软件工具来模拟、执行和管理IT运维任务,不仅大幅提高了工作效率,还显著增强了系统的可靠性。本文将探讨运维自动化的概念、实施步骤以及面临的挑战,旨在为读者提供一份关于如何有效实施运维自动化的指南。
|
12天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
15天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
39 3
|
21天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
47 4
|
20天前
|
运维 资源调度 监控
提升运维效率的关键技术与实践
在当今快速发展的信息技术时代,运维工作面临着前所未有的挑战和机遇。本文旨在探讨如何通过采用先进的技术和实施最佳实践来提高IT运维的效率和效果。我们将深入分析自动化工具、监控策略、灾难恢复计划以及持续集成/持续部署(CI/CD)等关键领域,展示它们如何协同工作以优化运维流程。此外,文章还将提供一些实际案例研究,帮助读者更好地理解这些概念的应用。无论是对于初创公司还是大型企业,掌握这些技术都将是提升竞争力的关键。
|
23天前
|
运维 监控 中间件
数据中心运维监控系统产品价值与优势
华汇数据运维监控系统面向IT基础架构及IT支撑平台的监控和运维管理,包含监测、分析、展现和告警。监控范围涵盖了网络设备、主机系统、数据库、中间件和应用软件等。
44 4
|
19天前
|
运维 监控 网络协议
自动化运维的魔法——打造高效、可靠的系统
【10月更文挑战第32天】在数字化时代的浪潮下,运维不再是简单的硬件维护和故障排除。它已经演变成一场关乎效率、稳定性和创新的技术革命。自动化运维,作为这场革命的核心,正引领着企业走向更加智能和高效的未来。本文将带你探索自动化运维的世界,揭示其背后的原理和实践,让你领略到自动化带来的无限可能。
24 0
|
28天前
|
存储 运维 监控
运维技术深度解析:构建高效、稳定的运维体系
【10月更文挑战第22天】运维技术深度解析:构建高效、稳定的运维体系
140 0
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
56 4
|
1月前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
76 1
下一篇
无影云桌面