使用 Google Dataflow 直接将数据从 Google Pub/Sub 采集到 Elastic 中

今天,我们很高兴地宣布与 Google Cloud 持续发展的合作关系的最新进展。现在,开发人员、站点可靠性工程师 (SRE) 和安全分析人员只需在 Google Cloud 控制台中点击几下,就可以从 Google Pub/Sub 采集数据到 Elastic Stack。通过使用 Google Dataflow 模板,Elastic 可以轻松地将 Google Cloud 服务(如 Google Cloud 审计、VPC 流或防火墙)中的事件和日志流式传输到 Elastic Stack 中。这有助于客户简化他们的数据管道体系结构,消除运行开销,并减少故障排除所需的时间。

许多使用 Google Cloud 开发应用程序和建立其基础架构的开发人员、SRE 和安全分析人员也利用 Elastic Stack 排除、监测和识别安全异常。Google 和 Elastic 合作提供了一种易于使用、无障碍的方式,从 Google Cloud 服务中的应用程序和基础架构中采集日志和事件至 Elastic。所有这些都是可行的,只需要在 Google Cloud 控制台中点击几下,而不需要安装任何数据采集器。   

在这篇博文中,我们将介绍如何使用 Google Dataflow 实现从 Google Pub/Sub 到 Elastic Stack 的无代理数据采集。

省略运行开销

Pub/Sub 是一种常用的无服务器异步消息传递服务,用于来自于 Google Operations(前身为 Stackdriver)的流数据,使用 Google Cloud 服务构建的应用程序或涉及流数据集成管道的其他用例。要将 Google Cloud 审计、VPC 流或防火墙日志采集到第三方分析解决方案(如 Elastic Stack),需要首先将这些日志发送到 Google Operations,然后发送至 Pub/Sub。  一旦日志在 Pub/Sub 中, Google Cloud 用户必须确定采集方法,以将存储在 Google Pub/Sub 中的消息发送给第三方分析解决方案。

Google 和 Elastic 用户共同使用的一个常用选项是在 Google Compute Engine VM(虚拟机)上安装 Filebeat、Elastic Agent 或 Fluentd,然后使用其中一个数据采集器将数据从 Pub/Sub 发送到 Elastic Stack。配置 VM 和安装数据采集器会产生流程和管理开销。所以省略这一步,直接从 Pub/Sub 采集数据到 Elastic 的功能对许多用户来说就很有价值,特别是当这一操作在 Google Cloud 控制台中点击几下就可以完成时,更加显得意义非凡。现在,通过 Google Dataflow 中的下拉菜单就可以实现这一操作。

简化数据采集

Google Dataflow 是一种基于 Apache Beam 的无服务器异步消息传递服务。Dataflow 可以代替 Filebeat 直接从 Google Cloud 控制台发送日志。Google 和 Elastic 团队合作开发了一个开箱即用型 Dataflow 模板,可将日志和事件从 Pub/Sub 推送到 Elastic。这个模板取代了轻量型处理,比如以前由 Filebeat 以无服务器的方式完成的数据格式转换,以前使用 Elasticsearch 采集管道的用户无需做其他更改。          

下面简要介绍了数据采集流程。这种集成适用于所有用户,无论他们使用的是 Elastic Cloud 上的 Elastic Stack、Google Cloud Marketplace 中的 Elastic Cloud,还是自管型环境。

blog-gcp-integration-pubsub-1.png

开始使用

在本节中,我们将逐步学习如何使用 Dataflow 模板来分析 Elastic Stack 中的 GCP 审计日志

审计日志包含的信息可以帮助您回答 Google Cloud 账户中发生的运行变更的“地点、方式和时间”问题。通过我们的 Pub/Sub 模板,您可以将审计日志从 GCP 流式传输到 Elasticsearch,并在几秒钟内收集到见解。 

我们将从直接在 Kibana 网页 UI(用户界面)安装 Elastic GCP 集成开始,该 UI 包含预构建的仪表板、采集节点配置和其他资产,这些资产可以帮助您获取所采集的大部分审计日志。 

在配置 Dataflow 模板之前,您必须从 Google Cloud 控制台创建一个 Pub/Sub 主题和订阅,在这个控制台中您可以从 Google Operations Suite 发送日志。

blog-gcp-integration-pubsub-2.png

接下来,导航到 Google Cloud 控制台来配置我们的 Dataflow 作业。 

在 Dataflow 产品中,单击“Create job from template”(从模板创建作业),并从 Dataflow 模板下拉菜单中选择“Pub/Sub to Elasticsearch”(从 Pub/Sub 到 Elasticsearch)。

blog-gcp-integration-pubsub-3.png

填写所需的参数,包括您的 Cloud ID 和用于 Elasticsearch 的 Base64 编码的 API 密钥。因为我们是流式传输审计日志,所以添加“audit”(审计)作为日志类型参数。Cloud ID 可以从 Elastic Cloud UI 中找到,如下所示。可以用 Create API key API 创建 API 密钥。

blog-gcp-integration-pubsub-4.png

blog-gcp-integration-pubsub-5.png

单击“Run Job”(运行作业),等待 Dataflow 执行模板,大约需要几分钟。正如您所见,您无需离开 Google Cloud 控制台或管理代理!

现在,导航至 Kibana 在 [logs GCP] (日志 GCP)仪表板中查看已解析和可视化的日志。

blog-gcp-integration-pubsub-6.png

总结

Elastic 不断努力,使客户更容易、更顺畅地根据需要选择部署位置并使用所需功能,与 Google Cloud 的这种简化集成就是该理念的最新实例。Elastic Cloud 延伸了 Elastic Stack 的价值, 让客户的可用操作更多、更快,使它成为体验我们平台的最佳方式。欲知更多关于集成的信息,请访问 Google 的文档资料。要即刻体验 Google Cloud 上的 Elastic,请访问 Google Cloud Marketplaceelastic.co