AWS SQS 可观测性最佳实践

AWS SQS

AWS SQS(Amazon Simple Queue Service)是一种完全托管的消息队列服务,用于在分布式系统中解耦和缓冲消息。它支持高可用性、可扩展性和安全性,能够处理大量消息,确保消息的可靠传输和顺序性。开发者可以轻松集成 SQS 到应用程序中,实现异步通信、负载均衡和微服务架构,从而提高系统的灵活性和响应能力。监控 SQS 能够帮助开发者和运维人员实时了解消息队列的运行状态,及时发现潜在问题(如消息积压、处理延迟或队列错误)。通过监控关键指标(如消息可见数量、发送和接收速率等),可以优化系统性能,确保消息的可靠传递和及时处理,从而保障分布式系统和微服务架构的高效运行,提升用户体验并降低运维成本。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

采集器配置

  1. 登陆观测云控制台
  2. 点击【集成】菜单,选择【云账号管理】
  3. 点击【添加云账号】,选择【AWS】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
  4. 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
  5. 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
  6. 点击云账号详情页的【集成】按钮,在未安装列表下,找到 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 队列的高效监控与管理,确保分布式系统和微服务架构的稳定运行。

相关推荐
故乡de云12 小时前
Google Cloud与AWS大数据AI服务对比:2026年企业选型指南
大数据·人工智能·aws
China_Yanhy1 天前
AWS S3 深度配置指南:每一栏每个选项有什么作用
java·数据库·aws
China_Yanhy2 天前
后端开发者的 AWS 大数据指南:从 RDS 到 Data Lake
大数据·云计算·aws
China_Yanhy2 天前
AWS EKS三种类别,如何选择
云计算·aws
xybDIY2 天前
亚马逊云 Organizations 组织 Link 账号关联与解绑自动化解决方案
运维·自动化·云计算·aws
可观测性用观测云4 天前
Lambda NodeJS 运行时链路接入观测云
aws
我先去打把游戏先4 天前
TCP、TLS、HTTP、HTTPS、MQTT、MQTTS几种网络协议的对比与解释
嵌入式硬件·mcu·物联网·网络协议·tcp/ip·http·aws
China_Yanhy5 天前
AWS EC2 挂载新网卡不通?从网卡启动到策略路由的完整排查指南
网络·云计算·aws
在云上(oncloudai)6 天前
Amazon EFS 全面解析
aws·亚马逊云科技
卖芒果的潇洒农民6 天前
AWS EC2
云计算·aws