使用 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,还是自管型环境。
开始使用
在本节中,我们将逐步学习如何使用 Dataflow 模板来分析 Elastic Stack 中的 GCP 审计日志。
审计日志包含的信息可以帮助您回答 Google Cloud 账户中发生的运行变更的“地点、方式和时间”问题。通过我们的 Pub/Sub 模板,您可以将审计日志从 GCP 流式传输到 Elasticsearch,并在几秒钟内收集到见解。
我们将从直接在 Kibana 网页 UI(用户界面)安装 Elastic GCP 集成开始,该 UI 包含预构建的仪表板、采集节点配置和其他资产,这些资产可以帮助您获取所采集的大部分审计日志。
在配置 Dataflow 模板之前,您必须从 Google Cloud 控制台创建一个 Pub/Sub 主题和订阅,在这个控制台中您可以从 Google Operations Suite 发送日志。
接下来,导航到 Google Cloud 控制台来配置我们的 Dataflow 作业。
在 Dataflow 产品中,单击“Create job from template”(从模板创建作业),并从 Dataflow 模板下拉菜单中选择“Pub/Sub to Elasticsearch”(从 Pub/Sub 到 Elasticsearch)。
填写所需的参数,包括您的 Cloud ID 和用于 Elasticsearch 的 Base64 编码的 API 密钥。因为我们是流式传输审计日志,所以添加“audit”(审计)作为日志类型参数。Cloud ID 可以从 Elastic Cloud UI 中找到,如下所示。可以用 Create API key API 创建 API 密钥。
单击“Run Job”(运行作业),等待 Dataflow 执行模板,大约需要几分钟。正如您所见,您无需离开 Google Cloud 控制台或管理代理!
现在,导航至 Kibana 在 [logs GCP] (日志 GCP)仪表板中查看已解析和可视化的日志。
总结
Elastic 不断努力,使客户更容易、更顺畅地根据需要选择部署位置并使用所需功能,与 Google Cloud 的这种简化集成就是该理念的最新实例。Elastic Cloud 延伸了 Elastic Stack 的价值, 让客户的可用操作更多、更快,使它成为体验我们平台的最佳方式。欲知更多关于集成的信息,请访问 Google 的文档资料。要即刻体验 Google Cloud 上的 Elastic,请访问 Google Cloud Marketplace 或 elastic.co。