可观测性
旅遊和交通运輸

Oui.SNCF: 可视化数据以提高子部门效率

At a glance

  • 张票在2016年售出
  • 次的手机应用下载
  • 次的每月访问量

保持优异的商业表现

子部门可以访问 400 个控制面板,让他们能够同步实施追踪 50 个项目并即刻响应发生的各种事件。

自动入侵检测

通过对服务器活动编制索引,Elastic 可以检测间谍机器人和网络攻击,并自动触发应对措施。

几分钟内解决 IT技术问题

以前如果出现问题,通常需要耗费几小时在几十个服务器中搜索查找。现在通过控制面板可以轻松查看服务器日志摘要。

技术团队晋升

技术团队在监控方面做出的成果让子部门受益颇深。鉴于此,技术团队得到了晋升,并成为大数据战略实体。

企业概况

作为法国首屈一指的在线旅游网站和电子商务网站,Oui.sncf 可谓是法国铁路的专业分销渠道。SNCF 子公司在 2016 年的营业额达到了 410 万,这完全要归功于全年 8600 万张的票务销售,高峰期每秒售票高达 40 张。在平均每月接待的 1300 万个人旅客中,63% 的旅客都是通过移动设备访问企业相关服务。V. 应用的下载量已经达到了 1500 万次,同时三分之一的交易都是通过应用完成的。从 IT 角度来看,Oui.sncf 的业务由 4000 台服务器支持,它们分为两个数据中心,隶属于负责技术管理的 Oui.sncf-Technologies 部门。这些服务器包含了销售和企业服务改进的潜在指标。

通过可视化数据提高子部门效率

Oui.sncf 目前使用的控制面板有 400 个,一部分固定在壁挂显示器上显示,以便实时监控业务活动。这一改进能够实施,得益于 Elastic Stack 将公司网站和移动应用的数据编入索引,以及 Kibana 控制面板创建工具。这让子部门可以最大化他们的服务效率。

Oui.sncf 与 Elastic 的合作

Dominique Debruyne 负责管理 Oui.sncf-Technologies 的大数据技术部门。他的当前目标是建立一个技术平台用来发送、存储、归档、处理和恢复最大限度的内部和外部数据源,以更好地了解企业的顾客、进行预测分析以及实施监控信息系统的性能。然而这些都是相对较新的任务。在 Oui.sncf-Technologies 负责研发、托管和部署 IT 工具以满足子部门需求时,Dominique Debruyne 的最初目标是保证关系数据库中存储的结构化数据的 QoS 和 SLA。

“为了简化由于信息系统和应用数量不断增加而变得更复杂的性能监控,我们将服务器日志集中在数据湖中,方便从中导出特定指标。很快我们就发现这个系统对技术团队大有裨益。不仅如此,我们发现还可以将其扩展以满足子部门的需求,同时挖掘它更深入的价值。“大数据”部门就是 2 年半前由此而来。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

Dominique Debruyne 致力于始终都提供最优异的服务,因此希望他的同事和子部门都可以在使用大数据工具时拥有完全的自主权。鉴于此,他选择了用户友好的开源软件,方便适应不同的需求。

Oui.sncf 与 Elastic 的合作过程

挑战:在技术复杂性增加的同时保持高服务质量

Oui.sncf 自 2013 年开始增加服务器,但是这一举动却影响了技术部门和子部门的效率。技术部门为了监控材料的正常运作,而不得不耗费时间将日志下载到 Windows 电脑上。而子部门则会收到一些请求,需要在杂乱无序拓展的 Oracle 数据库中尝试分析商业数据,这让系统速度变慢,子部门深受其困扰。

“在很短的时间内,我们需要横跨几十个到几千个服务器!在我们发展初期,如果客户报告异常,我们需要从数量庞大的日志中查找他们的处理过程,以辨别问题究竟是什么。这特别费时间,而且影响服务质量等级。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

问题解决不及时会让客户体验好感度降低,进而直接影响销售。与此类似,系统速度慢让子部门回应客户请求的数量减少,继而影响业务效率。

解决方案:收集数据,建立索引并通过控制面板进行可视化

移除细分数据的孤岛,并将它们全部放在一个可以生成 PDF 报告的 Hadoop 数据湖是当时提出的解决方法,但依旧不完美:这一方案需要额外的研发,而且对于问题检测过程的速度提升并不理想。于是大数据部门开始寻找能实时清晰明了地查看日志的解决方案。

“我们在技术会议上试图找到可以实时恢复、分析和直观数据可视化的解决方案。会上大家一致同意采用 Elasticsearch,主要是因为以下几个优势:Elasticsearch 是一个平台而不是几种不同的工具;它适用于绝大多数的使用场景;将基础架构开启两次就能使自身容量翻倍的扩展性。当然,方便维护也是原因之一。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

