在Yunyun和DevOps的研发模型的挑战下,系统将在整个开发,测试和在线过程中生成许多日志,指标,事件和警报。BIG挑战赛。此问题主要讨论最佳的问题基于质量构造的练习,基于大量日志和计时数据。
众所周知,在云本地发展模式下,观察是非常重要的部分。它使我们能够通过数据,指标,跟踪和其他数据来理解系统的操作状态和健康状况。在CNCF景观大地图中,观察力也占据了相当大的位置。
但是,在实际使用过程中,许多人对观察性的关注主要集中在系统启动之后。当然没有问题,但实际上,从系统开发到在线操作,可以对其进行评估和测量质量从观察到的角度来看系统。我们可以称其为对质量观察的观察
下图比较了系统质量观察的全部生命周期。通常可以将其分为四个阶段,如下所示,在每个阶段需要特别注意的一些数据和指标:
在整个质量观察生命周期中,除了各种数据外,我们还将涉及各种系统,例如Gitlab,Sonarqube,Sonarqube,Allure,Jmeter,Jmeter,Jenkins,Travis CI,Argo CD等。这些不同的系统在不同的阶段,在不同的阶段,这将产生大量的异质数据。如何合理地管理和使用这些数据,以便它可以轻松地挖出数据值(不限于软件的质量)。我们是一个巨大的挑战。
根据上述讨论,我们通常可以总结一些质量观察的痛点:
1个大量数据管理疼痛点
首先,让我们讨论第一个疼痛点,即如何管理大量的异质数据。在目前,可观察到的相关系统是多种多样的。
例如,日志可能使用麋鹿或splunk,指示器将使用Prometheus,Trace使用Skywalking,Jaeger或Zipkin。但是太多的选择不一定是好的。在这种情况下,观察到的数据的管理为我们带来了以下疼痛点:
基于上述疼痛点,我们的解决方案均匀存储并管理这些异质数据,如下图所示:
在这里,我们将所有数据(例如日志,指示器,迹线和其他数据)连接到统一的观察存储中。基于此统一存储,随后的查询分析,可视化,监视警报,AI和其他上层功能,甚至数据处理和规律性,甚至是规律性,一个停机是完成异质数据转换为均匀数据的转换过程。
基于统一存储,我们可以构建统一查询并分析语法,以适应不同的数据,并在不同数据之间进行联合查询。也是可能的。如下图所示,基于标准SQL,我们进行了一些DSL扩展和SQL函数扩展,并与PROMQL结合,因此不同类型的数据查询和分析变得统一。
例如,以下示例:
基于上述统一的数据存储和查询分析,我们可以轻松实现统一的可视化和监视。,我们可以构建一个统一的声明,以查看每个阶段的软件质量,以及Asisriform的监视配置和警报管理,而无需分散这些不同的系统,与ES + Kibana,Prometheus + Grafana的组合断开连接。
1传统监控的困难和挑战
接下来,让我们看一下如何根据这些数据使监视更加智能。大多数传统监视都是基于一些固定阈值,或者在 - 板上相同的。但是在许多情况下,此模型中有许多问题。例如:
2个智能检查
基于上述疼痛点,我们提出了一项智能检查计划。它具有以下优势:
在某些数据波动的情况下,指标没有固定的阈值(例如用户访问,外卖订单量等),可以很好地反映智能检查的优势。例如,指示器本身显示周期性的波动。如果启动了新版本,由于错误,网络流量异常抖动。如果您根据固定阈值进行判断,则目前很难在指示器值的上限和下限内找到问题。但是根据智能检查,它可以轻松确定这是一个异常点。
3智能检查实施想法
智能检查的基本思想如下:
我们使用无监督的学习算法自动识别实体的数据特征,根据数据特征选择不同的算法组合,并对数据流的真实时间建模进行对实时建模进行建模。或误解警报),不断优化训练监督模型以提高监视的准确性。
目前,我们使用了两种算法,它们的比较如下:
1个警报管理疼痛点
在质量观察的完整生命周期中,将产生大量警报。如下所示:
由此引起的问题是:
2警报智能管理
我们可以通过警报智能管理来解决上述问题,如下图所示:
警报智能降噪包括以下机制:
动态分布包括以下功能:
另一个是值班和代理机制。在正常情况下,警报不会发送给所有负责人,而是在旋转时值班。由于有值班班,您还必须考虑需要替代的特殊场景。例如,在某人值班时,由于某事,让另一个人检查值班。并交出了第一个工作日。
基于上述讨论,完整结构的完整图表如下:
通过将日志,序列,跟踪,事件等等数据连接到统一的观察存储,它可以实现统一的功能和分析,可视化和其他功能。基于此,可以实现统一的监视和警报管理,因此,安全性和其他角色。此外,它还支持其他系统(例如Prometheus,Grafana,Zabbix等),直接通过开放警报功能的功能直接提醒统一管理警报。
未来的展望:
随着上述步骤的持续构建和改进,人们相信,对质量的观察和控制将越来越在人性化,自动化和智力的方向上。
关联:
1. CNCF景观地址:https://landscape.cncf.io/
2.用进化状态图预测时间服务:https://dl.acm.org/doi/pdf/10.11437963441827
作者|沉默的
来源|阿里技术公共帐户