亚马逊 SQS 的可用 CloudWatch 指标 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

亚马逊 SQS 的可用 CloudWatch 指标

Amazon SQS 将以下指标发送至。 CloudWatch

注意

对于标准队列,由于 Amazon SQS 采用分布式架构,结果为近似值。在大多数情况下,该计数应接近队列中的实际消息数。

对于 FIFO 队列,结果是准确值。

Amazon SQS 指标

AWS/SQS 命名空间包括以下指标。

指标 描述
ApproximateAgeOfOldestMessage 队列中最旧的未删除消息的大约存在时间。
注意
  • 在接收消息三次(或以上)且未处理时,该消息将会移至队列的后面,而 ApproximateAgeOfOldestMessage 指标会指示尚未接收超过三次的第二旧的消息。即使队列具有重新驱动策略,也会发生此操作。

  • 由于单个毒丸消息(多次接收但从未删除)会扭曲此指标,直到成功使用毒丸消息之前,指标中都不会包含毒丸消息的使用期限。

  • 如果队列有重新驱动策略,当达到配置的最大接收数目后,消息将会移至死信队列。当消息移至死信队列,死信队列的 ApproximateAgeOfOldestMessage 指标表示该消息移至死信队列的时间(而不是该消息发送的原始时间)。

  • 对于 FIFO 队列,消息不会移到队列的后面,因为这将违反 FIFO 顺序保证。如果已配置 DLQ,则该消息将转至 DLQ。否则,它将阻止该消息组,直到成功删除或消息组过期。

报告标准:如果队列处于活动状态,则报告非负值。

单位:秒

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

ApproximateNumberOfMessagesDelayed 队列中延迟且无法立即读取的消息数量。如果队列被配置为延迟队列,或者使用了延迟参数来发送消息,则会出现这种情况。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

ApproximateNumberOfMessagesNotVisible 处于空中状态的消息的数量。如果消息已发送到客户端,但尚未删除或尚未到达其可见性窗口末尾,则消息被视为处于飞行状态

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

ApproximateNumberOfMessagesVisible 要处理的消息数。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

发送给流程的消息数量没有限制,但是您可以将此积压限制在保留期内。
NumberOfEmptyReceives¹ 未返回消息的 ReceiveMessage API 调用数量。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

NumberOfMessagesDeleted¹ 从队列删除的消息数量。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

Amazon SQS 会针对使用有效接收句柄的每一次成功删除操作(包括删除重复项)发布 NumberOfMessagesDeleted 指标。以下情形可能会使 NumberOfMessagesDeleted 指标值高于预期:
  • 在属于相同消息的不同接收句柄上调用 DeleteMessage 操作:如果该消息未在可见性超时过期之前处理,则该消息将对其他可对其执行处理和再次删除操作的使用者可用,从而使 NumberOfMessagesDeleted 指标值增大。

  • 在相同接收句柄上调用 DeleteMessage 操作:如果该信息已被处理和删除,但是您若使用相同的接收句柄再次调用 DeleteMessage 操作,将返回一个成功状态,使 NumberOfMessagesDeleted 指标值增大。

NumberOfMessagesReceived¹ 调用 ReceiveMessage 操作返回的消息数量。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

NumberOfMessagesSent¹

添加到队列的消息数量。

报告标准:如果队列处于活动状态,则报告非负值。

单位:计数

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

SentMessageSize¹

添加到队列的消息大小。

报告标准:如果队列处于活动状态,则报告非负值。

单位:字节

有效统计数据:平均值、最小值、最大值、总计、数据样本(在 Amazon SQS 控制台中显示为样本数)

注意

SentMessageSize在向相应的队列发送至少一条消息之前,不会在 CloudWatch 控制台中显示为可用指标。

¹ 这些指标是从服务角度计算的,可能包括重试。不要依赖这些指标的绝对值,也不要使用它们来估算当前队列状态。

Amazon SQS 指标的维度

Amazon SQS 发送到 CloudWatch 的唯一维度是。QueueName这表示所有可用统计信息会通过 QueueName 进行筛选。