在第一阶段首先安装了开源版本的 Elasticsearch 以索引和查找数据。Kibana(Elastic Stack 工具)是可视化部分的理想选择,优势很明显:故障排除速度极快,解决问题的时间从以前的几小时变为几分钟。从技术层面来讲,解决方案的安装和维护都简单方便。只要坚持执行良好的使用习惯,它就可以保持稳定。

部署:让每个子部门都从中受益

Oui.sncf 现在配备了拥有 20 个服务器,存储 80 TB 数据同时每天摄取 2 TB 新信息的 Elastic Stack 专用集群。这些数据通常保存时间不会超过一个月,通过 Elasticsearch 进行索引,确保在需要时可以搜索到。

“Elastic 平台让子部门可以参与当前展开事件,与事件发生时的情况进行对比以追踪进度。同时这些数据会在 Hadoop 存储 3 年,以备长期商业智能所用。Hadoop 分析以批为单位,而 Elasticsearch 则是实时进行。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

Apache Kafka 自 2017 年起加入架构,它允许峰值负载被吸收,同时防止 Oui.sncf 活动速度变慢。数据摄取目前由 Apache Foundation 开源项目 Flume 托管,但由于普及度降低,将很快由 Apache 的继任者 NiFi 替代。架构设计有利于运行预测分析功能及异常检测(由 X-Pack 提供的 Elastic 机器学习功能支持)。

Dashboard

图表 1:可视化展示显示在多个应用中的网络服务请求数量和类型

考虑到要通过 Kibana 展示可视化,200 名用户就创建控制面板接受了培训,确保子部门可以完全自主研究感兴趣的标准。Dominique Debruyne 说基于筛选条件和时间标准创建 Kibana 控制面板总体来说非常简单。因为实在太简单,这已经成为了最佳实践主题:例如我们建议用户将研究限制为项目的单一名称,这样便无需深入研究所有数据,另外当用户不需要事件最新信息时,也无需刻意设置每 5 分钟自动刷新。

“对于控制面板而言,最重要的工作不是在 Kibana 中进行的,而是事先完成的。我们首先需要对数据进行标准化处理。换言之,要创建包含所有想要追踪的技术和部门信息的日志模板,确保控制面板是基于可以方便交叉检查的相关数据。为此,我们与专业团队合作长达一年,为应用程序员建立了 Java、PHP 和 Python 库,以便在经 Elasticsearch 索引前根据数十个模板建立标准化日志。我们非常高兴能够采用这样专业的做法。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

事实上新项目在研发时会使用预定义模块,子部门可以方便地访问新控制面板而无需大数据部门参与。

成果: 400 个控制面板监控 50 个项目,以及一个独立运作的安全系统

迄今为止,Kibana 已经通过 400 个控制面板运用在 50 多个项目上,每天处理 20 亿份文件。这其中有 200 个控制面板用于日常监控确保服务处于最大水平、查找待改进区域以及清楚掌握活动情况。

“Oui.sncf 为每一个服务都安装了壁挂屏幕用来显示 Kibana 控制面板,让员工可以持续关注他们感兴趣的事件的进程。在这样的可视化彩色代码检查中,如果所有的指标都是绿色的,则证明一切运转正常。如果看到曲线开始下降,我们会去工作站打开交互图表以检查问题所在。”

– Dominique Debruyne, Oui.sncf 大数据部门主管
Kibana and Grafana wall screens

图表 2:Kibana 和 Grafana 壁挂屏幕

Kibana 提供的深入分析让企业的经营战略更加智能,因此便有了将这一概念推向人工智能的想法。目前研发的关注点在于 Oui.sncf 的网络安全。

“Elasticsearch 索引的信息有不同的用途,例如识别任何正在扫描我们网站的机器人,并将它们阻挡在防火墙级别。我们网站近半流量都是来自于这些机器人活动。通过将访问数字分成两部分,我们减轻了网络负载并最终为我们减少支出。同样的,我们还可以检测负载均衡器中的异常情况,自动触发预防措施以免受拒绝服务攻击影响。”

– Dominique Debruyne, Oui.sncf 大数据部门主管
Dashboard

图表 3:通过控制面板可以实时查看 CDN 上的各个应用、服务器和客户的 HTTP 相应量和类型的可视化信息

最后,从个人角度来说,Elastic Stack 让 Dominique Debruyne 的团队更引人注目,成为了有高度战略意义的实体。

“Elastic Stack 带来的可见性是 Oui.sncf 获得商业成功中不可或缺的要素。”

– Dominique Debruyne, Oui.sncf 大数据部门主管

使用的产品

Oui.sncf 集群信息

  • 集群
    10
  • 索引
    > 3,000
  • 节点
    40
  • 查询率
    400000 批次
  • 托管环境
    从组装到产品
  • 副本
    1
  • 文件
    800 亿
  • 时间指数
    每日、每周和每月
  • 总数据量
    80 TB
  • 节点规格
    64 GB - 128 GB,本地存储
  • 日摄取率
    2 TB