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

相关推荐
yyuuuzz2 天前
谷歌云使用的几个常见注意事项
运维·服务器·网络·安全·web安全·云计算·aws
zhojiew2 天前
在AWS中国区的EMR集群中实现基于向量语义搜索的HBase运维诊断系统
运维·hbase·aws
yyuuuzz2 天前
独立开发者线上服务运维的几点实践经验
运维·服务器·网络·云计算·aws
zhojiew2 天前
使用DBT(data build tool)集成AWS Athena完成数据处理的实践
云计算·aws
yyuuuzz4 天前
aws的核心概念与常见使用场景
运维·服务器·网络·云计算·aws
zhojiew4 天前
在AWS云上使用EC2 嵌套虚拟化实例部署Cube Sandbox的实践和问题
云计算·aws
yyuuuzz5 天前
国际云服务器的技术特点与使用经验
运维·服务器·网络·数据库·云计算·aws
我是小邵6 天前
从 Supabase 迁移到 AWS 的云架构演进实践
架构·云计算·aws
炸裂狸花猫6 天前
开源身份认证与访问管理平台 - Keycloak(三)公有云Console集成实践(AWS / 阿里云 / OCI)
阿里云·云原生·keycloak·aws·oci·sso
xixixi777777 天前
AI的“账号”与“钱包”:AWS与Circle同日出手,AI正从工具进化
人工智能·安全·ai·大模型·云计算·aws