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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

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

一、时序补点函数

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
      }]
    }
  }]
}
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
机器学习/深度学习 Java 开发工具
机器学习PAI常见问题之export DEBUG=ON 后编译不过如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
机器学习/深度学习 数据采集 传感器
机器学习实战系列[一]:工业蒸汽量预测(最新版本上篇)含数据探索特征工程等
在工业蒸汽量预测上篇中,主要讲解了数据探索性分析:查看变量间相关性以及找出关键变量;数据特征工程对数据精进:异常值处理、归一化处理以及特征降维;在进行归回模型训练涉及主流ML模型:决策树、随机森林,
|
机器学习/深度学习 自然语言处理 资源调度
机器学习实战系列[一]:工业蒸汽量预测(最新版本下篇)含特征优化模型融合等
在进行归回模型训练涉及主流ML模型:决策树、随机森林,lightgbm等;在模型验证方面:讲解了相关评估指标以及交叉验证等;同时用lgb对特征进行优化;最后进行基于stacking方式模型融合。
|
机器学习/深度学习 自然语言处理 数据可视化
时序预测的三种方式:统计学模型、机器学习、循环神经网络
时序预测是一类经典的问题,在学术界和工业界都有着广泛的研究和应用。甚至说,世间万物加上时间维度后都可抽象为时间序列问题,例如股票价格、天气变化等等。关于时序预测问题的相关理论也极为广泛,除了经典的各种统计学模型外,当下火热的机器学习以及深度学习中的循环神经网络也都可以用于时序预测问题的建模。今天,本文就来介绍三种方式的简单应用,并在一个真实的时序数据集上加以验证。
358 0
时序预测的三种方式:统计学模型、机器学习、循环神经网络
|
机器学习/深度学习
机器学习:纯代码版本的线性回归
机器学习:纯代码版本的线性回归
58 0
|
机器学习/深度学习 供应链 算法
智能优化与机器学习结合算法实现时序数据预测matlab代码清单
智能优化与机器学习结合算法实现时序数据预测matlab代码清单
|
SQL 运维 监控
SLS 智能异常分析 APP 时序预测最佳实践
日志服务 SLS 智能异常分析 APP 提供自动化、智能化时序预测能力,可以根据历史数据预测时序指标接下来一段时间的走势。您可以使用指标的走势并配合告警对于系统的潜在风险进行预警,例如当某个指标的预测值超过某个阈值时对运维人员进行告警;另外指标的走势也可以帮助您及时进行决策,例如预测到 CPU 使用率将会持续上升时,及时对系统进行扩缩容。
500 1
|
机器学习/深度学习
【机器学习】假设空间与版本空间
【机器学习】假设空间与版本空间
8155 1
【机器学习】假设空间与版本空间
|
存储 SQL 缓存
SLS时序存储(MetricStore)双十一总结
随着应用架构的演进和云原生的发展,应用系统变得越来越复杂,为了保持系统稳定,对可观测性提出了更高的要求,SLS为此开发了时序存储(MetricStore),支持高可靠性、可拓展性、支持开源生态等优势,并结合SLS原有的采集、数据加工、分析、可视化、告警等能力,形成统一的解决方案。
1137 0
|
机器学习/深度学习 存储 弹性计算
SLS机器学习服务最佳实践:ECS时序指标监控巡检
云服务器ECS是阿里云所提供的性能卓越、稳定可靠、可弹性扩展的IaaS级别云计算服务。使用云服务器ECS可以不用采购IT硬件设备,直接像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。众多业务或服务在ECS上面运行,机器的稳定性对维持服务的稳定性来说尤为关键。本期将为大家介绍利用阿里云SLS(原日志服务),采集ECS的CPU、内存、负载、磁盘、网络等监控数据,并进行智能巡检与异常检测,形成对ECS主机的健康监控大盘,帮助你更好的管理并维护自己的云服务器。
5260 0

相关产品

  • 日志服务