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 队列的高效监控与管理,确保分布式系统和微服务架构的稳定运行。

相关推荐
bug制造生产者1 天前
AWS的S3上傳
云计算·aws
Allen正心正念20252 天前
AWS专家Greg Coquillo提出的8层Agentic AI架构分析
人工智能·架构·aws
尾张大3 天前
ubuntu AWS 磁盘扩容
运维·aws
围炉聊科技5 天前
尝鲜 AWS Agentic IDE:Kiro 一周使用初体验
ide·人工智能·ai编程·aws
翼龙云_cloud6 天前
亚马逊云渠道商:新手怎么利用AWS Lightsail部署 WordPress?
运维·服务器·云计算·aws
翼龙云_cloud6 天前
亚马逊云渠道商:AWS Lightsail的常见问题怎么解决?
运维·服务器·云计算·aws
可观测性用观测云7 天前
AWS Lambda Python 链路可观测最佳实践
aws
亚林瓜子7 天前
在AWS Athena中使用json_extract_scalar函数对某个json字段进行过滤和分组统计
sql·json·aws·athena
墨客希8 天前
通俗易懂的 理解EFS 的挂载目标和接入点
aws
weixin_307779139 天前
Jenkins JSON Path API 插件详解:CI/CD 中的数据提取利器
运维·ci/cd·架构·云计算·aws