本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用监控 Kinesis Data FirehoseCloudWatch指标
Amazon Kinesis Data Firehose 与亚马逊集成CloudWatch以便您可以收集、查看和分析指标CloudWatch适用于您的 Kinesis Data Firehose 传输流的指标。例如,您可以监控IncomingBytes
和IncomingRecords
跟踪从数据创建器获取到 Kinesis Data Firehose 的数据的指标。
将自动收集您为 Kinesis Data Firehose 传输流和代理配置的指标并将其推送到。CloudWatch每五分钟一次。指标会存档两周。两周后,数据会被丢弃。
为 Kinesis Data Firehose 传输流收集指标是免费的。有关 Kinesis Agent 指标的信息,请参阅。监控 Kinesis 代理运行 Health 况.
主题
- 动态分区CloudWatch指标
- 数据传输 CloudWatch 指标
- 数据摄取指标
- API 级别 CloudWatch 指标
- 数据转换CloudWatch指标
- 格式转换 CloudWatch 指标
- 服务器端加密 (SSE) CloudWatch 指标
- Kinesis Data Firehose 的维度
- Kinesis Data Firehose 使用指标
- 访问CloudWatchKinesis Data Firehose
- CloudWatch 警报最佳实践
- 使用监控 Kinesis Data FirehoseCloudWatch日志
- 监控 Kinesis 代理运行 Health 况
- 使用记录 Kinesis Data Firehose API 调用Amazon CloudTrail
动态分区CloudWatch指标
如果动态分区AWS/Firehose 命名空间包括以下指标。
指标 | 说明 |
---|---|
PartitionCount |
正在处理的分区数,换句话说,活动分区计数。此数字在 1 和分区计数限制 500 之间变化(默认值)。 单位:计数 |
PartitionCountExceeded |
此指标表示您是否超过了分区计数限制。根据是否突破限制,它发出 1 或 0。 |
JQProcessing.Duration |
返回在 JQ Lambda 函数中执行 JQ 表达式所花费的时间。 单位:毫秒 |
PerPartitionThroughput |
指示每个分区正在处理的吞吐量。此指标使您能够监控每个分区的吞吐量。每个活动分区支持每秒 25 MB 的最大吞吐量。 单位:StandardUnit.BytesSecond |
DeliveryToS3.ObjectCount |
指示要传送到您的 S3 存储桶的对象数。 单位:计数 |
数据传输 CloudWatch 指标
Amazon/Firehose
命名空间包括以下服务级指标。如果你看到平均值小幅下降BackupToS3.Success
、DeliveryToS3.Success
、DeliveryToSplunk.Success
、DeliveryToAmazonOpenSearchService.Success
,或者DeliveryToRedshift.Success
,这并不表明存在数据丢失。Kinesis Data Firehose 会重试传输错误,并且在记录成功传输到配置的目标或备份 S3 存储桶之前,不会继续向前执行。
传输到OpenSearch服务
指标 | 说明 |
---|---|
DeliveryToAmazonOpenSearchService.Bytes |
针对建立索引的字节数OpenSearch在指定时间段内的服务。 单位:字节 |
DeliveryToAmazonOpenSearchService.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到OpenSearch服务 。 单位:秒 |
DeliveryToAmazonOpenSearchService.Records |
针对建立索引的记录数OpenSearch在指定时间段内的服务。 单位:计数 |
DeliveryToAmazonOpenSearchService.Success |
成功建立索引的记录总数相比已尝试的记录总数。 |
DeliveryToS3.Bytes |
在指定时段内传送到 Amazon S3 的字节数。Kinesis Data Firehose 仅在为所有文档启用备份时,才会发出此指标。 单位:计数 |
DeliveryToS3.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 S3 存储桶。Kinesis Data Firehose 仅在为所有文档启用备份时,才会发出此指标。 单位:秒 |
DeliveryToS3.Records |
在指定时段内传送到 Amazon S3 的记录数。Kinesis Data Firehose 仅在为所有文档启用备份时,才会发出此指标。 单位:计数 |
DeliveryToS3.Success |
成功的 Amazon S3 put 命令的总数相比所有 Amazon S3 put 命令的总数。Kinesis Data Firehose 始终会发出此指标,而无论是仅为失败的文档启用备份还是为所有文档启用备份。 |
将运送到 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 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 S3 存储桶。 单位:秒 |
DeliveryToS3.Records |
在指定时段内传送到 Amazon S3 的记录数。 单位:计数 |
DeliveryToS3.Success |
成功的 Amazon S3 put 命令的总数相比所有 Amazon S3 put 命令的总数。 |
BackupToS3.Bytes |
在指定时段内传送到 Amazon S3 进行备份的字节数。启用备份到 Amazon S3 时,Kinesis Data Firehose 会发出此指标。 单位:计数 |
BackupToS3.DataFreshness |
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 的传输到 S3 有关。
指标 | 说明 |
---|---|
DeliveryToS3.Bytes |
在指定时段内传送到 Amazon S3 的字节数。 单位:字节 |
DeliveryToS3.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 S3 存储桶。 单位:秒 |
DeliveryToS3.Records |
在指定时段内传送到 Amazon S3 的记录数。 单位:计数 |
DeliveryToS3.Success |
成功的 Amazon S3 put 命令的总数相比所有 Amazon S3 put 命令的总数。 |
BackupToS3.Bytes |
在指定时段内传送到 Amazon S3 进行备份的字节数。当启用备份时,Kinesis Data Firehose 将发出此指标(只有在同时启用数据转换时才能启用备份)。 单位:计数 |
BackupToS3.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。当启用备份时,Kinesis Data Firehose 将发出此指标(只有在同时启用数据转换时才能启用备份)。 单位:秒 |
BackupToS3.Records |
在指定时间段内传送到 Amazon S3 进行备份的记录数。当启用备份时,Kinesis Data Firehose 将发出此指标(只有在同时启用数据转换时才能启用备份)。 单位:计数 |
BackupToS3.Success |
成功的 Amazon S3 用于备份的命令总数相比所有 Amazon S3 备份 put 命令的总和。当启用备份时,Kinesis Data Firehose 将发出此指标(只有在同时启用数据转换时才能启用备份)。 |
传输到 Splunk
指标 | 说明 |
---|---|
DeliveryToSplunk.Bytes |
在指定时段内传送到 Splunk 的字节数。 单位:字节 |
DeliveryToSplunk.DataAckLatency |
Kinesis Data Firehose 向 Splunk 发送数据后,从 Splunk 接收确认所需的大致时间。此指标的增加或减少趋势比绝对近似值更有用。增长趋势可能表明 Splunk 索引器的索引和确认速度较慢。 单位:秒 |
DeliveryToSplunk.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 Splunk。 单位:秒 |
DeliveryToSplunk.Records |
在指定时段内传送到 Splunk 的记录数。 单位:计数 |
DeliveryToSplunk.Success |
成功建立索引的记录总数相比已尝试的记录总数。 |
DeliveryToS3.Success |
成功的 Amazon S3 put 命令的总数相比所有 Amazon S3 put 命令的总数。启用了 Amazon S3 备份时,会发出此指标。 |
BackupToS3.Bytes |
在指定时段内传送到 Amazon S3 进行备份的字节数。当传输流配置为备份所有文档时,Kinesis Data Firehose 将发出此指标。 单位:计数 |
BackupToS3.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 Amazon S3 存储桶进行备份。当传输流配置为备份所有文档时,Kinesis Data Firehose 将发出此指标。 单位:秒 |
BackupToS3.Records |
在指定时间段内传送到 Amazon S3 进行备份的记录数。当传输流配置为备份所有文档时,Kinesis Data Firehose 将发出此指标。 单位:计数 |
BackupToS3.Success |
成功的 Amazon S3 用于备份的命令总数相比所有 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 数据源时, 单位:计数 |
ThrottledGetRecords |
当数据源是 Kinesis 数据源时, 单位:计数 |
ThrottledGetShardIterator |
当数据源是 Kinesis 数据源时, 单位:计数 |
通过直接 PUT 进行的数据摄取
指标 | 说明 |
---|---|
BackupToS3.Bytes |
在指定时段内传送到 Amazon S3 进行备份的字节数。当为 Amazon S3 或 Amazon Redshift 目标启用数据转换时,Kinesis Data Firehose 将发出此指标。 单位:字节 |
BackupToS3.DataFreshness |
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 用于备份的命令总数相比所有 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 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到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 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 S3 存储桶。 单位:秒 |
DeliveryToS3.Records |
在指定时段内传送到 Amazon S3 的记录数。 单位:计数 |
DeliveryToS3.Success |
成功的 Amazon S3 put 命令的总数相比所有 Amazon S3 put 命令的总数。 |
DeliveryToSplunk.Bytes |
在指定时段内传送到 Splunk 的字节数。 单位:字节 |
DeliveryToSplunk.DataAckLatency |
Kinesis Data Firehose 向 Splunk 发送数据后,从 Splunk 接收确认所需的大致时间。此指标的增加或减少趋势比绝对近似值更有用。增长趋势可能表明 Splunk 索引器的索引和确认速度较慢。 单位:秒 |
DeliveryToSplunk.DataFreshness |
Kinesis Data Firehose 中的最旧记录(从进入至今)的年龄。任何大于此年龄的记录已传送到 Splunk。 单位:秒 |
DeliveryToSplunk.Records |
在指定时段内传送到 Splunk 的记录数。 单位:计数 |
DeliveryToSplunk.Success |
成功建立索引的记录总数相比已尝试的记录总数。 |
IncomingBytes |
发生限制后在指定时间段内成功接收到传输流中的字节数。 单位:字节 |
IncomingPutRequests |
成功的数量PutRecord和PutRecord发生限制后在指定时间段内 Batch 请求。 单位:计数 |
IncomingRecords |
发生限制后在指定时间段内成功接收到传输流中的记录数。 单位:计数 |
KinesisMillisBehindLatest |
当数据源是 Kinesis 数据流时,此度量标准指示最后一条读取记录落后于 Kinesis 数据流中的最新记录的毫秒数。 单位:毫秒 |
RecordsPerSecondLimit |
在限制之前传输流当前每秒可以摄取的最大记录数。 单位:计数 |
ThrottledRecords |
由于数据摄取超过其中一个传输流限制而受到限制的记录数。 单位:计数 |
API 级别 CloudWatch 指标
Amazon/Firehose
命名空间包括以下 API 级指标。
指标 | 说明 |
---|---|
DescribeDeliveryStream.Latency |
在指定时段内测量的每个 单位:毫秒 |
DescribeDeliveryStream.Requests |
单位:计数 |
ListDeliveryStreams.Latency |
在指定时段内测量的每个 单位:毫秒 |
ListDeliveryStreams.Requests |
单位:计数 |
PutRecord.Bytes |
使用使用放置到 Kinesis Data Firehose 传输流的字节数 单位:字节 |
PutRecord.Latency |
在指定时段内测量的每个 单位:毫秒 |
PutRecord.Requests |
单位:计数 |
PutRecordBatch.Bytes |
使用使用放置到 Kinesis Data Firehose 传输流的字节数 单位:字节 |
PutRecordBatch.Latency |
在指定时段内测量的每个 单位:毫秒 |
PutRecordBatch.Records |
来自 单位:计数 |
PutRecordBatch.Requests |
单位:计数 |
PutRequestsPerSecondLimit |
在限制之前传输流可以处理的每秒最大输入请求数。这个数字包括PutRecord和PutRecord批处理请求数。 单位:计数 |
ThrottledDescribeStream |
当数据源是 Kinesis 数据源时, 单位:计数 |
ThrottledGetRecords |
当数据源是 Kinesis 数据源时, 单位:计数 |
ThrottledGetShardIterator |
当数据源是 Kinesis 数据源时, 单位:计数 |
UpdateDeliveryStream.Latency |
在指定时段内测量的每个 单位:毫秒 |
UpdateDeliveryStream.Requests |
单位:计数 |
数据转换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 |
未能转换的记录的大小。 单位:字节 |
服务器端加密 (SSE) CloudWatch 指标
Amazon/Firehose
命名空间包括以下与 SSE 相关的指标。
指标 | 说明 |
---|---|
KMSKeyAccessDenied |
服务遇到传输流的 单位:计数 |
KMSKeyDisabled |
服务遇到传输流的 单位:计数 |
KMSKeyInvalidState |
服务遇到传输流的 单位:计数 |
KMSKeyNotFound |
服务遇到传输流的 单位:计数 |
Kinesis Data Firehose 的维度
要按传输流筛选指标,请使用 DeliveryStreamName
维度。
Kinesis Data Firehose 使用指标
您可以使用 CloudWatch 用量指标来提供账户资源使用情况的可见性。使用这些指标在 CloudWatch 图表和控制面板上可视化当前服务用量。
服务配额使用指标位于Amazon/Upuse 命名空间并且每分钟收集一次。
目前,CloudWatch 在此命名空间中发布的唯一指标名称是 ResourceCount
。此指标与 Service
、Class
、Type
和 Resource
维度一同发布。
指标 | 描述 |
---|---|
ResourceCount |
您账户中运行的指定资源的数量。资源由与指标关联的维度定义。 此指标最有用的统计数据是 MAXIMUM,这表示 1 分钟期间内使用的最大资源数。 |
以下维度用于优化由 Kinesis Data Firehose 发布的用量指标。
维度 | 描述 |
---|---|
Service |
包含该资源的 Amazon 服务的名称。对于 Kinesis Data Firehose 使用情况指标,此维度的值为 |
Class |
所跟踪的资源的类。Kinesis Data Firehose API 使用情况指标使用此维度(值为) |
Type |
所跟踪的资源的类型。当前,当服务维度为 |
Resource |
Amazon 资源的名称。目前,当服务维度为 |
访问CloudWatchKinesis Data Firehose
您可以使用CloudWatch控制台、命令行或者CloudWatchAPI。以下过程介绍如何使用这些不同的方式访问指标。
使用 CloudWatch 控制台访问指标
打开 CloudWatch 控制台 (https://console.aws.amazon.com/cloudwatch/
)。 -
在导航栏中,选择一个区域。
-
在导航窗格中,请选择指标。
-
选择 Firehose 命名空间。
-
选择 Delivery Stream Metrics 或 Firehose Metrics。
-
选择要添加到图表的指标。
使用 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 警报最佳实践
添加当以下指标超过缓冲限制(最大值为 15 分钟)时触发的 CloudWatch 警报:
-
DeliveryToS3.DataFreshness
-
DeliveryToSplunk.DataFreshness
-
DeliveryToAmazonOpenSearchService.DataFreshness
此外,还要基于以下指标数学表达式创建警报。
-
接近IncomingBytes
(Sum per 5 Minutes) / 300BytesPerSecondLimit
百分比。 -
接近IncomingRecords
(Sum per 5 Minutes) / 300RecordsPerSecondLimit
百分比。 -
接近IncomingPutRequests
(Sum per 5 Minutes) / 300PutRequestsPerSecondLimit
百分比。
我们建议作为根据发出警报的另一个指标是 ThrottledRecords
。
有关在警告进入 ALARM
状态时进行故障排查的信息,请参阅对 Amazon Kinesis Data Firehose 进行故障排除。