携程实时智能检测平台建设实践

  • 时间:
  • 浏览:1
  • 来源:万人红黑大战棋牌_万人红黑大战棋牌官网

实时异常检测主要都还都可以从以下几个方面进行判断:

针对规则告警指在的以上几种问题图片,携程构建了我本人的实时智能异常检测平台——Prophet。携程构建Prophet的灵感源于FaceBook的Prophet,但实现上有别于FaceBook的Prophet。

大每段监控平台是基于规则告警实现监控指标的预警。规则告警一般基于统计学,如某个指标同比、环比连续上升或下降到一定阈值进行告警。规则告警都还都可以用户较为熟悉业务指标的行态,从而才能较为准确的配置告警阈值,另有另1个 带来的问题图片是配置规则告警非常繁琐、告警效果也比较差,都还都可以极少量人力物力来维护规则告警。当一有另1个 告警产生时,也都还都可以耗费大伙儿力验证告警是否正确并确认是否都还都可以重新调整阈值。在携程,规则告警还涉及了其它问题图片,比如携程光公司级别的监控平台全是有另1个 ,每个业务部门后会根据我本人的业务需求或业务场景构建我本人的监控平台。携程内部有几个不同规模的监控平台,在每一有另1个 监控平台都配置监控指标对于用户是非常繁琐的。

Prophet在接受到新的监控指标后,便结速英文英文尝试使用Tensorflow训练模型。模型训练都还都可以历史数据,平台都还都可以按照约定好的规范提供历史数据查询接口,Prophet通过接口获取历史数据并进行模型训练、机会没有接口,Prophet基于消息队列中的数据来积累训练数据集。模型训练完成后,将其上传到HDFS,Prophet会更新配置中心中的配置通知Flink有新训练好的模型都还都可以加载。所有实时推送到Kafka后边的监控指标的数值,会同步的落到Prophet的时序数据库中,在异常检测的过程中都还都可以用到那些指标数值。当模型训练完成后,Flink的作业一旦监听到配置指在了更新,就结速英文英文尝试加载新模型,实时消费Kafka后边的指标数据,最终产出检测结果以及异常告警会回写至Kafka,各个监控平台会从Kafka获取我本人监控平台的那一每段告警数据。整套Prophet操作流程对于用户是无感知的,用户只都还都可以配置告警,极大的提供了便捷性。

本次分享主要围绕以下五个方面:

演讲嘉宾简介:潘国庆,携程大数据研发经理。

在做智能检测但是来会遇到好多好多 挑战。

针对以上三点问题图片,携程尝试了RNN,LSTM和DNN等多种深层学习算法。

实际场景下往往会突然出现意想都还都可以 的具体情况。累似 上述10分钟的场景中只获得了9条数据,缺少第有另1个 时刻的数据, Prophet会使用均值标准差补齐此类缺失数据。另外机会在上一有另1个 时刻检测到第6、7、8、9、10时间区间是异常区间,指在了下跌机会上升。没有此区间的数据被认为是不正常的,都还都可以 作为模型输入。此时都还都可以用上一批次模型预测出的第6时刻的值替换原始的第五个时间粒度的值。第2、3、4、5、6这五个时刻值中第4是插补而来的,第6是时间区间训练出来的预测预测值替换掉了异常值。以插补替换但是的值作为模型输入,得到新的预测值7。再依次进行预测。后边过程中异常区间第6、7、8、9、10时刻的预测值都还都可以作为一有另1个 具体情况来存储到Flink StateBackend,后续窗口会使用到那些预测值。

模型加载完成后都还都可以做实时异常检测。首先从Kafka消息队列中消费实时数据。Prophet目前基于Flink Event Time+滑动窗口。监控指标的时间粒度都还都可以分为好多好多 种,如1分钟一有另1个 点、5分钟一有另1个 点、10分钟一有另1个 点等等。累似 基于1分钟一有另1个 点的场景来看,在Flink作业中开一有另1个 窗口,其长度是五个时间粒度,即十分钟。当积累到十条数据时,用前五个数据预测下一有另1个 数据,即通过第1、2、3、4、5五个时刻的数据去预测第五个时刻的数据,却说用第2、3、4、5、6时刻的数据预测第七个时刻的数据。最终获得第6、7、8、9、10五个时刻的预测值和实际值。再利用预测值与实际值进行对比。以上是数据无异常的理想场景下的具体情况。

