可观测性
媒体和娱乐

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服务进行非现金支付。

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

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

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

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

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

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

正是在那时,Gurnavi 偶然发现了两个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 升级的操作工作量。

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

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

(岩本利昭,Gurnavi)

这样,Gurnavi 就拥有了一个全面的 Elastic 环境,包括本地和云端。

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

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

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

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

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

岩本先生最初根据两点评估了 Elastic Stack 的总体优势。

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

系统对公司新的入境旅游战略的贡献也无法忽视。

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

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

岩本先生总结了实施 Elastic 的好处,他指出“在我们当前复杂的系统环境和相关的海量日志数据下,无法想象一个没有 Elastic Stack 的世界。”

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

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

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

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

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