可观测性
媒体和娱乐

株式会社Gurunavi:利用运营效率和高速搜索功能分析海量日志数据

概览

  • 50
    数据库类型
  • 50
    十亿份文档,总数据量
  • 30 TB
    磁盘大小

关于株式会社Gurunavi

自 1996 年 6 月建立餐厅信息网站 Gurunavi 以来,Gurunavi 株式会社一直致力于经营广泛的业务,主要提供有关餐厅和其他类似服务的信息。作为该行业历史悠久的领导者,Gurunavi 拥有约 500,000 家餐厅的庞大列表、58,951 家付费会员餐厅1、每月 6100 万独立用户2 和 1796 万会员3。此外,它还为餐厅提供端到端的支持服务,例如信息通信技术 (ICT) 支持,从而为餐厅顾客和餐厅本身提供额外价值。自 2018 年以来,Gurunavi 开始提供新的客户吸引服务,包括使用社交媒体、将会员 ID 与其乐天 ID 链接,以及 Gurunavi Pay 餐厅无现金支付服务。

普通用户最了解的是可通过智能手机或 PC 查看的 Gurunavi 餐厅信息,但这只是该公司提供的一小部分服务。Gurunavi 的服务包括帮助餐厅进行客户管理的账簿服务和 Gurunavi Pay 多支付服务,所有这些服务都为在餐厅建立 ICT 环境提供了全面的支持。当然,这一切都离不开海量的日志数据。

1:截至 2019 年 9 月 30 日。2:截至 2018 年 12 月。3:截至 2019 年 10 月 1 日。

采用 Elastic 以实现分析海量日志所需的高速搜索

Gurunavi 是日本在线提供餐厅和其他主题信息的先驱,并且在其早期就管理着一个大型 ICT 环境以支持这些服务。显然,这些系统会输出大量的日志数据,而分析这些数据之前需要花费大量时间和人力。

岩本俊明是 Gurunavi 开发部门工程科的副科长。他回忆起当时的情况如下。

“大约在 2016 年,Gurunavi 已经拥有数千台服务器。当出现故障或需要维护时,我们需要直接登录到受影响的服务器来检查日志,使用 grep 命令查找日志,使用 scp 命令将日志临时复制到本地环境,然后处理问题。这个调查过程需要一个多小时才能完成,这意味着我们无法实时响应,并且需要做大量的手动工作,这导致了疏忽和其他粗心大意的错误。随着我们的系统和日志变得越来越大,我们越来越需要一些东西来处理这种工作负载。”

正是在那时,Gurunavi 接触到了两个 Elastic Stack 产品:ElasticsearchKibana

Elastic Stack 通过使用各种提供的产品组件,无需将目标数据下载到本地环境,即可在多个数据源之间进行高速实时搜索。随着公司服务的增加和进步,应用程序之间的 API 调用也变得越来越多。鉴于 Gurunavi 需要分析大量的日志,Elastic Stack 产品确实是满足其需求的最佳解决方案。“当时,市场上绝对没有任何可以被称为竞争对手的产品,我们选择 Elastic 是因为它当时是唯一的选择,”Gurunavi 的岩本先生说。Gurunavi 在 2016 年全面实施了 Elasticsearch 和 Kibana。

实施 Elastic Cloud 以减少版本升级的工作量

在实施几年后的 2018 年末,Gurunavi 开始使用 AWS。

Gurunavi 选择在这个时间点将一些 Elastic Stack 许可证切换到云端,因为这些许可证需要在同一时间续订,并且该公司开始使用 Elastic Cloud 的 Elasticsearch 服务。其目的是在 AWS 环境中实施日志的收集和分析,并减少 Elastic 升级的操作工作量。

“一些用户表示,他们希望使用与 2018 年以来已经习惯使用的高质量 Kibana 界面来查看 AWS Cloudwatch Logs,”岩本先生说。“我们比较了日志数据收集和其他功能与竞争对手的产品,Elastic Cloud 在成本、性能以及始终提供最新版本方面脱颖而出。在实施方面,我们选择使用和 Elasticsearch 。”

Gurunavi 的另一个优先事项是减少升级和类似任务的操作工作量。至关重要的是要避免这些任务过于依赖于某个人的技能,因为岩本先生是唯一具有必要技术专长的员工。“版本更新很频繁,但我实际上是唯一能够处理它们的人,这意味着我一个人承担了巨大的工作量。我认为,通过采用 Elastic Cloud,我们也可以解决这些问题。”

