客户

SAP Concur:将 Elastic 日志作为一种 DevOps 策略

编者按:随着 Elastic Stack 7.11 的发布,新的告警框架现已正式推出。除了与 Slack PagerDuty 和 ServiceNow 等第三方平台的现有连接器外,7.11 还将 Microsoft Teams 添加到内置告警集成列表中。在我们的告警发布博客中阅读更多关于此次更新的信息。

这篇文章回顾了 Elastic{ON} 2018 上的一次社区演讲。有兴趣观看更多此类演讲吗?请查阅会议档案,或了解 Elastic{ON} Tour 何时来到您附近的城市。

如果您曾经录入过报销单,很可能是通过 SAP Concur 录入的。Concur 拥有超过遍布 150 多个国家及地区的 4,500 万用户(包括财富 500 强的 70%),是顶级的差旅和费用解决方案。仅 2016 年,SaaS 服务就处理了超过 870 亿美元的费用,意味着每天超过 240 万张收据和 1.87 亿美元的发票。这看起来会计项目量很大,但实际上为日志解决方案每天处理的日志条数增加了更多。

Concur 已有 20 多年历史,随着产品线的增长和发展,其日志解决方案也在不断演进。这不仅体现在所采用的技术上,还体现在使用范围和目的上。其日志解决方案最初是基于 SQL 的简单日志存储解决方案,目前则基于 Elastic Stack,有助于促进端到端的应用所有权,并协调开发、测试与运营。未来,Concur 的 LAMA(日志、告警、监控与分析)团队计划使用 Elastic 机器学习进行运营分析和深入洞察,以及实现自动化部署和回滚。他们在日志记录方面取得了巨大飞跃,但从日志存储进化到分析并非一蹴而就。

他们的日志解决方案最初建立在关系数据库上,通过 RabbitMQ 以 XML 形式摄取日志数据,他们的用户喜欢自己可以使用 SQL 轻松查询日志。但是随着该服务越来越受欢迎,使用量也随之增加。随着峰值摄取量增长到 200 GB/天(速率超过 1,500 个文档/秒),该服务达到了极限,基于性能的服务延迟可能会迫使用户等待长达 20 分钟才能在系统中提供日志。作为应对,日志团队所能做的就是将他们的数据库放在更强大的硬件上,这是一个不可持续的过程。他们需要的是水平可扩展性,因此他们着手寻找更好的解决方案。

在研究了 Elasticsearch 并听取了处境相似公司的不同成功案例之后,Concur 选择了 Elastic Stack 作为他们的日志解决方案。它快速、强大、可扩展,而且(可能更重要的是)对他们的内部用户而言,它有一个用户喜爱的可视化组件。以前,不同的团队会构建自己的界面和仪表板,通常需要为完成工作所必须使用的工具支付许可费。借助 Kibana,Concur 有了统一的可视化解决方案,从而无需使用自研或第三方可视化解决方案。

Elastic 的首次部署是使用 Elasticsearch 1.1 和 Kibana 3,数据摄取则来自 Logstash、RabbitMQ(与之前 SQL 解决方案中使用的相同)和 Fluentd。日志团队还能够构建自己的告警插件(这得益于 Elastic 的开源特性),因为 Elastic Stack 中当时还没有现成的告警插件。凭借 Elasticsearch 的高速、Kibana 的可视化功能以及自研 Watcher 插件的告警功能,Concur 的服务采用率大幅提升,数据摄取速度也飙升至每秒 5,000 个文档。这是他们之前的 SQL 解决方案根本无法企及的。

借助 Elastic 从解决方案成长为战略

自最初部署以来,Concur 的日志解决方案随着 Elastic Stack 的发展而不断壮大。2015 年,他们升级到 Elasticsearch 2.3 和 Kibana 4.5,购买了黄金级订阅,并开始使用 Beats(替代 Fluentd)、Watcher(替代他们自研的解决方案)和 Shield(用于安全防护)。他们还构建了另一个自定义插件,这次是一个自定义聚合 UI。随着日志解决方案的改进,其应用范围也随之扩大,到 2017 年,他们的数据摄取速率已达到 60,000 文档/秒(4TB/天)。

在参加了 Elastic {ON} 2017 大会后,Concur 再次升级,这次是为了利用跨集群搜索、增强的安全性(以确保符合 GDPR 法规)以及他们在大会上了解到的其他 Elastic Stack 新功能。借助跨集群搜索,他们能够将原本的单体集群拆分成多个分布在不同区域的小型集群。此次版本升级以及升级到白金订阅,帮助他们构建了如今使用的环境:包含各种数据摄取源、跨多个区域的 Elasticsearch 集群(美国每天处理 5TB 数据),以及供运维人员、SRE、支持人员、高管等人员使用的 Kibana 控制面板。而所有这些都由一个由六名工程师和两名经理组成的 LAMA 团队负责管理。

观看 Elastic @ SAP Concur:引领 DevOps 和端到端所有权之旅Elastic {ON} 2018)。了解 Concur 如何从日志存储转型为所有权赋能。您还将了解到他们如何实现一键式日志服务部署,如何为 200 多个团队配置映射(非动态)和字段,以及他们如何利用 Elastic 机器学习的强大功能。