亚马逊 SQS 的可用 CloudWatch 指标 - Amazon Simple Queue Service

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

亚马逊 SQS 的可用 CloudWatch 指标

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

注意

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

Amazon SQS 指标

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

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

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

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

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

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

单位:

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

ApproximateNumberOfGroupsWithInflightMessages 包含传输中消息的大致消息组数量,其中消息在消费者从队列接收到但尚未从队列中删除后被视为正在传输。该指标可以通过增加 FIFO 消息组或扩展使用者来帮助您排查和优化 FIFO 队列吞吐量。

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

单位:计数

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

有关当前的 FIFO 吞吐量和飞行限制,请参阅亚马逊 SQS 消息配额
ApproximateNumberOfMessagesDelayed 队列中延迟且无法立即读取的消息数量。如果队列被配置为延迟队列,或者使用了延迟参数来发送消息,则会出现这种情况。

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

单位:计数

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

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

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

单位:计数

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

ApproximateNumberOfMessagesVisible 要处理的消息数。

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

单位:计数

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

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

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

单位:计数

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

NumberOfDeduplicatedSentMessages 发送到队列的经过重复数据删除的消息数量。该指标可以帮助确定创建者是否向 Amazon SQS FIFO 队列发送重复的消息。

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

单位:计数

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

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

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

单位:计数

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

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

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

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

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

单位:计数

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

NumberOfMessagesSent¹ 添加到队列的消息数量。

如果您手动向死信队列发送消息,它将由 NumberOfMessagesSent 指标捕获。但是,如果由于处理尝试失败而将消息发送到死信队列,则该指标不会捕获该消息。因此,NumberOfMessagesSentNumberOfMessagesReceived 的值可能不同。

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

单位:计数

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

SentMessageSize¹ 添加到队列的消息大小。

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

单位:字节

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

注意

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

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

Amazon SQS 指标的维度

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