异常检测是智能运维系统中的重要环节,日志服务推出机器学习服务,用于时序数据智能巡检。本文介绍时序数据智能巡检的背景信息、业务痛点以及日志服务机器学习服务的功能点。
背景信息
异常检测是智能运维系统中的重要环节,在云平台上巡检各个服务的时序指标成为监控服务质量的重要手段。在云平台上,系统和服务的指标项多、时序形态丰富、异常类型难以枚举,依靠人工规则来做异常检测很难达到预期效果。同时,现有的巡检方法基本采用通过SQL语句发起机器学习函数的方式,拉取部分数据做模型训练。在海量的时序数据下,输出结果反应延迟、成本昂贵,很难充分学习数据特征。
日志服务机器学习服务采用流式学习方式,将机器学习函数智能化,让模型在历史数据流上不断记忆,充分学习数据特征、实时反馈,进一步降低使用门槛。您只需发起机器学习服务,配置一定的告警阈值,即可实现对时序数据的实时智能巡检。
实际业务痛点
- 指标太多
- 监控对象太多
- 阈值参数太多
在时序数据监控场景中,您往往先确定监控对象,并通过其历史数据,结合业务经验,得到不同组的阈值参数,再通过各种手段(同比、环比、连续触发等)进行监控。针对一个监控对象,往往需设计4~5条监控规则,并配置不同的参数,而且各个参数阈值无法快速复用到不同的类似观测对象中。当观测对象的规模达到数千,甚至上万后,传统的配置方式效率低,无法满足监控大规则时序数据需求。

例如使用Logtail采集Kubernetes宿主机的秒级时序数据,将数据写入到日志服务中,然后您需要根据人工经验对这份数据进行聚合和采样,提取出如下8个常用指标,配置分钟粒度的流式告警。
观测指标 | 指标名称 |
---|---|
系统态CPU使用百分比 | cpu_sys |
CPU空闲时IO请求时间 | cpu_iowait |
用户态CPU使用百分比 | cpu_user |
内存使用情况 | mem_usage |
存储空间使用情况 | disk_usage |
使用的文件描述符的个数 | fd |
网络包重传数量 | retrans |
系统负载 | load |
流式算法具有天然的优势可以解决上述问题,您只需要开启机器学习服务即可,算法模型自动拉取数据完成实时训练、实时反馈,即来一个点,学习一个点,检测一个点。在极大的降低成本的同时,实现对每一条线的单独建模、单独分析和模型参数单独保存,实现时序异常检测的千线千面。

功能介绍
日志服务团队结合目前国际主流的流式异常检测算法,包括随机树、HTM、Skyline等流式算法和Time2Graph等最新时序建模方法,自研两大流式巡检功能:流式统计算法异常检测和流式图算法异常检测。
两种功能分别采用不同类型的算法,对指标时序进行异常检测,您可以根据您的精度需求,选择合适的巡检功能完成时序智能巡检,详情请参见机器学习服务。
- 流式统计算法异常检测主要采用核密度估计等统计学习算法,进行常规精度异常检测。
- 流式图算法异常检测主要采用Time2Graph等图学习算法,进行高精度异常检测。
拓展内容请参见AAAI 2020: 时序转化为图用于可解释可推理的异常检测、基于数据流的异常检测:Robust Random Cut Forest、SLS机器学习最佳实践:时序异常检测。
在文档使用中是否遇到以下问题
更多建议
匿名提交