监控 Kinesis Data Firehose CloudWatch 指标 - Amazon Kinesis Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控 Kinesis Data Firehose CloudWatch 指标

Kinesis Data Firehose 与Amaz CloudWatch 指标,以便您可以收集、查看和分析 CloudWatch您的 Kinesis Data Firehose 传输流传输流的指标。例如,您可以监控IncomingBytesIncomingRecords指标,用于跟踪从数据创建器进入Kinesis Data Firehose 的数据。

将为 Kinesis Data Firehose 传输流和代理配置的指标并将其推送到 CloudWatch 每 5 分钟。指标会存档两周。两周后,数据会被丢弃。

为 Kinesis Data Firehose 传输流收集指标是免费的。有关 Kinesis 代理指标的信息,请参阅。监控 Kinesis 代理的Health.

动态分区 CloudWatch 指标

如果动态分区已启用,AWS/Firehose 命名空间包括以下指标。

指标 描述
PartitionCount

正在处理的分区数,换句话说,活动分区计数。此数字在 1 和分区计数限制 500(默认)之间变化。

单位:计数

PartitionCountExceeded

此指标指示您是否超出了分区计数限制。它根据是否违反限制发出 1 或 0。

JQProcessing.Duration

返回在 JQ Lambda 函数中执行 JQ 表达式所花费的时间。

单位:毫秒

PerPartitionThroughput

指示每个分区正在处理的吞吐量。此指标使您能够监控每个分区的吞吐量。

单位: StandardUnit.BytesSecond

DeliveryToS3.ObjectCount

指示正在传输到 S3 存储桶的对象数。

单位:计数

数据传输 CloudWatch 指标

Amazon/Firehose 命名空间包括以下服务级指标。如果你看到的平均值略有下降BackupToS3.SuccessDeliveryToS3.SuccessDeliveryToSplunk.SuccessDeliveryToAmazonOpenSearchService.Success,或者DeliveryToRedshift.Success,这并不表示存在数据丢失。Kinesis Data Firehose 会重试传输错误,并且在记录成功传输到配置的目标或备份 S3 存储桶之前,不会继续向前执行 Kinesis Data 存储桶之前,不会继续向前执行。

传输到 OpenSearch 服务

指标 描述
DeliveryToAmazonOpenSearchService.Bytes

针对建立索引的字节数 OpenSearch 在指定时间段内提供服务。

单位:字节

DeliveryToAmazonOpenSearchService.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 OpenSearch 服务 。

单位:秒

DeliveryToAmazonOpenSearchService.Records

已针对建立索的记录的记录的记录的记录的记录数 OpenSearch 在指定时间段内提供服务。

单位:计数

DeliveryToAmazonOpenSearchService.Success

成功建立索引的记录总数相比已尝试的记录总数。

DeliveryToS3.Bytes

在指定时间段内传送到 Amazon S3 的字节数。仅在为所有文档启用备份时,Kinesis Data Firehose 才会发出此指标。

单位:计数

DeliveryToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 S3 存储桶。仅在为所有文档启用备份时,Kinesis Data Firehose 才会发出此指标。

单位:秒

DeliveryToS3.Records

在指定时间段内传送到 Amazon S3 的记录数。仅在为所有文档启用备份时,Kinesis Data Firehose 才会发出此指标。

单位:计数

DeliveryToS3.Success

成功的 Amazon S3 put 总和相比所有 Amazon S3 的总和相比所有 Amazon S3 的总 无论是仅为失败的文档启用备份还是为所有文档启用备份,Kinesis Data Firehose this Data Firehose always this Tata

传输到Amazon Redshift

指标 描述
DeliveryToRedshift.Bytes

在指定时间段内复制到 Amazon Redshift 的字节数。

单位:计数

DeliveryToRedshift.Records

在指定时段内复制到Amazon Redshift 的记录数。

单位:计数

DeliveryToRedshift.Success

成功的 Amazon Redshift COPY 命令的总和相比所有Amazon Redshift COPY 命令的总和。

DeliveryToS3.Bytes

在指定时间段内传送到 Amazon S3 的字节数。

单位:字节

DeliveryToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 S3 存储桶。

单位:秒

DeliveryToS3.Records

在指定时间段内传送到 Amazon S3 的记录数。

单位:计数

DeliveryToS3.Success

