开发者社区> 悟冥> 正文

SLS机器学习介绍:时序补点和版本比较

简介:
+关注继续查看

本次给大家介绍两个实用的函数:时序补点函数、异常对比函数;

一、时序补点函数

image
image

  • 上图的中的指标说明

    • 日志事件事件 T0 :日志产生的最早事件
    • 日志事件事件 T1 :日志产生的最晚事件
    • 实际点数据:在某个时刻有确定的数据
    • 缺失点数据:在某个时刻缺失数据点
    • 补点数据:在不同算法执行结果中,补出的数据

1. time_series

2. series_padding

二、版本对比函数

2. 使用场景

2.1 某个服务升级
  • 该场景可以总结为是单个观测对象,在比较升级前后某个观测指标的变化异常情况
  • 需要提供的数据如下:
  • 某个指标的时序观测数据
  • 某服务变更时的时间点

例子如下:某个服务复杂在某个集群做了一次变更,变更时间是 2020-04-20 07:59:00,在这个时间点后,我们发现该集群的请求延时升高很多,相关研发同学也许就要紧急处理。那么是否有办法可以通过一个函数自动的帮我帮我判别变更前后,观测对象的指标是否发生变化。

  • 先通过SQL整理出观察数据,观察出设定的异常点数值
* |
SELECT date_trunc('minute', __time__ - __time__ % 60) AS TIME,
       avg(Latency) AS Latency
FROM log
GROUP BY TIME
ORDER BY TIME
LIMIT 10000

image
我们使用对应的函数进行检测:

* |
SELECT anomaly_compare(TIME, array[ Latency ], 1587340740, 60)
FROM
  (SELECT __time__ - __time__ % 60 AS TIME,
          avg(Latency) / 1000.0 AS Latency
   FROM log
   GROUP BY TIME
   ORDER BY TIME)
{
  "results": [{
    "attribute": "column_0",
    "score": 0.9999840724556095,
    "details": {
      "left": [{
        "key": "mean",
        "value": 248.79610181477835
      }, {
        "key": "std",
        "value": 41.9981113960846
      }, {
        "key": "median",
        "value": 236.34852017385737
      }, {
        "key": "variance",
        "value": 1763.8413608379317
      }],
      "right": [{
        "key": "mean",
        "value": 294.9041720361495
      }, {
        "key": "std",
        "value": 47.074409675083004
      }, {
        "key": "median",
        "value": 299.6439639513877
      }, {
        "key": "variance",
        "value": 2216.0000462575485
      }]
    }
  }]
}
2.2 灰度发布升级
  • 该场景可以总结为在集群中灰度服务时,观察不通灰度对象之间的异常差别
  • 需要提供的数据如下:

    • 可以标示具体机器的发布状态的标签字段
    • 相同观测指标
      例子如下:某基础的存储服务在做版本升级时,往往会进行逐步的灰度操作,在选择几台机器先进行灰度,然后观察后在进行整体的升级发布,在做这个操作前是需要将对发布机器的指标状态做相关的判别,确定是否已经符合预期?是否同其它相同服务的机器的指标有较大差异?或者是否这个版本在线上是有有明显的性能提升?

这时我们把问题转换成部分的观测对象之间的相同观测指标数据之间的比较问题。

  • 针对这个场景,我们先想数据进行达标(这里我模拟一个打标的场景,通过请求延时的大小来确定标签)
* |
SELECT date_trunc('minute', __time__ - __time__ % 60) AS TIME,
       avg(Latency) / 100000.0 AS Latency,
       label
FROM
  (SELECT __time__,
          Latency,
          CASE
              WHEN Latency > 1500000.0 THEN 1
              ELSE 0
          END AS label
   FROM log)
GROUP BY TIME,
         label
ORDER BY TIME
LIMIT 10000

image

* |
SELECT anomaly_compare(TIME, array[ Latency ], array[ 'Latency' ], label)
FROM
  (SELECT __time__ - __time__ % 60 AS TIME,
          avg(Latency) / 100000.0 AS Latency,
          label
   FROM
     (SELECT __time__,
             Latency,
             CASE
                 WHEN Latency > 1500000.0 THEN 1
                 ELSE 0
             END AS label
      FROM log)
   GROUP BY TIME,
            label
   ORDER BY TIME)
{
  "results": [{
    "attribute": "Latency",
    "score": 0.981385450748068,
    "details": {
      "left": [{
        "key": "mean",
        "value": 2.083975172731342
      }, {
        "key": "std",
        "value": 0.26912348059219504
      }, {
        "key": "median",
        "value": 2.0386681871982004
      }, {
        "key": "variance",
        "value": 0.07242744780605757
      }],
      "right": [{
        "key": "mean",
        "value": 36.19678922429
      }, {
        "key": "std",
        "value": 6.139164754357247
      }, {
        "key": "median",
        "value": 37.03196953882403
      }, {
        "key": "variance",
        "value": 37.68934388114228
      }]
    }
  }]
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
soufun使用次数统计,搜房网房源自动刷新程序 -- 测试版本,Dev.QQ 1205878060
soufun使用次数统计,搜房网房源自动刷新程序 -- 测试版本,Dev.QQ 1205878060  
630 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
18682 0
x3d
Virtools脚本语言(VSL)介绍
最近天气炎热,实在没有东西可写,把以前翻译的一点东西搬出来,凑数,见谅各位。   概述 VSL (Virtools脚本语言)是一种强大的脚本语言,通过提供对Virtools SDK的脚本级访问能力,用于作为Virtools图形化脚本编辑器的补充。
768 0
Apache Flink 1.9.0版本新功能介绍
摘要:Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。目前,Apache Flink 1.9.0版本已经正式发布,该版本有什么样的里程碑意义,又具有哪些重点改动和新功能呢?本文中,阿里巴巴高级技术专家伍翀就为大家带来了对于Apache Flink 1.9.0版本的介绍。
2517 0
+关注
悟冥
日志服务给您提供完整的日志采集、分析功能
28
文章
1
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
相关文档: 混合云容灾服务 混合云备份服务 日志服务
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载