使用 Amazon Data Firehose 监控 Amazon Web Services (AWS)

编辑

使用 Amazon Data Firehose 监控 Amazon Web Services (AWS)编辑

Amazon Data Firehose 是一种流行的服务,它允许您在几分钟内将服务日志发送到 Elastic,而无需编写任何代码,也无需构建或管理您自己的数据提取和传送基础设施。

您将学到什么编辑

在本教程中,您将学习如何

  • 在 Kibana 中安装 AWS 集成
  • 在 Amazon Data Firehose 中创建传送流
  • 为您的 Firehose 流指定目标设置
  • 将数据发送到 Firehose 传送流

准备工作编辑

使用我们在 Elastic Cloud 上托管的 Elasticsearch Service 在 AWS 区域(包括政府云)中创建部署。该部署包括用于存储和搜索数据的 Elasticsearch 集群,以及用于可视化和管理数据的 Kibana。

步骤 1:在 Kibana 中安装 AWS 集成编辑

  1. 安装 AWS 集成以将索引模板、提取管道和仪表板加载到 Kibana 中。在 Kibana 中,导航到侧边栏中的 管理 > 集成。通过浏览目录找到 AWS 集成。
  2. 导航到 设置 选项卡,然后单击 安装 AWS 资源。在弹出窗口中单击 安装 AWS 进行确认。
  3. 在 Kibana 中安装 Amazon Data Firehose 集成资源。

步骤 2:在 Amazon Data Firehose 中创建传送流编辑

  1. 转到 AWS 控制台 并导航到 Amazon Data Firehose。
  2. 单击 创建 Firehose 流 并选择 Firehose 流的源和目标。除非您要从 Kinesis Data Streams 流式传输数据,否则请将源设置为 Direct PUT,并将目标设置为 Elastic
  3. 提供一个有意义的 Firehose 流名称,以便您以后可以识别此传送流。

对于高级用例,可以通过调用自定义 Lambda 函数来转换源记录。使用 Elastic 集成时,不需要这样做。

步骤 3:为您的 Firehose 流指定目标设置编辑

  1. 目标设置 面板中,指定以下设置

    • Elastic 端点 URL:输入 Elasticsearch 集群的 Elastic 端点 URL。要查找 Elasticsearch 端点,请转到 Elastic Cloud 控制台并选择 连接详细信息。以下是它的示例:https://my-deployment.es.us-east-1.aws.elastic-cloud.com
    • API 密钥:输入编码的 Elastic API 密钥。要创建 API 密钥,请转到 Elastic Cloud 控制台,选择 连接详细信息,然后单击 创建和管理 API 密钥。如果您正在使用具有 限制权限 的 API 密钥,请确保查看索引权限,以便至少为将与此传送流一起使用的索引提供“自动配置”和“写入”权限。
    • 内容编码:为了提高网络效率,请将内容编码保留为 GZIP。
    • 重试持续时间:确定在发生错误时 Firehose 继续重试请求的时间。60-300 秒的持续时间应该适合大多数用例。
    • 参数:

      • es_datastream_name:此参数是可选的,可用于设置将存储文档的数据流。如果未指定此参数,则默认情况下数据将发送到 logs-awsfirehose-default 数据流。
      • include_cw_extracted_fields:此参数是可选的,可以在使用 CloudWatch 日志订阅筛选器作为 Firehose 数据源时设置。设置为 true 时,将收集由订阅筛选器中的筛选器模式生成的提取字段。设置此参数可能会在每个记录中添加许多字段,并可能显着增加 Elasticsearch 中的数据量。因此,应仔细考虑此参数的使用,并且仅在需要提取字段进行特定过滤和/或聚合时才使用。
      • set_es_document_id:此参数是可选的,可以设置为允许 Elasticsearch 为每个文档分配随机 ID 或为每个文档使用计算的唯一 ID。默认为 true。设置为 false 时,将为每个文档使用随机 ID,这将有助于提高索引性能。

        1. 备份设置 面板中,建议为失败的记录配置 S3 备份。然后可以配置工作流以自动重试失败的记录,例如使用 Elastic Serverless Forwarder

步骤 4:将数据发送到 Firehose 传送流编辑

您可以配置各种日志源以直接将数据发送到 Firehose 流,例如 VPC 流量日志。某些服务不支持将日志直接发布到 Firehose,但它们支持将日志发布到 CloudWatch 日志,例如 CloudTrail 和 Lambda。有关更多信息,请参阅 AWS 文档

例如,将 CloudTrail 日志发送到 Firehose 的典型工作流程如下

有关 Amazon Data Firehose 的更多信息,您还可以查看 Amazon Data Firehose 集成文档