SLS机器学习最佳实践:时序相似性分析

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
云备份 Cloud Backup,100GB 3个月
简介: 阿里云日志服务平台提供了针对DevOps和AIOps相关的一系列工具,涵盖了时序指标数据的异常检测、时序聚类、时序预测等相关方法。为降低使用的门槛,我们将算法整合到SQL中,让用户以最底的成本完成相关的配置。今天为您介绍时序聚类和时序相关性分析的最佳实践使用指南。

一、使用场景

今天给大家介绍几个好用的时序相似性分析函数,具体涉及到的函数包含:时序的聚类,相似性计算等。主要解决的场景如下:

  • 当您有N台机器的监控指标数据时,想快速知道在某一段时间机器的CPU形态的大致呈现哪些形态,便于用户更好的了解当前系统的状态;
  • 当您指定某一台机器的某指标曲线时,您想知道哪些机器的相同指标与当前指定的曲线更加相似;
  • 当您人工输入一条时序曲线(网站整体的访问延迟曲线),您想知道是哪个服务的访问延时的变化规律同当前指定的曲线十分相似,便于缩小问题的排查;
    上述场景问题均可以归纳成,时序聚类(按照形态、按照数值),时序相似性判别这两个问题。

二、函数介绍

SLS平台提供了两个函数供大家使用,具体的文档地址可以参考下:https://help.aliyun.com/document_detail/93235.html

ts_density_cluster
ts_hierarchical_cluster

其中第一个函数主要是针对曲线的形态进为标准进行聚类,其底层的核心聚类算法是DBSCAN密度聚类;第二个函数主要针对针对原始曲线的相似性进行聚类,更多的会考虑曲线之间的欧式距离等因素,其底层的核心聚类算法是层次聚类;具体的原理介绍可以参考之前的文章,大家也可以去网上查阅相关资料自行阅读。接下来主要给大家介绍下在SLS中该怎么使用这些函数。

三、案例实战

3.1 数据探索

  • query-01
* | select DISTINCT index_name, machine, region from log
  • query-02
* | select count(1) as num from (select DISTINCT index_name, machine, region from log)
  • query-03
* and index_name : load | 
select 
  __time__, 
  value, 
  concat(
    region, '#', machine, '#', index_name
  ) as ins 
from log order by __time__ 
limit 10000
  • query-04
* 
and index_name : load | 
select 
  date_trunc('minute', __time__) as time, 
  region, 
  avg(value) as value 
from log group by time, region order by time limit 1000

通过query01我们可以得到对应的如下信息,这里表明我们我们当前的logstore中含有多少不同的曲线,每个曲线的标识是什么,为了更好的观察这1300多条线,我们可以使用流图来观察,一次性在一个图表中绘制出来对浏览器资源消耗也比较大,及时能绘制出来,也很难从这里得到有效的信息。我们使用query04来看下在少数曲线的情况下的可视化情况。在来对比下query03可视化的效果。
image.png

image.png

image.png

3.2 聚类实战

通过上述的观察,我们能否将若干条曲线进行聚类呢,将较为相似的曲线划分到一类中,在进行可视化分析,进而打到降维分析的目的。使用如下SQL可以将N条线快速的聚类,在这里我们选择的指标是机器的负载(load)还是比较关注不同机器的水位的变化情况,因此我们可以选择ts_hierarchical_cluster这个函数,我们得到一张分面图,为了更加直观的可视化这个图表,您可以将其存储在Dashboard中更加直观。

* 
and index_name : load | 
select 
  ts_hierarchical_cluster(time, value, ins) 
from 
  (
    select 
      __time__ as time, 
      value, 
      concat(
        region, '#', machine, '#', index_name
      ) as ins 
    from 
      log
  )

image.png

3.2 相似性查找

通过如下SQL,我们可以获得到跟 aysls-pub-cn-beijing-k8s#192.168.7.254:9100#load 这条指标曲线相似的机器的列表,并通过如下的流图进行可视化,观察我们的结果。在相似性函数中含有一些相似性判别的方法供大家选择:shape、manhattan、euclidean

* 
and index_name : load | 
select 
  cast(
    cast(ts_value as double) as bigint
  ) as ts_value, 
  cast(ds_value as double) as ds_value, 
  name 
from 
  (
    select 
      tt[1][1] as name, 
      tt[2] as ts, 
      tt[3] as ds 
    from 
      (
        select 
          ts_similar_instance(
            time, value, ins, 'aysls-pub-cn-beijing-k8s#192.168.7.254:9100#load', 
            10,
            'euclidean'
          ) as res 
        from 
          (
            select 
              __time__ as time, 
              value, 
              concat(
                region, '#', machine, '#', index_name
              ) as ins 
            from 
              log
          )
      ), 
      unnest(res) as t(tt)
  ), 
  unnest(ts) as t(ts_value), 
  unnest(ds) as t(ds_value) 
order by 
  ts_value 
limit 
  10000

image.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习模型中特征贡献度分析:预测贡献与错误贡献
本文将探讨特征重要性与特征有效性之间的关系,并引入两个关键概念:预测贡献度和错误贡献度。
190 3
|
18天前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
34 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
22天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1585 14
|
7天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
24 1
|
16天前
|
机器学习/深度学习 数据可视化 数据挖掘
机器学习中空间和时间自相关的分析:从理论基础到实践应用
空间和时间自相关是数据分析中的重要概念,揭示了现象在空间和时间维度上的相互依赖关系。本文探讨了这些概念的理论基础,并通过野火风险预测的实际案例,展示了如何利用随机森林模型捕捉时空依赖性,提高预测准确性。
28 0
机器学习中空间和时间自相关的分析:从理论基础到实践应用
|
22天前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
23 4
|
23天前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
38 2
|
27天前
|
机器学习/深度学习 数据可视化 算法
机器学习中的回归分析:理论与实践
机器学习中的回归分析:理论与实践
|
27天前
|
机器学习/深度学习 数据采集 算法
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
【Python篇】从零到精通:全面分析Scikit-Learn在机器学习中的绝妙应用
33 2
|
18天前
|
机器学习/深度学习 数据挖掘
二、机器学习之回归模型分析
二、机器学习之回归模型分析
68 0

相关产品

  • 日志服务