成功的 Amazon S3 put 总和相比所有 Amazon S3 的总和相比所有 Amazon S3 的总

BackupToS3.Bytes

在指定时段内传送到 Amazon S3 进行备份的字节数。启用到 Amazon S3 的备份后,Kinesis Data Firehose 会发出此指标。

单位:计数

BackupToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。启用到 Amazon S3 的备份后,Kinesis Data Firehose 会发出此指标。

单位:秒

BackupToS3.Records

在指定时段内传送到 Amazon S3 进行备份的记录数。启用到 Amazon S3 的备份后,Kinesis Data Firehose 会发出此指标。

单位:计数

BackupToS3.Success

成功的备份 Amazon S3 put 命令的总和相比所有 Amazon S3 备份 put 命令的总和。启用到 Amazon S3 的备份后,Kinesis Data Firehose 会发出此指标。

配送至Amazon S3

下表中的指标与当是传输流的主要目标时,向 Amazon S3 的传输相关。

指标 描述
DeliveryToS3.Bytes

在指定时间段内传送到 Amazon S3 的字节数。

单位:字节

DeliveryToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 S3 存储桶。

单位:秒

DeliveryToS3.Records

在指定时间段内传送到 Amazon S3 的记录数。

单位:计数

DeliveryToS3.Success

成功的 Amazon S3 put 总和相比所有 Amazon S3 的总和相比所有 Amazon S3 的总

BackupToS3.Bytes

在指定时段内传送到 Amazon S3 进行备份的字节数。Kinesis Data Firehose 在启用备份时发出此指标(只有在同时启用数据转换时才能启用备份)。

单位:计数

BackupToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。Kinesis Data Firehose 在启用备份时发出此指标(只有在同时启用数据转换时才能启用备份)。

单位:秒

BackupToS3.Records

在指定时段内传送到 Amazon S3 进行备份的记录数。Kinesis Data Firehose 在启用备份时发出此指标(只有在同时启用数据转换时才能启用备份)。

单位:计数

BackupToS3.Success

成功的备份 Amazon S3 put 命令的总和相比所有 Amazon S3 备份 put 命令的总和。Kinesis Data Firehose 在启用备份时发出此指标(只有在同时启用数据转换时才能启用备份)。

传输到 Splunk

指标 描述
DeliveryToSplunk.Bytes

在指定时段内传送到 Splunk 的字节数。

单位:字节

DeliveryToSplunk.DataAckLatency

在 Kinesis Data Firehose 向其发送数据后,从 Splunk 接收确认所需的大致时间。此指标的增加或减少趋势比绝对近似值更有用。增长趋势可能表明 Splunk 索引器的索引和确认速度较慢。

单位:秒

DeliveryToSplunk.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Splunk。

单位:秒

DeliveryToSplunk.Records

在指定时段内传送到 Splunk 的记录数。

单位:计数

DeliveryToSplunk.Success

成功建立索引的记录总数相比已尝试的记录总数。

DeliveryToS3.Success

成功的 Amazon S3 put 总和相比所有 Amazon S3 的总和相比所有 Amazon S3 的总 启用到 Amazon S3 的备份时,会发出此指标。

BackupToS3.Bytes

在指定时段内传送到 Amazon S3 进行备份的字节数。当传输流配置为备份的全部文档时,Kinesis Data Firehose 将发出此指标。

单位:计数

BackupToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。当传输流配置为备份的全部文档时,Kinesis Data Firehose 将发出此指标。

单位:秒

BackupToS3.Records

在指定时段内传送到 Amazon S3 进行备份的记录数。当传输流配置为备份的全部文档时,Kinesis Data Firehose 将发出此指标。

单位:计数

BackupToS3.Success

成功的备份 Amazon S3 put 命令的总和相比所有 Amazon S3 备份 put 命令的总和。当传输流配置为备份的全部文档时,Kinesis Data Firehose 将发出此指标。

传输到 HTTP 终端节点

指标 描述
DeliveryToHttpEndpoint.Bytes

成功传输到 HTTP 终端节点的字节数。

单位:字节

DeliveryToHttpEndpoint.Records

成功传输到 HTTP 终端节点的记录数。

单位:计数

DeliveryToHttpEndpoint.DataFreshness

Kinesis Data Firehose 中最古老记录的年代。

单位:秒

DeliveryToHttpEndpoint.Success

向 HTTP 终端节点发出的所有成功数据传输请求的总和

