View a markdown version of this page

使用managing-amazon-msk技能分析最佳實務 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用managing-amazon-msk技能分析最佳實務

managing-amazon-msk 技能是 GitHub 上的客服人員AWS 工具組客服人員技能網站上的開放原始碼客服人員技能,提供操作 Amazon MSK 佈建叢集的領域專業知識。在 MCP 相容 AI 編碼代理程式 (例如 Kiro、Claude Code、 等) 中安裝技能後Cursor,該技能可讓 AI 代理程式協助您根據最佳實務評估叢集和用戶端、診斷操作問題,以及實作標準和 Express 代理程式和Kafka用戶端的建議組態。此技能編碼 MSK 特定的操作知識,一般用途 AI 模型經常誤用或省略。

功能

此技能涵蓋以下領域,每個領域都對應至本指南中記錄的最佳實務。

最佳實務領域 技能能協助您做什麼
1 標準代理程式的最佳實務 (標準) 評估每個代理程式的分割區計數、建議執行個體大小、評估num.io.threadsnum.network.threads調校 m5.4xl+ 和 m7g.4xl+ 執行個體
2 Express 代理程式的最佳實務 (快速) 根據每個代理程式輸送量限制計算所需的代理程式計數、建議目標輸入/輸出的 Express 執行個體類型、根據 Express 配額評估分割區計數
3 監控 CPU 用量 診斷代理程式資源飽和度、區分代理程式端和用戶端根本原因和設定錯誤,以及判斷何時需要擴展
4 監控磁碟空間 評估標準代理程式的儲存用量、識別高成長主題、建議 EBS 擴展或保留調整。對於 Express,監控儲存使用率 (完全受管儲存) 以進行成本最佳化
5 連線至 Amazon MSK 佈建叢集 稽核生產者/消費者設定、設定身分驗證、調校高可用性和容錯能力
6 建置高可用性叢集 驗證適用於標準代理程式的高可用性組態和多可用區部署,以及用戶端容錯移轉組態
7 監控 Amazon MSK 佈建叢集 為對 Amazon MSK 可觀測性和操作至關重要的關鍵指標建立 CloudWatch 儀表板和警示
8 Amazon MSK 主要功能和概念 評估叢集是否準備好更新、了解標準和快速之間的修補行為、了解代理程式重新啟動對用戶端的影響

運作方式

當您向 AI 編碼代理程式詢問有關 Amazon MSK 的問題時,例如「為什麼我的 MSK 叢集 CPU 很高?」 或「協助我設定我的 Express 叢集的監控」 — 技能會啟用並提供代理程式:

  • 診斷工作流程 — 首先檢查最可能根本原因的結構化故障診斷步驟 (例如,在建議代理程式擴展 CPU 問題linger.ms之前進行驗證)。

  • 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 文件,請參閱使用 CLI AWS 管理技能

選項 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 代理程式效能

提示:「My Express 叢集有 3 個 express.m7g.large 代理程式,而我看到調節。有什麼問題?」

技能:

  • 識別 express.m7g.large支援每個代理程式 15.6 MBps 的輸入和 31.2 MBps 的輸出。

  • 詢問您目前的輸送量或執行 CloudWatch 查詢以檢查 BytesInPerSecBytesOutPerSec

  • 如果輸送量超過每個代理程式的限制,建議擴展express.m7g.xlarge或新增代理程式。

  • 檢查 ProduceThrottleTimeFetchThrottleTime指標。

稽核用戶端組態

提示:「檢閱我的 Kafka 生產者組態以取得 MSK 的最佳實務」

技能:

  • 檢查關鍵組態,例如 linger.msbuffer.memory、、 acks batch.size等,以了解效能和耐久性考量。

  • 為您的案例提供建議,以調整組態、改善效能並確保高可用性。

設定監控和警示

提示:「協助我依照最佳實務設定 MSK 叢集的 CloudWatch 監控」

技能:

  • 為 CPU 使用率 (CpuUser + CpuSystem)RequestHandlerAvgIdlePercent、 等關鍵指標建立警示,以監控代理程式飽和度。

  • 對於標準:新增KafkaDataLogsDiskUsed > 85%警示和UnderReplicatedPartitions > 0警示。

  • 對於 Express:新增成本最佳化的StorageUsed監控。

  • 設定每個代理程式、每個主題和per-consumer-group儀表板。

原始程式碼和貢獻

managing-amazon-msk 技能是開放原始碼。您可以檢閱原始程式碼、建議改進,或提供新功能。

歡迎透過 GitHub 問題或提取請求,提供其他最佳實務案例、新使用案例或更正的意見回饋。