机会携程做旅游方向的业务,节假日期间问题图片较为突出。不累似 型的业务在节假日的表现是不同的。累似 携程的机票、火车票基本是在节前上升到极少量,到假期期间机会大伙儿出游,该买的票机会购买完成,机票等业务订单量会下降好多好多 。而酒店等业务在节假期间会上升好多好多 。不累似 型业务的趋势不同,上升幅度较大的业务容易产生漏报,对于下跌幅度较大的业务,容易产生误报。

首先,Prophet以时间序列类型的数据作为数据输入。其次,Prophet以监控平台作为接入对象,以去规则化为目标。基于深层学习算法实现异常的智能检测,基于实时计算引擎实现异常的实时检测,提供了统一的异常检测处置方案。

用户只都还都可以在我本人常用的监控平台上挑选配置智能告警,后续所有流程全是由监控平台和Prophet智能告警平台对接完成。监控平台所都还都可以做的含高两件事,首先将用户配置的监控指标同步到Prophet平台, 其次监控平台需将用户配置的监控指标数据实时的推送到Kafka消息队列中。

目前主流的实时计算引擎有Flink、Storm和SparkStreaming等多种,携程挑选Flink作为Prophet平台的实时计算引擎的愿因主却说Flink具备以下四点行态:

携程一般两周发一次版本,每个业务指标全是每两周尝试训练一次,模型输入的训练数据也取两周的数据集。在使用历史数据但是都还都可以做数据预处置,比如历史数据中机会指在null值,都还都可以使用均值标准差将其补齐。其次历史数据区间后边肯定会有好多好多 异常区间,都还都可以用好多好多 预测值替换异常区间的异常值。另外机会节假日期间数据较为错综复杂,都还都可以替换节假日期间的异常值。对历史数据的数据集做数据预处置但是,结速英文英文提取其不一并序的行态机会频率的行态。却说通过一有另1个 分类模型分类出指标是平稳的、非周期的还是周期型的。不累似 型的指标都还都可以不同的模型进行训练。

模型训练完成后,Flink作业都还都可以动态加载模型。但实际场景下,不机会每训练一有另1个 模型便重启一次Flink作业。好多好多 Prophet平台将模型训练完成后上传到HDFS,通知配置中心,却说Flink作业结速英文英文从HDFS上拉取模型。为了使每个模型均匀分布在不同的Task Manager后边,所有监控指标会根据这种id做keyBy,均匀分布在不同的Task Manager上。每个Task Manager只加载我本人每段的模型,以此降低资源消耗。

Prophet基本覆盖了携程所有业务线。即携程的重要业务指标基本都机会在使用监控智能告警。业务类型含高7种。监控指标的数量达到10K+,覆盖了携程所有订单、支付等重要的业务指标,覆盖了大每段服务的重要的业务指标。接入平台在10+左右,基本接入了携程公司所有系统级别的监控平台,在陆续接入各个业务部门我本人的监控平台。Prophet平台才能覆盖95%左右的异常,准确报警率达到75%。机会每个数据同步到Prophet便触发数据实时消费、预测以及告警,告警延迟达到ms级别。告警数量也下降了十倍左右。

节假日应对手段:不同的场景会愿因不同的问题图片,好多好多 Prophet针对节假日场景做了好多好多 特殊处置。首先,维护每年节假日信息表,多多线程 运行一旦发现下一有另1个 节假日还有一有另1个 星期时,Prophet就会提取出过去两年内的不同节假日期间的数据。却说计算前两年的不同节假日和当前节假日数值的累似 度来匹配。相当于以当前节假日的数据拟合过去节假日的数据,拟合到某个时间段时,就知道相当于从某个时间结速英文英文到某个时间结速英文英文是和当前趋势累似 的。但是会用过去多个节假日的数据作为一有另1个 组公司相互合作 为新模型的数据输入去训练数据集。不同节假日的占比不同,通过好多好多 最好的法律方法计算出不同占比值。最终相基于组合的数据集训练出新的模型,新的模型都还都可以比较好地预测出某一有另1个 指标机会某一有另1个 业务在节假期七天之内的趋势。

以下内容根据演讲视频以及PPT收集而成。

https://developer.aliyun.com/live/1790

摘要:本次演讲将为大伙儿介绍携程实时智能异常检测平台——Prophet。到目前为止,Prophet基本覆盖了携程所有业务线,监控指标的数量达到10K+,覆盖了携程所有订单、支付等重要的业务指标。Prophet将时间序列的数据作为数据输入,以监控平台作为接入对象,以智能告警实现异常的告警功能,并基于Flink实时计算引擎来实现异常的实时预警,提供一站式异常检测处置方案。

针对上述问题图片,Prophet正陆续进行改进,希望通过下面几种最好的法律方法处置遇到的挑战。