单位:计数

DeliveryToHttpEndpoint.ProcessedBytes

已尝试处理的字节数,包括重试次数。

DeliveryToHttpEndpoint.ProcessedRecords

尝试的记录数,包括重试次数。

数据摄取指标

通过 Kinesis Data Streams 的数据摄取

指标 描述
DataReadFromKinesisStream.Bytes

当数据源是 Kinesis 数据流时,此度量标准指示从该数据流读取的字节数。此数字包括由于故障转移而重新读取的数量。

单位:字节

DataReadFromKinesisStream.Records

当数据源是 Kinesis 数据流时,此度量标准指示从该数据流读取的记录数。此数字包括由于故障转移而重新读取的数量。

单位:计数

ThrottledDescribeStream

当数据源是 Kinesis 数据源时,DescribeStream 操作受到限制的总次数。

单位:计数

ThrottledGetRecords

当数据源是 Kinesis 数据源时,GetRecords 操作受到限制的总次数。

单位:计数

ThrottledGetShardIterator

当数据源是 Kinesis 数据源时,GetShardIterator 操作受到限制的总次数。

单位:计数

通过直接 PUT 进行的数据摄取

指标 描述
BackupToS3.Bytes

在指定时段内传送到 Amazon S3 进行备份的字节数。当为 Amazon S3 或 Amazon Redshift 目标启用数据转换时,Kinesis Data Firehose 将发出此指标。

单位:字节

BackupToS3.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。当为 Amazon S3 或 Amazon Redshift 目标启用数据转换时,Kinesis Data Firehose 将发出此指标。

单位:秒

BackupToS3.Records

在指定时段内传送到 Amazon S3 进行备份的记录数。当为 Amazon S3 或 Amazon Redshift 目标启用数据转换时,Kinesis Data Firehose 将发出此指标。

单位:计数

BackupToS3.Success

成功的备份 Amazon S3 put 命令的总和相比所有 Amazon S3 备份 put 命令的总和。当为 Amazon S3 或 Amazon Redshift 目标启用数据转换时,Kinesis Data Firehose 将发出此指标。

BytesPerSecondLimit 在限制之前传输流当前每秒可以摄取的最大字节数。要请求提高此限制,请转至Amazon支持中心然后选择创建案例,然后选择提高服务限制.
DataReadFromKinesisStream.Bytes

当数据源是 Kinesis 数据流时,此度量标准指示从该数据流读取的字节数。此数字包括由于故障转移而重新读取的数量。

单位:字节

DataReadFromKinesisStream.Records

当数据源是 Kinesis 数据流时,此度量标准指示从该数据流读取的记录数。此数字包括由于故障转移而重新读取的数量。

单位:计数

DeliveryToAmazonOpenSearchService.Bytes

针对建立索引的字节数 OpenSearch 在指定时间段内提供服务。

单位:字节

DeliveryToAmazonOpenSearchService.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 OpenSearch 服务 。

单位:秒

DeliveryToAmazonOpenSearchService.Records

已针对建立索的记录的记录的记录的记录的记录数 OpenSearch 在指定时间段内提供服务。

单位:计数

DeliveryToAmazonOpenSearchService.Success

成功建立索引的记录总数相比已尝试的记录总数。

DeliveryToRedshift.Bytes

在指定时间段内复制到 Amazon Redshift 的字节数。

单位:字节

DeliveryToRedshift.Records

在指定时段内复制到Amazon Redshift 的记录数。

单位:计数

DeliveryToRedshift.Success

成功的 Amazon Redshift COPY 命令的总和相比所有Amazon Redshift COPY 命令的总和。

DeliveryToS3.Bytes

在指定时间段内传送到 Amazon S3 的字节数。

单位:字节

DeliveryToS3.DataFreshness

Kinesis Data Firehose 中最旧记录的存在时间(从进入 Kinesis Data Firehose 到现在)的存在时间。任何大于此年龄的记录已传送到 S3 存储桶。

单位:秒

DeliveryToS3.Records

在指定时间段内传送到 Amazon S3 的记录数。

单位:计数

DeliveryToS3.Success

成功的 Amazon S3 put 总和相比所有 Amazon S3 的总和相比所有 Amazon S3 的总

DeliveryToSplunk.Bytes

在指定时段内传送到 Splunk 的字节数。

单位:字节

DeliveryToSplunk.DataAckLatency

