View a markdown version of this page

使用 managing-amazon-m sk 技能分析最佳实践 - Amazon Managed Streaming for Apache Kafka

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

使用 managing-amazon-m sk 技能分析最佳实践

managing-amazon-msk技能是代理技能网站上的 “代理工具包” 中的一项开源AWS 代理技能 GitHub ,为运行 Amazon MSK 预置集群提供领域专业知识。在 MCP-compatible AI 编码代理(如Kiro、CursorClaude Code、等)中安装该技能后,该技能可让 AI 代理帮助您根据最佳实践评估集群和客户端,诊断操作问题,并为标准和快捷经纪人和Kafka客户实施推荐的配置。该技能对通用人工智能模型经常误用或遗漏的 MSK-specific 操作知识进行编码。

功能

该技能涵盖以下领域,每个领域均符合本指南中记录的最佳实践。

最佳实践领域 该技能可以帮助你做什么
1 标准代理的最佳实践(标准) 评估每个代理的分区数量,推荐实例大小,评估num.io.threadsnum.network.threads调整 m5.4xl+ 和 m7g.4xl+ 实例
2 快速代理的最佳实践(快递) 根据每个代理的吞吐量限制计算所需的代理数量,推荐目标的 Express 实例类型 ingress/egress,根据 Express 配额评估分区数
3 监控 CPU 使用率 诊断经纪商资源饱和度,区分经纪人和客户端的根本原因和配置错误,并确定何时需要扩展
4 监控磁盘空间 评估标准经纪商的存储使用情况,确定高增长的话题,建议扩展EBS或调整保留率。对于 Express,监控存储利用率(存储完全管理)以优化成本
5 连接到预置 Amazon MSK 集群 审核 producer/consumer 设置、配置身份验证、调整高可用性和容错能力
6 构建高度可用的集群 验证标准代理的高可用性配置和多可用区部署以及客户端故障转移配置
7 监控预置 Amazon MSK 集群 为对 Amazon MSK 可观测性和运营至关重要的关键指标创建 CloudWatch 仪表板和警报
8 Amazon MSK 的关键功能和概念 评估集群更新准备情况,了解标准版和快速版之间的补丁行为,了解代理重启对客户端的影响

工作原理

当您向 AI 编码代理询问有关亚马逊 MSK 的问题时,例如 “为什么我的 MSK 集群 CPU 过高?” 或 “帮我设置对我的 Express 集群的监控” — 该技能将激活并为代理提供:

  • 诊断工作流程 — 结构化的故障排除步骤,首先检查最可能的根本原因(例如,linger.ms在建议代理扩展 CPU 问题之前进行验证)。

  • Broker-type-aware 指南 — 该技能决定您的集群使用标准代理还是快速代理,并针对该代理类型应用正确的指标、阈值和建议。

  • AWS CLI Ready-to-run 命令 — 用于描述集群、扩展存储、创建配置和查询 CloudWatch 指标的命令。

  • 最佳实践验证 — 根据记录的建议检查您的集群配置并标记偏差。

安装

选项 1: AWS CLI

需要 AWS CLI 版本 2.35.0 或更高版本。

# Interactive setup (installs default skills + configures AWS MCP Server) aws configure agent-toolkit # Or install the skill individually aws agent-toolkit add-skill --skill-name managing-amazon-msk

有关完整的 CLI 文档,请参阅使用 AWS CLI 管理技能

选项 2: AWS MCP 服务器

将您的 AI 编码代理连接到 AWS MCP 服务器,该服务器提供技能以及沙盒化 AWS API 执行功能。

{ "mcpServers": { "aws-mcp": { "command": "uvx", "args": [ "mcp-proxy-for-aws==1.6.2", "https://aws-mcp.us-east-1.api.aws/mcp", "--metadata", "AWS_REGION=us-east-1" ] } } }

有关完整设置说明,请参阅设置 AWS MCP 服务器

使用场景和示例

评估标准经纪商最佳实践

提示:“我有一个使用 kafka.m5.2xlarge 代理的 MSK 标准集群,每个代理有 2,500 个分区。我是否遵循最佳实践?”

技能:

  • 参照 m5.2xlarge 中每个代理建议的 2,000 个分区限制来检查您的分区数。

  • 警告您已超过建议数量,且已接近支持更新操作的最大值 3,000。

  • 建议减少分区或升级到 m5.4xlarge(每个代理支持 4,000 个分区)。

  • 检查您的num.io.threadsnum.network.threads设置,如果尺寸不足,建议进行调整。

诊断快递经纪商的表现

提示:“我的 Express 集群有 3 个 express.m7g.large 代理,而且我看到限制了。怎么了?”

技能:

  • 确定每个代理express.m7g.large支持 15.6 Mbps的入口和31.2 Mbps的出口。

  • 询问您当前的吞吐量或运行 CloudWatch 查询来检查BytesInPerSecBytesOutPerSec.

  • 如果吞吐量超过每个代理商的限制,建议扩展到express.m7g.xlarge或添加代理。

  • 检查ProduceThrottleTimeFetchThrottleTime衡量指标。

审核客户机配置

提示:“查看我的 Kafka 生产者配置,了解有关 MSK 的最佳实践”

技能:

  • 检查关键配置linger.ms,例如、acksbatch.sizebuffer.memory、等,以考虑性能和耐久性。

  • 为您的方案提供建议,以调整配置、提高性能并确保高可用性。

设置监控和警报

提示:“帮我按照最佳实践为我的 MSK 集群设置 CloudWatch 监控”

技能:

  • 为 CPU 利用率 (CpuUser + CpuSystem) 等关键指标创建警报RequestHandlerAvgIdlePercent,以及其他指标以监控代理饱和度。

  • 对于标准:添加KafkaDataLogsDiskUsed > 85%警报和UnderReplicatedPartitions > 0警报。

  • 对于 Express:添加StorageUsed监控以优化成本。

  • 设置每个经纪人、每个主题和每个消费者群体的仪表板。

源代码和贡献

managing-amazon-msk技能是开源的。您可以查看源代码、提出改进建议或贡献新功能。

欢迎通过 GitHub 问题或拉取请求就其他最佳实践场景、新用例或更正提供反馈。