AWS SQS
AWS SQS(Amazon Simple Queue Service)是一种完全托管的消息队列服务,用于在分布式系统中解耦和缓冲消息。它支持高可用性、可扩展性和安全性,能够处理大量消息,确保消息的可靠传输和顺序性。开发者可以轻松集成 SQS 到应用程序中,实现异步通信、负载均衡和微服务架构,从而提高系统的灵活性和响应能力。监控 SQS 能够帮助开发者和运维人员实时了解消息队列的运行状态,及时发现潜在问题(如消息积压、处理延迟或队列错误)。通过监控关键指标(如消息可见数量、发送和接收速率等),可以优化系统性能,确保消息的可靠传递和及时处理,从而保障分布式系统和微服务架构的高效运行,提升用户体验并降低运维成本。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
采集器配置
- 登陆观测云控制台
- 点击【集成】菜单,选择【云账号管理】
- 点击【添加云账号】,选择【AWS】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
- 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
- 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
- 点击云账号详情页的【集成】按钮,在未安装列表下,找到 AWS Simple Queue Service,点击【安装】按钮,弹出安装界面安装即可
关键指标
指标名称 | 描述 | 单位 | 有效统计数据 |
---|---|---|---|
ApproximateAgeOfOldestMessage | 队列中最旧的未删除消息的大约存在时间。注意: 在接收消息三次(或以上)且未处理时,该消息将会移至队列的后面,而 ApproximateAgeOfOldestMessage 指标会指示尚未接收超过三次的第二旧的消息。即使队列具有重新驱动策略,也会发生此操作。由于单个毒丸消息(多次接收但从未删除)会扭曲此指标,直到成功使用毒丸消息之前,指标中都不会包含毒丸消息的使用期限。如果队列有重新驱动策略,当达到配置的最大接收数目后,消息将会移至死信队列。当消息移至死信队列,死信队列的ApproximateAgeOfOldestMessage 指标表示该消息移至死信队列的时间(而不是该消息发送的原始时间)。报告标准:如果队列处于活动状态,则报告非负值。 | 秒 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
ApproximateNumberOfMessagesDelayed | 队列中延迟且无法立即读取的消息数量。如果队列被配置为延迟队列,或者使用了延迟参数来发送消息,则会出现这种情况。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
ApproximateNumberOfMessagesNotVisible | 处于空中状态的消息的数量。如果消息已发送到客户端,但尚未删除或尚未到达其可见性窗口末尾,则消息被视为处于飞行状态。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
ApproximateNumberOfMessagesVisible | 可从队列取回的消息数量。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
NumberOfEmptyReceives | 未返回消息的 ReceiveMessage API 调用数量。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
NumberOfMessagesDeleted | 从队列删除的消息数量。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
NumberOfMessagesReceived | 调用 ReceiveMessage 操作返回的消息数量。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
NumberOfMessagesSent | 添加到队列的消息数量。报告标准:如果队列处于活动状态,则报告非负值。 | 计数 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
SentMessageSize | 添加到队列的消息大小。报告标准:如果队列处于活动状态,则报告非负值。 | 字节 | 平均值、最小值、最大值、总和、数据样本(在 Amazon SQS 控制台中显示为样本数) |
场景视图
登录观测云控制台,点击「场景」 -「新建仪表板」,输入 "AWS SQS", 选择 "AWS S3 监控视图",点击 "确定" 即可添加视图。

总结
观测云通过集成 AWS SQS,能够实时采集和分析 SQS 队列的关键指标(如消息可见数量、发送接收速率、延迟消息数等),并结合可视化界面和告警功能,帮助用户快速发现队列性能瓶颈、消息积压等问题,从而实现对 SQS 队列的高效监控与管理,确保分布式系统和微服务架构的稳定运行。