可观测性
旅游与运输

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

概览

  • 86
    2016 年售出百万张车票
  • 15
    百万次移动应用程序下载
  • 13
    每月百万访客

保持卓越的商业表现

子部门可以访问 400 个仪表板,使他们能够实时跟踪 50 个项目,并对出现的任何事件立即做出响应。

自动检测入侵

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

在几分钟内解决 IT 事件

过去,每当发生事件时,都需要花费数小时在数十台服务器中进行搜索。现在,我们只需使用提供服务器日志摘要的仪表板即可。

技术团队的晋升

子部门今天受益的所有监控都直接归功于技术运营团队的工作。因此,它已获得晋升,并成为一个大数据战略部门。

公司概览

作为法国第一大在线旅游网站,甚至是法国第一大电子商务网站,Oui.SNCF 是法国铁路的专业分销渠道。这家 SNCF 子公司在 2016 年实现了 410 万欧元的营业额,这得益于每年售出 8600 万张车票,高峰时段每秒售出 40 张车票。平均每月接待 1300 万独立访客,其中 63% 的访客通过移动设备访问该公司的服务。其 V. 应用程序已下载 1500 万次,三分之一的交易是通过该应用程序完成的。在 IT 方面,Oui.SNCF 的业务由 4000 台服务器支持,这些服务器分布在两个数据中心,由负责技术管理的 Oui.SNCF 分支机构管理。这些服务器充满了用于改进销售和业务服务的潜在指标。

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

Oui.SNCF 目前使用 400 个仪表板,其中一些仪表板永久显示在墙壁屏幕上,以便实时监控其业务活动。这一改进不仅得益于 Elastic Stack 对公司网站和移动应用程序数据的索引,还得益于 Kibana 的仪表板创建功能。这使子部门能够最大限度地提高其服务的性能。

Oui.SNCF 使用 Elastic 的经验

Dominique Debruyne 负责 Oui.SNCF-Technologies 的大数据技术部门。他目前的目标是构建一个技术平台,用于发送、存储、归档、处理和恢复最大数量的内部和外部数据源,以便更好地了解公司的客户、进行预测性分析并实时监控信息系统的性能。然而,这些都是相对较新的任务。Oui SNCF-Technologies 负责开发、托管和部署 IT 工具以响应子部门的需求,因此 Dominique Debruyne 最初的目标实际上是保证存储在关系数据库中的结构化数据的服务质量 (QoS) 和服务级别协议 (SLA)。

为了简化性能监控(由于信息系统和应用程序的数量不断增加,性能监控变得越来越复杂),我们将服务器的日志集中到一个数据湖中,然后我们可以从中得出特定的指标。该系统很快被证明对技术团队非常有价值,并且很明显,将其进一步扩展以满足子部门的需求并从中获得更多价值是有意义的。这就是大数据团队在两年半前诞生的原因。

– Dominique Debruyne, Oui.sncf 大数据部门主管
为了始终提供最佳的服务质量,Dominique Debruyne 希望他的同事和子部门能够完全自主地使用大数据工具。因此,他选择了用户友好且开源的软件,这些软件可以轻松地适应用户的需求。

Oui.sncf 与 Elastic 的旅程

挑战:在 IT 复杂性增加的情况下保持高质量的服务

在 Oui.sncf,从 2013 年开始服务器的增加对技术团队和子部门的效率都产生了负面影响。技术团队为了监控设备的正常运行,不得不花费时间在 Windows 桌面上下载日志。与此同时,子部门在尝试分析其庞大的 Oracle 数据库中的商业数据时,经常会遇到请求导致系统变慢的问题。

在很短的时间内,我们的服务器就从几十台增加到了几千台!在早期,一旦客户向我们提出异常,我们就需要在大量的日志中搜索他们的流程,以便准确地找出问题所在。这花费了我们时间,并对我们的服务水平质量构成了风险。

– Dominique Debruyne, Oui.sncf 大数据部门主管
任何问题解决的延迟都可能对客户体验产生影响,从而构成销售方面的风险。同样,子部门经常遇到的速度缓慢问题损害了他们响应客户请求的能力,从而影响了他们的商业效率。

解决方案:收集数据、索引数据并通过仪表板可视化数据