在 Kinesis Data Firehose 向其发送数据后,从 Splunk 接收确认所需的大致时间。此指标的增加或减少趋势比绝对近似值更有用。增长趋势可能表明 Splunk 索引器的索引和确认速度较慢。

单位:秒

DeliveryToSplunk.DataFreshness

Kinesis Data Firehose 中的最旧记录的(从进入至今)的Kinesis Data Firehose 时间。任何大于此年龄的记录已传送到 Splunk。

单位:秒

DeliveryToSplunk.Records

在指定时段内传送到 Splunk 的记录数。

单位:计数

DeliveryToSplunk.Success

成功建立索引的记录总数相比已尝试的记录总数。

IncomingBytes

发生限制后在指定时间段内成功接收到传输流中的字节数。

单位:字节

IncomingPutRequests

成功的数量 PutRecord 和 PutRecordBatch限制后指定时间段内的请求。

单位:计数

IncomingRecords

发生限制后在指定时间段内成功接收到传输流中的记录数。

单位:计数

KinesisMillisBehindLatest

当数据源是 Kinesis 数据流时,此度量标准指示最后一条读取记录落后于 Kinesis 数据流中的最新记录的毫秒数。

单位:毫秒

RecordsPerSecondLimit

在限制之前传输流当前每秒可以摄取的最大记录数。

单位:计数

ThrottledRecords

由于数据摄取超过其中一个传输流限制而受到限制的记录数。

单位:计数

API 级别 CloudWatch 指标

Amazon/Firehose 命名空间包括以下 API 级指标。

指标 描述
DescribeDeliveryStream.Latency

在指定时段内测量的每个 DescribeDeliveryStream 操作所用的时间。

单位:毫秒

DescribeDeliveryStream.Requests

DescribeDeliveryStream 请求的总数。

单位:计数

ListDeliveryStreams.Latency

在指定时段内测量的每个 ListDeliveryStream 操作所用的时间。

单位:毫秒

ListDeliveryStreams.Requests

ListFirehose 请求的总数。

单位:计数

PutRecord.Bytes

使用放置到 Kinesis Data Firehose 传输流的字节数PutRecord在指定时间段内。

单位:字节

PutRecord.Latency

在指定时段内测量的每个 PutRecord 操作所用的时间。

单位:毫秒

PutRecord.Requests

PutRecord 请求的总数,此数目等于来自 PutRecord 操作的记录的总数。

单位:计数

PutRecordBatch.Bytes

使用放置到 Kinesis Data Firehose 传输流的字节数PutRecordBatch在指定时间段内。

单位:字节

PutRecordBatch.Latency

在指定时段内测量的每个 PutRecordBatch 操作所用的时间。

单位:毫秒

PutRecordBatch.Records

来自 PutRecordBatch 操作的记录的总数。

单位:计数

PutRecordBatch.Requests

PutRecordBatch 请求的总数。

单位:计数

PutRequestsPerSecondLimit

在限制之前传输流可以处理的每秒最大输入请求数。这个数字包括 PutRecord 和 PutRecordBatch 请求。

单位:计数

ThrottledDescribeStream

当数据源是 Kinesis 数据源时,DescribeStream 操作受到限制的总次数。

单位:计数

ThrottledGetRecords

当数据源是 Kinesis 数据源时,GetRecords 操作受到限制的总次数。

单位:计数

ThrottledGetShardIterator

当数据源是 Kinesis 数据源时,GetShardIterator 操作受到限制的总次数。

单位:计数

UpdateDeliveryStream.Latency

在指定时段内测量的每个 UpdateDeliveryStream 操作所用的时间。

单位:毫秒

UpdateDeliveryStream.Requests

UpdateDeliveryStream 请求的总数。

单位:计数

数据转换 CloudWatch 指标

如果启用了 Lambda 的数据转换,AWS/Firehose命名空间包含以下指标。

指标 描述
ExecuteProcessing.Duration

Kinesis Data Firehose 执行的每次 Lambda 函数调用所花费的时间。

单位:毫秒

ExecuteProcessing.Success

成功的 Lambda 函数调用次数之和与 Lambda 函数调用总数之和。

SucceedProcessing.Records

在指定时间段内成功处理记录数。

单位:计数

SucceedProcessing.Bytes

在指定时间段内成功处理的字节数。

单位:字节

格式转换 CloudWatch 指标

