数据新鲜度指标增长或未发出数据新鲜度指标 - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose

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

数据新鲜度指标增长或未发出数据新鲜度指标

数据新鲜度用于衡量您的数据在传输流中的最新程度。它是传输流中最早的数据记录的年龄,从 Firehose 摄取数据的时间到现在。Firehose 提供了可用于监控数据新鲜度的指标。要确定指定目标的数据新鲜度指标,请参阅使用指标监控亚马逊数据 Firehose CloudWatch

如果您为所有事件或所有文档启用备份,请监控两个单独的数据新鲜度指标:一个用于主目标,另一个用于备份。

如果未发出数据新鲜度指标,则意味着传输流没有有效的传输。当完全阻止数据传输或没有任何传入数据时,会发生这种情况。

如果数据新鲜度指标在不断增加,则意味着数据传输落后。这可能是由于以下原因之一。

  • 目标无法跟上传输速率。如果 Firehose 因高流量而遇到暂时性错误,则交付可能会落后。这可能发生在亚马逊 S3 以外的目的地( OpenSearch服务、Amazon Redshift 或 Splunk 也可能发生这种情况)。确保您的目标有足够的容量来处理传入流量。

  • 目标非常慢。如果 Firehose 遇到高延迟,数据交付可能会落后。监控目标的延迟指标。

  • Lambda 函数运行缓慢。这可能导致数据传输速率要低于传输流的数据摄取速率。如果可能,请提高 Lambda 函数的效率。例如,如果函数处理网络 IO,请使用多个线程或异步 IO 来增加并行度。此外,考虑增加 Lambda 函数的内存大小,以便相应地增加 CPU 分配。这可能会加快 Lambda 的调用速度。有关配置 Lambda 函数的信息,请参阅配置 Lam bda Amazon 函数。

  • 在数据传输过程中出现故障。有关如何使用 Amazon Logs 监控错误 CloudWatch 的信息,请参阅使用日志监控亚马逊数据 Firehose CloudWatch

  • 如果传输流的数据来源是 Kinesis 数据流,则可能会存在限制情况。检查 ThrottledGetRecordsThrottledGetShardIteratorThrottledDescribeStream 指标。如果有多个使用者附加到 Kinesis 数据流,请考虑以下事项:

    • 如果 ThrottledGetRecordsThrottledGetShardIterator 指标非常高,我们建议您增加为数据流预配置的分片数。

    • 如果ThrottledDescribeStream为高,我们建议您为中配置的角色添加kinesis:listshards权限KinesisStreamSourceConfiguration

  • 目标缓冲提示较低。这可能会增加 Firehose 需要往返目的地的次数,从而可能导致配送延迟。考虑增大缓冲提示的值。有关更多信息,请参阅BufferingHints

  • 当错误频繁发生时,较长的重试持续时间可能会导致传输落后。考虑减小重试持续时间。此外,监控错误并尝试减少这些错误。有关如何使用 Amazon Logs 监控错误 CloudWatch 的信息,请参阅使用日志监控亚马逊数据 Firehose CloudWatch

  • 如果目标为 Splunk 并且 DeliveryToSplunk.DataFreshness 非常高,但 DeliveryToSplunk.Success 看起来不错,则 Splunk 集群可能很忙。如果可能,请释放 Splunk 集群。或者,请联系 Amazon 支持部门,请求增加 Firehose 用于与 Splunk 集群通信的通道数量。