28、利用数据挖掘收集洞察

利用数据挖掘处理分布式跟踪数据

利用数据挖掘收集洞察

1. 数据挖掘的重要性

分布式跟踪数据为我们的分布式系统提供了丰富的信息。即使检查单个跟踪也能帮助工程团队理解性能问题并找出根本原因。然而,即使采用低采样率,互联网规模的软件系统每天仍可能记录数百万甚至数十亿条跟踪数据。如果不利用这些数据,实在是一种浪费。我们可以构建数据挖掘工具来处理这些数据,创建有用的聚合,发现模式、异常和相关性,并提取通过查看单个跟踪无法发现的洞察。

使用聚合数据的一个重要原因是避免被可能是离群值的一次性跟踪所误导。例如,如果发现某个跟踪中某个跨度的延迟非常高,是否值得进行调查和调试呢?如果该延迟为 15 秒,但该服务的整体 99.9% 延迟仍在 1 秒以内,那么追逐这个随机离群值可能会浪费大量工程时间,而它可能对系统服务级别目标 (SLO) 没有影响。从聚合数据(如延迟直方图)开始调查,并缩小到已知代表某类情况的几个跟踪,是更好的工作流程。

2. 特征提取

可能的聚合和数据挖掘方法的数量可能仅受工程师创造力的限制。一种非常常见且相对容易实现的方法是“特征提取”。它是指对完整跟踪进行处理,计算一个或多个值(称为特征)的过程,这些特征无法从单个跨度中计算得出。特征提取显著降低了数据的复杂性,因为我们将跨度的大型有向无环图 (DAG) 简化为每个跟踪的单个稀疏记录,各列代表不同的特征。以下是一些跟踪特征的示例:
- 跟踪的总延迟
- 跟踪开始时间
- 跨度数量
- 网络调用数量
- 根服务(入口点)及其端点名称
- 客户端类型(Android 应用或 iOS 应用)
- 延迟细分:CDN、后端、网络、存储等
- 各种元数据:客户端调用的来源国家、处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值