写点什么

Elastic Stack 发布新版本支持机器学习

  • 2017-05-08
  • 本文字数:2199 字

    阅读完需:约 7 分钟

Elastic 今日在其官方博客,发布了最新版本的 Elastic Stack 5.4.0 Beta,其中最重要的新特性是对机器学习的支持。

机器学习正在渗透到各行各业,搜索领域也不例外。Elastic 今天发布的机器学习新特性,并非一蹴而就,而是源于去年的一桩收购案——2016 年 9 月 15 日, Elastic 宣布收购 Perlert 。Perlert 是一家创立于 2008 年的用户行为分析技术提供商,在无监督机器学习技术方面积累了丰富的实践经验。Elastic 在该文章中称经过 7 个月的努力,成功把 Perlert 的无监督机器学习技术集成到 Elastic Stack,并作为 X-Pack 的一员,在最新的 5.4.0 Beta 版本中发布。

下文翻译自 Elastic 官方博客的文章 Introducing Machine Learning for the Elastic Stack ,原作者为 Steve Dodson ,翻译已获得授权。

博客全文:

我们很荣幸地在今天发布首个支持机器学习特性的 Elastic Stack 版本,该特性位于 X-Pack 中。加入 Elastic 就如登上宇宙飞船(译者注:指 2016 年 9 月 Perlert 公司加入 Elastic),经过 7 个月的努力工作,我们激动地宣布 Perlert 机器学习技术现已全部集成到 Elastic Stack,并真诚地期待用户的反馈意见。

注:也别太过激动,请留意该功能尚处于 5.4.0 版本的 Beta 阶段。

关于机器学习

我们的目标在于,让用户通过工具从自己 Elasticsearch 数据中获取价值和洞察力,同时我们认为机器学习对于 Elasticsearch 中的搜索和分析能力来说是一个很自然的延伸。比如你可以在 Elasticsearch 的海量数据中实时查询用户“steve”的交易记录,或者通过聚合和可视化功能来展示销量 top10 的产品,或者交易量随时间的变化趋势。而现在,借助机器学习你能更进一步来分析,比如“有哪项服务的行为改变了吗?”或者“我们的主机上有异常进程在运行吗?”这些问题,要求使用机器学习技术所需的数据,来自动构建出主机或服务的行为模型。

但机器学习目前在软件业是过热概念之一,因为根本上来讲,就是一系列用于数据驱动预测、决策支持以及建模的算法和方法。因此消除这些噪声,来介绍下我们所做的具体事情显得更为重要。

时间序列数据的异常检测

今天发布的 X-Pack 机器学习特性,旨在通过无监督机器学习提供“时间序列数据异常检测”的能力。

未来我们计划增加更多的机器学习功能,但目前专注于,针对在 Elasticsearch 中存储时间序列数据,比如日志文件、应用和性能指标数据、网络流量或者金融 / 交易数据等的用户,提供附加价值。

示例 1——关键性能指标异常波动的自动告警

这项技术的最直接应用是,识别一个度量值或事件比率何时偏离了常规行为模式。比如,服务的响应时间是否显著增加?或者预期的网站访问用户数是否与往日同一时段明显不同?这类分析通常都会用到规则、阈值或简单统计模型。遗憾的是,这些简单方法对于实践中的数据来说都很低效,因为它们往往依赖不合理的统计假设(比如高斯分布),所以并不适用于趋势分析(长期或周期性的)或信号极易改变的情况。

因此,对于机器学习特性第一个可以切入的,就是单指标作业,由此可以了解该产品如何学习正常模式,以及如何识别单变量时间序列数据中的异常模式。如果所发现的异常是有意义的,就可以持续地实时运行该分析,并在异常发生时告警。

虽然这看起来只是一个比较简单的应用案例,但产品背后却有着大量的无监督机器学习算法和统计模型,因此对任意信号都有鲁棒性和精确性。

为了在 Elasticsearch 集群中能更本地化地运行,我们对实现也做了优化,因此百万级的事件可以在秒级完成分析。

示例 2——数千指标的自动化追踪

机器学习产品能扩展到数十万指标和日志文件,所以下一步就是同时分析多个指标;可能会是一个主机相关的多个指标、一个数据库或应用的性能指标、或者多个主机的多个日志文件。这种情况下可以简单地分区分析,并把结果聚合到一个透视窗口中用于展示整个系统的异常。

假设有一个大型应用服务的响应耗时数据,就能简单地分析每个服务随时间的响应耗时变化,并识别单个服务的异常行为,同时也能提供整个系统的异常视图:

示例 3——高级作业

最后,还有大量的更高级方式来使用该产品。比如,如果想查找与人群相比有异常行为的用户、异常的 DNS 流量或者伦敦道路上的交通拥堵,高级作业提供了一种灵活的方式,来分析 Elasticsearch 中的任何时间序列数据。