为了解决这些问题,我们想出了一个办法,即将数据从划分数据的孤岛中移除,并将所有数据都放入 Hadoop 数据湖中,从中可以提取 PDF 报告。但问题是:这个解决方案需要额外的开发,并且并没有充分加快问题检测过程。因此,大数据团队开始寻找一种能够实时清晰地查看日志的解决方案。

我们参加了技术会议,以寻找一种能够实时恢复、分析和直观地可视化数据的解决方案。使用 Elasticsearch 的决定获得了一致同意。我们看到了它的一些优点:它是一个独特的平台,而不是多种不同的工具;它可以承受大多数不同的使用场景;它的可扩展性很强,只需将基础设施部署两次即可使其容量自行翻倍;并且它最终非常易于维护。

– Dominique Debruyne, Oui.sncf 大数据部门主管
在第一阶段,安装了 Elasticsearch 的开源版本,用于索引和研究数据。对于可视化部分,Kibana(Elastic Stack 的一部分)似乎是一个显而易见的选择。好处立竿见影:故障排除速度如此之快,以至于解决问题的时间从几个小时缩短到了几分钟。在技术层面,该解决方案易于安装和维护。只要遵守良好的使用习惯,它就会保持稳定。

部署:允许每个子部门找到自己的兴趣点

现在,Oui.sncf 配备了专门的 Elastic Stack 集群,该集群包含 20 台服务器,存储 80 TB 的数据,并且每天接收 2 TB 的新信息。这些数据通常最多保留一个月,由 Elasticsearch 索引,目的是搜索兴趣点。

Elastic 平台使子部门能够与当前发生的事件进行交互,将它们与前几天的事件进行比较,以跟踪它们的进展。同时,这些数据在 Hadoop 中存储三年,用于长期的商业智能目的。Hadoop 中的分析按批次进行,而 Elasticsearch 可以帮助我们实时完成分析。

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

自 2017 年以来,该架构已通过 Apache Kafka 进行了丰富,这有助于吸收峰值负载并防止 Oui.sncf 的活动出现任何减速。数据本身的摄取目前委托给 Flume,这是一个 Apache 基金会开源项目。由于其受欢迎程度下降,它应该很快被其 Apache 继任者 NiFi 取代。该架构旨在促进预测分析功能和异常检测,后者借助 X-Pack 中提供的 Elastic 机器学习功能实现。

Dashboard

图 1:可视化显示向多个应用程序公开的 Web 服务上的请求数量和类型

关于使用 Kibana 进行可视化,已经培训了 200 名用户来创建仪表板,以便子部门可以完全自主地研究他们感兴趣的标准。Dominique Debruyne 说,基于过滤器和时间标准创建 Kibana 仪表板总体上非常简单。事实上,它非常简单,以至于它已成为最佳实践的主题:例如,我们建议用户将其研究限制在其项目的单个名称,以免不必要地深入研究所有数据,或者甚至预先设置每五分钟自动刷新一次,而用户无需在最近的秒内对事件做出反应。

关于仪表板,最大的努力不是发生在 Kibana 中,而是事先进行的。我们首先需要对数据进行标准化:换句话说,开发包含我们要跟踪的所有技术和部门信息的日志模板,以便我们的仪表板基于可以轻松交叉检查的连贯数据。为此,我们与一个专门的团队合作了一年,为我们的应用程序开发人员制作 Java、PHP 或 Python 库,这些库将根据十几个模板生成标准化的日志,然后再由 Elasticsearch 进行索引。我们很高兴采取了这种专业的处理方法。

– Dominique Debruyne, Oui.sncf 大数据部门主管
实际上,当开发新项目时,会使用预定义的模型,并且子部门可以非常简单地为它们授予新的仪表板,而无需大数据团队进行干预。

结果:50 个项目由 400 个仪表板监控,安全系统可以自行运行

迄今为止,Kibana 已用于 50 多个项目,通过 400 个仪表板每天处理 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
  • 查询率
    400,000 次(按批次)
  • 托管环境
    从组装到生产
  • 副本
    1
  • 文档
    800 亿
  • 基于时间的索引
    每日、每周和每月
  • 总数据大小
    80 TB
  • 节点规格
    64 GB - 128 GB,本地存储
  • 每日摄取率
    2 TB