快速入门:使用 AWS Firehose 收集数据

编辑

快速入门:使用 AWS Firehose 收集数据

编辑

此功能处于技术预览阶段,可能会在将来的版本中更改或移除。Elastic 将努力解决任何问题,但技术预览中的功能不受正式 GA 功能的支持 SLA 的约束。

在本快速入门指南中,您将学习如何使用 AWS Firehose 将日志和指标发送到 Elastic。

AWS Firehose 流是使用 CloudFormation 模板创建的,该模板可以收集 AWS 帐户中所有可用的 CloudWatch 日志和指标。

此方法需要最少的配置,因为 CloudFormation 模板会创建 Firehose 流,启用跨所有命名空间的 CloudWatch 指标收集,并设置 CloudWatch 日志组的帐户级订阅过滤器,以便通过 Firehose 将日志发送到 Elastic。您可以使用 AWS CLI 命令或将模板上传到 AWS CloudFormation 门户来自定义以下参数值

必需的输入参数
  • ElasticEndpointURL:Elastic 端点 URL。
  • ElasticAPIKey:Elastic API 密钥。
可选输入参数
  • HttpBufferInterval:Kinesis Firehose HTTP 缓冲间隔(以秒为单位)。默认为 60
  • HttpBufferSize:Kinesis Firehose HTTP 缓冲区大小(以 MiB 为单位)。默认为 1
  • S3BackupMode:Amazon S3 中的源记录备份,仅失败数据或所有数据。默认为 FailedDataOnly
  • S3BufferInterval:Kinesis Firehose S3 缓冲间隔(以秒为单位)。默认为 300
  • S3BufferSize:Kinesis Firehose S3 缓冲区大小(以 MiB 为单位)。默认为 5
  • S3BackupBucketARN:默认情况下,将创建一个用于备份的 S3 存储桶。您可以通过提供现有 S3 存储桶的 ARN 来覆盖此行为,以确保如果记录处理转换未产生预期结果,则可以恢复数据。
  • Attributes:HTTP 端点的属性名称-值对列表,用逗号分隔。例如“name1=value1,name2=value2”。
特定于指标的可选输入参数
  • EnableCloudWatchMetrics:启用 CloudWatch 指标收集。默认为 true。启用 CloudWatch 指标收集后,默认情况下将创建一个指标流,其中包含来自所有命名空间的指标。
  • FirehoseStreamNameForMetrics:用于收集 CloudWatch 指标的 Amazon Data Firehose 流的名称。默认为 elastic-firehose-metrics
  • IncludeOrExclude:选择要流式传输的指标。您可以包含或排除特定命名空间和指标。如果没有给出过滤器命名空间,则默认为所有命名空间。默认为 Include
  • MetricNameFilters:用于从流中过滤指标的命名空间-指标名称对的逗号分隔列表。如果没有给出指标名称过滤器,则默认为所有命名空间和所有指标。例如“AWS/EC2:CPUUtilization|NetworkIn|NetworkOut,AWS/RDS,AWS/S3:AllRequests”。
  • IncludeLinkedAccountsMetrics:如果您在监控帐户中创建指标流,请指定 true 以将来自链接到此监控帐户的源帐户的指标包含在指标流中。默认为 false
  • Tags:要应用于指标流的标签的逗号分隔列表。例如“org:eng,project:firehose”。
特定于日志的可选输入参数
  • EnableCloudWatchLogs:启用 CloudWatch 日志收集。默认为 true。启用 CloudWatch 日志收集后,将为所有 CloudWatch 日志组(除为 Firehose 日志创建的日志组外)创建帐户级订阅过滤器策略。
  • FirehoseStreamNameForLogs:用于收集 CloudWatch 日志的 Amazon Data Firehose 流的名称。默认为 elastic-firehose-logs

某些 AWS 服务需要额外的手动配置才能正确摄取日志和指标。有关更多信息,请查看 AWS 集成 文档。

使用 AWS Firehose 收集数据在 AWS、Azure 和 GCP 中的 ESS 部署中受支持。

先决条件

编辑
  • Elastic Cloud 上使用我们的托管 Elasticsearch 服务进行部署。部署包括用于存储和搜索数据的 Elasticsearch 集群,以及用于可视化和管理数据的 Kibana。
  • 具有 superuser 内置角色 或联机数据所需的权限的用户。

    展开以查看所需的权限
    • 集群: ['monitor', 'manage_own_api_key']
    • 索引: { names: ['logs-*-*', 'metrics-*-*'], privileges: ['auto_configure', 'create_doc'] }
    • Kibana: { spaces: ['*'], feature: { fleet: ['all'], fleetv2: ['all'] } }
  • 一个活动的 AWS 帐户以及创建传递流所需的必要权限。

默认的 CloudFormation 堆栈是在为用户帐户选择的 AWS 区域中创建的。此区域可以通过 AWS 控制台界面修改,或者在创建堆栈时通过 AWS CLI 命令中指定 --region 参数来修改。

限制

编辑

AWS Firehose 接收器具有以下限制

  • 它不支持 AWS PrivateLink。
  • 它不适用于本地 Elastic Stack 部署。
  • CloudFormation 模板仅检测和摄取单个 AWS 区域内的日志和指标。

下表显示了受支持的 AWS 服务摄取的数据类型

AWS 服务 数据类型

VPC 流日志

日志

API 网关

日志、指标

CloudTrail

日志

网络防火墙

日志、指标

Route53

日志

WAF

日志

DynamoDB

指标

EBS

指标

EC2

指标

ECS

指标

ELB

指标

EMR

指标

MSK

指标

Kinesis 数据流

指标

Lambda

指标

NAT 网关

指标

RDS

指标

S3

指标

SNS

指标

SQS

指标

Transit 网关

指标

AWS 使用情况

指标

VPN

指标

未分类的 Firehose 日志

日志

收集您的数据

编辑
  1. 在 Kibana 中,转到 可观测性 并单击 添加数据
  2. 选择 AWS,然后选择 AWS Firehose

    AWS Firehose entry point
  3. 单击 在 AWS 中创建 Firehose 流 以从 CloudFormation 模板创建 CloudFormation 堆栈。
  4. 返回 添加可观测性数据 页面。

可视化您的数据

编辑

安装完成后,所有相关数据都流入 Elastic 后,“可视化您的数据”部分允许您访问各种服务的不同仪表板。

AWS Firehose dashboards

以下是以 VPC 流日志仪表板为例

AWS Firehose VPC flow

请参阅 什么是 Elastic 可观测性? 以了解其他有用功能的说明。