如果启用了格式转换,AWS/Firehose 命名空间会包括以下指标。

指标 描述
SucceedConversion.Records

成功转换的记录的数量。

单位:计数

SucceedConversion.Bytes

成功转换的记录的大小。

单位:字节

FailedConversion.Records

未能转换的记录的数量。

单位:计数

FailedConversion.Bytes

未能转换的记录的大小。

单位:字节

服务器端加密 (SE) CloudWatch 指标

Amazon/Firehose 命名空间包括以下与 SSE 相关的指标。

指标 描述
KMSKeyAccessDenied

服务遇到传输流的 KMSAccessDeniedException 的次数。

单位:计数

KMSKeyDisabled

服务遇到传输流的 KMSDisabledException 的次数。

单位:计数

KMSKeyInvalidState

服务遇到传输流的 KMSInvalidStateException 的次数。

单位:计数

KMSKeyNotFound

服务遇到传输流的 KMSNotFoundException 的次数。

单位:计数

Kinesis Data Firehose 的尺寸

要按传输流筛选指标,请使用 DeliveryStreamName 维度。

Kinesis Data Firehose 使用指标

您可以使用 CloudWatch 用量指标,提供账户资源使用情况的可见性。使用这些指标可视化当前服务用量 CloudWatch 图形和仪表板。

服务配额使用指标在Amazon/Usage 命名空间和每分钟收集一次。

目前,在此命名空间中唯一一个 CloudWatch publishResourceCount. 此指标与 ServiceClassTypeResource 维度一同发布。

指标 描述
ResourceCount

您账户中运行的指定资源的数量。资源由与指标关联的维度定义。

此指标最有用的统计数据是 MAXIMUM,这表示 1 分钟期间内使用的最大资源数。

以下维度用于优化由 Kinesis Data Firehose 发布的用量指标。

维度 描述
Service

包含该资源的 Amazon 服务的名称。对于 Kinesis Data Firehose 使用情况指标,此维度的值为Firehose.

Class

所跟踪的资源的类。Kinesis Data Firehose API 使用情况指标使用此维度(值为)None.

Type

所跟踪的资源的类型。当前,当服务维度为 Firehose 时,类型的唯一有效值为 Resource

Resource

Amazon 资源的名称。目前,当服务维度为 Firehose 时,资源的唯一有效值为 DeliveryStreams

访问 CloudWatch Kinesis Data Firehose 的指标

您可以使用以下命令监控 Kinesis Data Firehose 的指标 CloudWatch 控制台、命令行或 CloudWatchAPI。以下过程介绍如何使用这些不同的方式访问指标。

使用 访问指标 CloudWatch 控制台

  1. 打开 CloudWatch 控制台https://console.aws.amazon.com/cloudwatch/.

  2. 在导航栏中,选择一个区域。

  3. 在导航窗格中,选择 Metrics(指标)。

  4. 选择 Firehose 命名空间。

  5. 选择 Delivery Stream MetricsFirehose Metrics

  6. 选择要添加到图表的指标。

使用 Amazon CLI 访问指标

使用列出指标get-metric-statistics命令。

aws cloudwatch list-metrics --namespace "Amazon/Firehose"
aws cloudwatch get-metric-statistics --namespace "Amazon/Firehose" \ --metric-name DescribeDeliveryStream.Latency --statistics Average --period 3600 \ --start-time 2017-06-01T00:00:00Z --end-time 2017-06-30T00:00:00Z

CloudWatch 警报最佳实践

Add CloudWatch 当以下指标超过缓冲限制(最大值为 15 分钟)时触发的警报:

  • DeliveryToS3.DataFreshness

  • DeliveryToSplunk.DataFreshness

  • DeliveryToAmazonOpenSearchService.DataFreshness

此外,还要基于以下指标数学表达式创建警报。

  • IncomingBytes (Sum per 5 Minutes) / 300 接近 BytesPerSecondLimit 百分比。

  • IncomingRecords (Sum per 5 Minutes) / 300 接近 RecordsPerSecondLimit 百分比。

  • IncomingPutRequests (Sum per 5 Minutes) / 300 接近 PutRequestsPerSecondLimit 百分比。

我们建议作为根据发出警报的另一个指标是 ThrottledRecords

有关在警告进入 ALARM 状态时进行故障排查的信息,请参阅Amazon Kinesis Data Firehose