Improving the GoDaddy User Experience with Elastic Machine Learning | Elastic Blog
用户案例

Elastic Machine Learning 帮助改善 GoDaddy 的用户体验

这篇文章回顾了在 Elastic{ON} 2018 活动上发表的社区演讲。想了解更多这样的讲座吗?查看会议档案或了解 Elastic{ON} Tour 何时会到您附近的城市举办。

GoDaddy 是著名的网络托管和域名注册公司,因为最近几年凡看过超级碗比赛的人都看过这家公司的广告。该公司有超过 170 万客户,管理着 7,500 万个域名和超过 1,000 万个托管网站,同时他们对大数据也可谓深谙此道。要保证网站正常运行,必须拥有针对每个基础设施的深刻洞见,从虚拟服务器补丁级别,到偶尔的网络故障,再到恶意攻击,都必须尽在掌握之中。由于每秒收到的消息(DNS 查询、系统日志、业务活动,等等)数量超过 20 万条,所以这肯定是一项艰巨的工作,但是面对如此大规模的数据量,Elastic Stack 仍能确保速度,并圆满完成这项任务。

GoDaddy 使用 Elasticsearch 的历程与其他使用开源软件的公司十分相似。公司内很多不同的团队都设置了各自的集群,来满足自己的具体需求。这的确能完成任务,但是这种疏于管理的部署模型却也有很大弊端,那就是他们使用数百个运行着各种 Elasticsearch 版本的集群来分析彼此隔离的数据。在知道有更好的方法后,他们于 2014 年组建了一个团队来管理 Elasticsearch 的部署工作。这个团队目前管理着 60 多个 Elasticsearch 集群,涉及 700 多个 Docker 容器,全公司各个团队的数据源都汇集到这里。这些集群包含超过 270 TB 的数据,这些数据均来自他们的 HDFS 环境(11 PB)。

他们新成立 Elasticsearch 团队最初的用例之一即是管理整个生态系统中补丁的合规性。在 2014 年(那时 Beats 尚未推出),GoDaddy 开发出了 Windows 和 Linux 代理(与 AuditbeatWinlogbeat 类似)以将系统数据发送至 Elasticsearch。在他们的所有服务器(裸机和虚拟机)上都安装这些代理后,GoDaddy 能够获得关于整个基础设施的补丁水平和合规性的宝贵洞见。此外,通过利用 Kibana 内的不同仪表板和可视化,他们不仅能轻松地向管理员和工程师提供细粒度的补丁信息,还能向企业高管提供高屋建瓴的业务报告;由于能够访问一模一样的集中式数据,所有人都能理解一致。

维护服务器补丁水平十分重要,因为只有这样才能保证网站流量不断流动,而这一流动恰可以帮助吸引用户。如果网站加载速度慢,访客就会前往别的网站。所以,为了给数以百万计的用户打造卓越体验,GoDaddy 深知他们需要跟踪数据中心的运行表现,还需要了解这些表现对访客造成了哪些影响。他们已经拥有需要的全部数据(因为他们系统的每个组件都会产生日志),但是他们需要一种方式来整体查看。

集中式日志,结合用以检测异常状况的 Machine Learning

GoDaddy 需要将各种各样的性能和互动数据集合集中起来进行分析,Elastic Stack 正好能够满足这一需求。通过将 NetFlow 数据、sFlow 数据、真实用户体验 (RUM) 以及对等连接关系和路由数据发送至 Elasticsearch,他们能够获得有关用户体验和系统表现数据的详细得多的视图——只有同时分析所有不同的数据源,才能达到这种详细程度。从那时起,GoDaddy 在 Elastic Machine Learning 功能的帮助之下,开始更进一步利用那些数据。

能够将堆积如山的系统数据集中到一起固然很好,但要想跟踪问题却仍是个难题。GoDaddy 会跟踪用户的每次点击操作和网站互动,但是由于在全球范围有数百万个网页,没有任何手工操作团队能够完全筛查全部这些数据。幸运的是,借助 Elastic Machine Learning 功能,他们轻松便能完成异常检测工作。通过与 Elastic 的 Machine Learning 专家通力协作,GoDaddy 得以实施专注于 RUM 的 Machine Learning 作业,从而大大简化了异常检测工作。

“说到整体的工作量,一定要充分利用您的 Elastic 团队。他们能够给予极大的帮助。 我们双方之间的合作十分密切,会经常沟通,他们会就所有更新提供完全透明的沟通信息,当你止步不前时,可以向他们求助。 他们在这一方面的表现真的很棒。” - Felix Gorodishter,GoDaddy 首席架构师

通过指定页面加载时间阈值以及有关页面流量的参数,GoDaddy 团队会让 Elastic Machine Learning 功能学习何为正常状况、何为异常状况,然后无论何时出现问题,都能借助此功能得到通知。Machine Learning 能够剔除无用信息,从而让团队专注于重要事务。

想了解 GoDaddy 是如何借助 Elastic Machine Learning 功能来监测所托管网站性能的吗?欢迎观看 GoDaddy 实际案例分享:为什么说大数据洞见就是金钱(Stories from the Trenches at GoDaddy: How Big Data Insights Equal Big Money,Elastic{ON} 2018 活动上的演讲)。您可以从中一窥他们通过哪些有趣的方式来使用 Machine Learning,以监测与产品采用率有关的业务 KPI,还可以了解它们在这一过程中收获的经验教训。