快速入门:使用 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、Azure 和 GCP 中的 ESS 部署上支持使用 AWS Firehose 收集数据。

先决条件

编辑
  • 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

指标

传输网关

指标

AWS 使用情况

指标

VPN

指标

未分类的 Firehose 日志

日志

收集您的数据

编辑
  1. 在 Kibana 中,转到 Observability UI 并单击 添加数据
  2. 您要监控什么? 下,选择 AWS,然后选择 AWS Firehose

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

可视化您的数据

编辑

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

AWS Firehose dashboards

以下是 VPC 流日志仪表板的示例

AWS Firehose VPC flow

有关其他有用功能的描述,请参阅 什么是 Elastic Observability?