与 Elastic Stack 集成

机器学习是作为 X-Pack 的一个特性发布的,这意味着安装了 X-Pack 之后,就可以利用机器学习特性来实时分析 Elasticsearch 中的时间序列数据。Elasticsearch 集群会自动化地分配和管理机器学习作业任务,基本上跟对待索引和分片一样;这也就意味着,机器学习作业可以从节点故障中快速恢复。从性能的角度,紧密集成意味着数据从来无需离开集群,我们能依赖 Elasticsearch 聚合功能显著地提升某些作业类型的性能。紧密集成的另一个好处是,可以从 Kibana 直接创建异常检测作业并查看结果。

因为数据能现场分析而无需离开集群,所以相对于集成 Elasticsearch 数据到外部数据科学工具,这种方式有着明显的性能和维护优势。随着我们在该领域开发的技术越来越多,这种架构的优势将会愈加明显。

了解最新版本 Elastic Stack: https://www.elastic.co/cn/

查看英文原文 Introducing Machine Learning for the Elastic Stack


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-05-08 19:001944

评论

发布
暂无评论
发现更多内容

一文详解特权访问管理(PAM)

SEAL安全

安全 访问权限 访问管理 特权访问

Groovy语境下的Map

FunTester

用Rust编写的Linux内核GPU驱动程序,或将到来

非凸科技

Linux gpu rust 编程语言

35岁程序员危机,有何破解之法?

博文视点Broadview

阿里大佬 推荐的 “ Spring Cloud Alibaba项目文档 ” 正式发布

冉然学Java

Java 微服务 Spring Cloud Alibaba

一对一直播系统源码——多人语音聊天室

开源直播系统源码

直播系统源码 语音直播系统 一对一直播视频源码 一对一语音直播

DBPack 数据库限流熔断功能发布说明

峨嵋闲散人

分布式事务 云原生 分库分表 dbmesh Database Mesh

最常见的 10种网络安全攻击类型

郑州埃文科技

网络安全 IP地址 网络攻击

SpringBoot 日志的各种使用姿势,你真的用对了吗?

程序知音

Java spring 程序员 springboot 后端技术

以合规交易释放数据“红利”,合合信息旗下启信宝签约福建大数据交易所首批数商

合合技术团队

数据 峰会

一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离

MySQL 高并发 经验分享 签约计划第三季 8月月更

为什么不做APP而要做小程序

源字节1号

小程序开发

增强分析在百度统计的实践

百度Geek说

数据库

基于RocksDB实现高可靠、低时延的MQTT数据持久化

EMQ映云科技

物联网 mqtt RocksDB emqx 8月月更

开源 | WLock:高可用分布式锁设计实践

开源 分布式 分布式锁

《数字经济全景白皮书》银行业数字普惠金融发展与优化策略分析 发布

易观分析

金融 数字经济全景白皮书 易观分析

前端监控系列2 |聊聊 JS 错误监控那些事儿

字节跳动终端技术

APM 前端监控 火山引擎 JS错误

微服务性能分析|Pyroscope 在 Rainbond 上的实践分享

北京好雨科技有限公司

Kubernetes 微服务 云原生

Kotlin协程解析系列(上):协程调度与挂起

vivo互联网技术

kotlin 协程

Java 泛型 T,E,K,V,,傻傻分不清?

TimeFriends

8月月更

测试开发【Mock 平台】09 开发:项目管理(五)搜索、删除和Table优化

MegaQi

测试平台开发教程 8月月更

为什么电商云产品需要 Assisted Service Module (ASM) 模块的支持

汪子熙

typescript 电商 SAP 8月月更 Storefront

人手一套的K8S命令集合,它来了!

wljslmz

云计算 Kubernetes 容器 8月月更

推荐一款微软出品的开发神器,体验不输IDEA!(含参考资料和项目源码)

收到请回复

面试 springboot 应届生 金九银十 java项目实战分享

StarRocks 技术内幕 | 基于全局字典的极速字符串查询

StarRocks

数据库

寻找OpenHarmony「锦鲤」|万元豪礼+技术干货全是你的!

OpenHarmony开发者

OpenHarmony

多原则等于无原则,微服务识别方法究竟该怎么选?

老坛架构

架构 微服务

干货!这份阿里P8大佬纯手打总结Kafka学习笔记,真是yyds

了不起的程序猿

Java kafka java程序员 消息中间件 Java 开发

属实不赖!Alibaba开源GitHub星标114K微服务架构全彩进阶手册

冉然学Java

Java 阿里巴巴 开源 微服务 微服务架构

DAPP和APP有哪些区别?多链跨链NFT铸造挖矿dapp系统开发技术原理分析

开发微hkkf5566

连流量染色都没有,你说要搞微服务?

得物技术

架构 微服务 云原生

Elastic Stack发布新版本支持机器学习_语言 & 开发_杨振涛_InfoQ精选文章