(岩本敏昭,Gurunavi)

通过这种方式,Gurunavi 配备了一个全面的 Elastic 环境,包括本地环境和云环境。

高速搜索所有应用程序和网络设备的日志

Gurunavi 当前的系统处理从所有应用程序和网络设备获取的日志,总计 50 种类型的数据库和 500 亿个文档的总数据量。

对于数据提取,来自本地大容量集群的日志数据使用 Logstash 发送到 Elasticsearch,而云环境(包括容器)中的 Cloudwatch Logs 数据如上所述,从 Functionbeat 发送到 Ingest。[Amazon] S3 数据通过 Logstash 发送到 Elasticsearch。由于可以透明地和跨部门地监控所有日志,因此不仅可以对这些数据进行故障排除,还可以将其用于更具战略意义的用途。

“Gurunavi 是一家服务提供商,这意味着我们处理多种语言。此外,获取的日志数据类型取决于所涉及的应用程序的性质,并且涉及许多索引,”岩本先生说。“开发人员希望跨部门查看所有内容,包括云端。现在已经建立了这个全面的 Elastic 环境,这实际上是可能的。”

快速故障排除、减少操作工作量以及数据的新用途

岩本先生最初基于两点评估了 Elastic Stack 的整体优势。

“首先,过去复制日志数据并手动检查需要一个多小时,而现在这些任务已减少到几秒钟,这极大地提高了我们的效率。这加快了从问题出现到查看问题调查结论的整个过程,并且过程的精度也大大提高。使用提供的 API,日志警报会发送到 Slack 或 Webhook,这使我们能够更快地做出响应。此外,Elastic Cloud 可以以非中断方式升级,而无需进行切换到另一个版本所涉及的繁重工作量,并且始终可以使用最新版本是另一个主要优势。过去,当我几乎完全独自处理升级以及其他工作时,执行升级需要大约五到十天的时间(包括调查)。现在,升级几乎不需要任何时间。”(岩本敏昭,Gurunavi)

同样不可忽视的是,该系统对公司新的入境旅游战略的贡献。

例如,可以使用 Elastic Stack 来提取地理位置数据并可视化网站访问者的位置。“Amazon Cloud Front 是 AWS 中的 CDN 服务,可以使用其日志来查看每个国家/地区的网站访问数据,”岩本先生说。“为什么我们从这个位置获得如此多的访问?为什么从这里获得的访问量如此之少?可以使用这些数据提出此类问题,并深入研究数据以确定,例如,相关内容或服务提供商存在问题。基于此信息,我们可以采取措施来提高内容交付速度,选择发起活动的最佳时机,或者实施其他此类决策,这些决策对于我们入境旅游战略的未来非常有益。”

促成这一直观决策的另一个因素是使用 Vega 可视化图形数据。Kibana 6.2 的一项新功能可以使用 Vega 和 Vega-Lite 来使用 Elasticsearch 数据创建丰富的可视化效果。借助这些可视化效果,用户可以概述从大量数据中提取的信息,并使用它来得出直观的结论。此功能对于非 IT 专家(例如营销或管理部门的员工)也很有用。

在总结实施 Elastic 的好处时,岩本先生表示,“在我们当前复杂的系统环境和相关的海量日志数据的情况下,很难想象一个没有 Elastic Stack 的世界。”

在业务战略中扩展数据的使用

在启用高速日志搜索并使用云减少版本升级的工作量后,Gurunavi 已经开始考虑将 Elastic Stack 用于更具战略意义的用途。

“有了 Elastic 环境和 Elastic Cloud,我们已经从依赖个人技能处理运营事务的限制中解放出来,并且该系统的用途也大大增加了,”岩本先生说。“例如,应用程序端人员创建的仪表板显示了潜在客户随时间推移的转化率与 KPI 的对比。通过最大限度地利用日志数据不仅用于故障排除和其他系统管理相关目的,还用于像这样的业务战略相关目的,我们相信有可能产生更高的价值。”

Gurunavi 继续为客户和餐厅提供高附加值服务。

Elastic Stack 在最大限度地利用总计 500 亿个文档的海量日志数据方面发挥着至关重要的作用,这些数据使得此类服务成为可能。