使用 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 服务在 AWS 区域(包括政府云)中创建一个部署。该部署包括一个用于存储和搜索您的数据的 Elasticsearch 集群,以及一个用于可视化和管理您的数据的 Kibana。

步骤 1:在 Kibana 中安装 AWS 集成
编辑
  1. 安装 AWS 集成以将索引模板、摄取管道和仪表板加载到 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 密钥,请务必查看索引权限,以便为此交付流使用的索引提供至少“auto_configure”和“write”权限。
    • 内容编码:为了提高网络效率,请将内容编码设置为 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 的典型工作流如下:

  • 将 CloudTrail 日志发布到 Cloudwatch 日志组。请参阅有关 发布 CloudTrail 日志 的 AWS 文档。
  • 在 CloudWatch 日志组中创建指向 Firehose 流的订阅筛选器。请参阅有关 使用订阅筛选器 的 AWS 文档。

我们还添加了使用 Firehose 将 CloudWatch 监控指标发送到 Elastic 的支持。例如,您可以通过 CloudWatch 创建指标流来配置指标摄取。您可以通过选择使用 Firehose 进行自定义设置选项来选择现有的 Firehose 流。有关更多信息,请参阅有关 使用 Firehose 进行自定义设置 的 AWS 文档。

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