

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

# Amazon MSK 佈建叢集的建議 CloudWatch 警示
<a name="bestpractices-cw-alarms"></a>

監控您的 Amazon MSK 佈建叢集，在問題影響您的應用程式之前對其進行偵測。當 CloudWatch 指標在經過一些時間超過指定的值時，CloudWatch 警示會執行動作。例如，如果您的分割區計數超過代理程式執行個體大小的建議值超過 15 分鐘，您可能會想要收到電子郵件通知。建議使用下表中的關鍵警示，但它們不是您可以建立來監控叢集的警示完整清單。

如需設定警示的詳細資訊，請參閱《[Amazon CloudWatch 使用者指南》中的建立 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。 *Amazon CloudWatch *

下表列出同時適用於標準和快速代理程式的警示。


| 警示 | 問題 | 
| --- | --- | 
| `CPUUser` \+ `CPUSystem`平均 >= 60 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一或多個代理程式的平均 CPUUser\+CPUSystem 超過建議的 60%。如需詳細資訊，請參閱 [監控 CPU 用量](bestpractices.md#bestpractices-monitor-cpu)。 | 
| `PartitionCount` 平均 >= *X* 持續 5 分鐘，連續 3 次 (*X* = 中介裝置執行個體大小的建議分割區計數）<br />維度：`Cluster Name`、`Broker ID` | 一或多個代理程式的分割區大於建議的分割區計數限制。如需了解詳細資訊，請參閱 [正確調整叢集大小：每個標準代理程式的分割區數量](bestpractices.md#partitions-per-broker) 和 [快速代理程式分割區配額](limits.md#msk-express-broker-partition-quota)。 | 
| `SumOffsetLag` 平均 >= *X* 持續 5 分鐘，連續 3 次 （根據使用案例為取用者群組和主題組合設定 *X*)<br />維度：`Cluster Name`、`Consumer Group`、`Topic` | 主題中所有分割區的彙總位移延遲超過 *X*。 如需延遲的詳細資訊，您可以使用分割區層級`Offset`指標，其代表每個分割區的延遲，或使用 Kafka 命令列工具來描述取用者群組。檢閱消費者應用程式相對於生產者的處理速度，以了解消費者是否無法跟上進度，並檢查是否有任何消費者重新平衡減緩消費者速度。 | 

下表列出僅適用於標準代理程式的警示。


| 警示 | 問題 | 
| --- | --- | 
| `OfflinePartitionsCount` 平均 >= 1 持續 1 分鐘，連續 3 次<br />維度：`Cluster Name` | 一或多個主題分割區無法使用。當分割區無法使用時，產生和使用這些分割區的操作會失敗。離線分割區不應發生在平衡良好、大小正確且設定正確的叢集上。如需詳細資訊，請參閱 [建置高可用性叢集](bestpractices.md#ensure-high-availability)。 | 
| `UnderMinIsrPartitionCount` 平均 >= 1 持續 1 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一或多個主題具有低於最小設定同步內複本集 (ISR) 的分割區。當分割區低於最小 ISR 時，產生操作會失敗 （使用生產者 `acks=all`)。如需詳細資訊，請參閱 [建置高可用性叢集](bestpractices.md#ensure-high-availability)。 | 
| `KafkaDataLogsDiskUsed` 平均 >= 80 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一個或多個代理程式的資料磁碟用量為 80% 或以上。如需詳細資訊，請參閱 [監控磁碟空間](bestpractices.md#bestpractices-monitor-disk-space)。 | 
| `HeapMemoryAfterGC` 平均 >= 60 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一或多個中介裝置在垃圾回收後，有 60% 或更多的總堆積記憶體在使用中。如需詳細資訊，請參閱 [監控 Apache Kafka 記憶體](bestpractices.md#bestpractices-monitor-memory)。 | 
| (Sum(`VolumeReadBytes`) \+ Sum(`VolumeWriteBytes`)) / (5 \* 60 \* 1024 \* 1024) >= *X* MiB 持續 5 分鐘，連續 3 次 (*X* = 可用磁碟區輸送量的 80%)<br />維度：`Cluster Name`、`Broker ID` | 一或多個代理程式具有基礎磁碟區讀取和寫入活動，使用其最多 80% 的可用磁碟區輸送量。若要進一步了解，請參閱[佈建的儲存輸送量](https://docs.aws.amazon.com/msk/latest/developerguide/msk-provision-throughput-management.html)。 | 
| `CPUCreditBalance` 平均 <= 100 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 這僅與 t3.small 代理程式類型相關。一個或多個代理程式已耗盡其 CPU 點數餘額，從最高 576 到低於 100。當餘額達到 0 時，代理程式不能超過 20% CPU 基準。若要避免 CPU 點數耗盡，請從 t3 代理程式執行個體類型升級至不使用 CPU 點數的 m7g 執行個體類型。 | 
| `RequestHandlerAvgIdlePercent` 平均 <= 0.3 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一個或多個代理程式正在負責處理請求的執行緒集區上看到活動擁塞 （執行緒集區閒置少於 30%)。此處的飽和度表示請求緩慢，這可能會導致用戶端逾時。此外，請檢閱您的用戶端是否產生過多的請求。例如，未經授權的用戶端可能會積極重試代理程式拒絕的請求。若要進一步了解如何最佳化叢集輸送量，請參閱 [最佳化 m5.4xl、m7g.4xl 或更大執行個體的叢集輸送量](bestpractices.md#optimize-broker-threads)。 | 
| `NetworkProcessorAvgIdlePercent` 平均 <= 0.3 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 一個或多個代理程式正在網路連線執行緒集區上看到活動擁塞 （執行緒集區閒置不到 30%)。此處的飽和度可能會導致逾時。此外，請檢閱您的用戶端是否產生過多的請求。例如，未經授權的用戶端可能會積極重試代理程式拒絕的請求。若要進一步了解如何最佳化叢集輸送量，請參閱 [最佳化 m5.4xl、m7g.4xl 或更大執行個體的叢集輸送量](bestpractices.md#optimize-broker-threads)。 | 
| `KafkaFileDescriptorsUsagePercent` > 80% 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 在代理程式上使用的檔案描述項百分比。在 100% 耗盡時，Kafka 代理程式可能無法啟動。檔案描述項計數會隨著分割區數量、每個分割區中的日誌區段數量，以及用戶端連線數量而增加。檢閱您是否有`segment.ms`值較低的主題導致頻繁的日誌滾動，並考慮減少用戶端連線的數量。 | 
| `KafkaMemoryMappedFilesUsagePercent` > 80% 持續 5 分鐘，連續 3 次<br />維度：`Cluster Name`、`Broker ID` | 在代理程式上使用的記憶體映射檔案百分比。在 100% 耗盡時，Kafka 代理程式可能無法啟動。記憶體映射檔案用量計數會隨著分割區數量和每個分割區中的日誌區段數量而增加。檢閱您是否具有低`segment.ms`值的主題，導致經常滾動日誌。 | 

## IAM 存取控制警示
<a name="bestpractices-cw-alarms-iam"></a>

除了上述警示之外，我們建議為下列 IAM 存取控制特定的指標建立警示。這些警示適用於已啟用 IAM 身分驗證的標準和快速代理程式。Amazon MSK 會對 IAM 連線設定邏輯限制，以保護代理程式免於 IAM 連線請求過載。違反任何這些限制會導致用戶端連線逾時，這將影響您的工作負載。


| 警示 | 問題 | 
| --- | --- | 
| `ClientConnectionCount` 總和 >= *X* 持續 1 分鐘，連續 3 次 (*X* = 每個代理程式的最大 TCP 連線數的 80%)<br />維度：`Cluster Name`、`Broker ID`、`Client Authentication` | 一個或多個代理程式的連線計數等於連線限制的 80%。IAM 存取控制的每個代理程式預設 TCP 連線數上限為 3000。您可以變更此值。如需詳細資訊，請參閱[Amazon MSK Express 代理程式配額](limits.md#msk-express-quota)適用於 Express 代理程式的 和[Amazon MSK Standard 代理程式配額](limits.md#msk-provisioned-quota)適用於標準代理程式的 。 | 
| `ConnectionCreationRate` 總和 >= *X* 持續 1 分鐘，連續 3 次 (*X* = 執行個體大小連線建立速率限制的 80%)<br />維度：`Cluster Name`、`Broker ID` | 一個或多個代理程式的用戶端建立 IAM 連線的速率等於其連線建立速率限制的 80%。IAM 存取控制的每個代理程式的最大 TCP 連線速率取決於執行個體大小。如需詳細資訊，請參閱[Amazon MSK Express 代理程式配額](limits.md#msk-express-quota)適用於 Express 代理程式的 和[Amazon MSK Standard 代理程式配額](limits.md#msk-provisioned-quota)適用於標準代理程式的 。 | 