SREWorks 是一款基于“数据化、智能化”理念构筑的云原生运维平台:以“数智”思想为内核,围绕应用的交付、监测、管理、控制、运营、服务六部分,解决运维的“质量、成本、效率、安全”相关需求。
在 SREWorks 的开源社群以及各类咨询中,很多用户对其中的数智能力表现出浓厚的兴趣。但在目前的开源版本中,SREWorks 是围绕企业应用,提供端到端的完整数智能力,用户需要将业务应用迁入 SREWorks 云原生体系内,才能进一步体验数智化能力。因此,为了能让用户快速体验 SREWorks 的数智能力,领略数智化运维的魅力,SREWorks 团队探索出了一个轻量化的数智服务方案,希望能为用户解决比如像热点机器等一些常见的运维痛点问题。通常在一个集群中,小部分机器的 CPU 或者内存等指标过高,偏离了合理范围,表现为当前集群在资源层面出现机器负载不均的现象,我们可以认为集群中存在热点机器。在分布式系统里,尤其对于有状态的业务集群,热点机器的存在不仅会影响集群的稳定性,而且还会成为集群性能提升的瓶颈。也就是说,热点机器是集群稳定性和集群水位提升的短板。以实时计算 Flink 集群的 CPU 资源来看,如下图所示。在集群调度层面所有机器的 CPU 资源分配水位是非常平均的,近乎持平。但在实际的运行过程中,由于调度层面不感知资源的物理使用,使得机器的 CPU 资源使用水位参差不齐,导致部分机器在某一维度的资源快速达到性能瓶颈,进而形成热点机器。为了提高业务集群的稳定性,需要找到集群中的这些热点机器,进行热点分析并解决。但是,寻找热点机器也不仅仅依赖 CPU 指标这一项,内存、吞吐、磁盘等指标也都是判定标准,这么多指标让集群中的机器“横看成岭侧成峰,远近高低各不同”,使得热点机器的定位和分析也变的棘手。于是 SREWorks 数智服务来了,我们以阿里云日志服务(SLS)智能运维微应用的形式对外开放,这次首先推出的【机器画像】功能就是要帮助用户更好的解决热点机器的发现和分析问题。目前 SREWorks 数智服务已完成阿里云核心大数据产品的指标数据接入,用户也可以创建自己的服务实例,按照应用的使用规范,接入指标数据。
聚类分析是机器画像场景的核心功能,基于算法团队的支持,将 SREWorks 尚未开源的算法:多维度聚类,提前开放出来。同时根据指标数据进行算法的自适应优化,用户可以不需要感知复杂的算法参数,得到准确的聚类分析结果。聚类分析可以支持超大规模集群(万级别)的机器分析,主要包括单指标维度的机器热点分析和多指标维度的机器聚类分析。单指标维度的机器热点分析,通过直方图的形式,可以帮助用户快速感知集群的机器分布概况,对集群的机器水位分布有一个整体认识。如下图左侧直方图所示,集群的用户 CPU 使用率整体维持在一个中低区间(<50%)水平,只有 1% 左右的机器 CPU 使用率超过 80%。多指标维度的机器聚类分析,不仅内置了十多个典型的指标场景,用户可以快速进行对比分析;同时也支持自定义指标选择,用户可以按需选择合适的指标,进行聚类分析。我们将多指标维度的聚类结果进行降维,把所有机器放到二维平面,即下图左侧的机器聚类分布散点图,通过该散点图,用户可以直观看到集群机器的聚类分组以及离群机器。中间的雷达图则可以帮助用户进行各个分组(以及离群机器)之间的聚类指标值的对比,用户可以很容易看出各分组间不同指标的差异,从另一层面来讲,这也很好的解释了分组结果的依据。离群机器指标统计表和聚类机器指标统计表则按照单机将具体的指标值进行汇总统计(包括像机器指标当前值、机器所属分组同类平均值、机器所属分组同类最大和最小值、机器所属分组同类中位值等),展示给用户,为用户进一步进行热点机器分析提供数据支持。此外,机器画像场景还包含集群和单机维度的指标汇总和趋势看板,包括 CPU 核数、内存总量、存储总量、CPU 负载、存储使用率、内存使用率以及流量等。最后,我们来看下如何进行数智服务的数据接入以及如何基于数据规范进行数据存储。用户需要拥有阿里云账号,并开通了日志服务(SLS),在日志应用模块的智能运维下找到 SREWorks 微应用,创建服务实例。服务实例创建完成后,可以在实例的数据规范页查看数据规范定义。数据指标主要分成四大类:CPU、MEM、DISK 和 NET,每个分类都定义了一些常用指标,用户可以按需接入相对应的指标数据。有关具体的数据接入方案可以查阅 SLS 用户手册时序存储数据接入说明或者实时计算 Flink 作业开发(SLS 结果表)相关内容。数智服务的后端存储依赖 SLS 的时序存储(Metricstore,兼容 Prometheus 数据),用户在创建数智服务实例后,系统会在关联的 SLS Project 项目下自动创建默认名称为 sw_node_metrics 时序库,后续的指标数据都需要同步到该时序库。数据接入完成后,用户就可以借助机器画像场景的能力,进行机器的热点分析和聚类分析等。__labels__:cluster#$#xyz|hostname#$#sreworks-host-a
__time_nano__:1668646740000000
__value__:96
__name__:cpu_count
数据链路示例:
以上就是 SREWorks 数智服务的机器画像场景的主要功能,相较于 SREWorks 提供的端到端的数智能力解决方案,基于 SLS 的 SREWorks 数智服务微应用以一种轻量化、全托管的方式,将 SREWorks 的数智能力进行对外输出,为用户提供更低的接入使用门槛。当前仅开放机器画像场景,后续会提供更多的运维场景的数智分析能力,包括像根因分析、智能 QA 生成等场景。
SREWorks 开源地址:
https://github.com/alibaba/sreworks
SREWorks 数智服务(日志服务 SLS 微应用) 地址:
https://sls.console.aliyun.com/lognext/app/sre
也欢迎各位加入钉钉群(群号:35853026)分享和交流~
点击“阅读原文”查看 SREWorks 数智服务(日志服务 SLS 微应用) 地址