本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch 警示會在指定期間內監看單一指標,並根據指標相對於一段時間內閾值的值,執行一或多個指定的動作。動作是傳送至 Amazon SNS主題或 Auto Scaling 政策的通知。您也可以將警示新增至儀表板,以便監控和接收跨多個區域的 AWS 資源和應用程式的提醒。您可以建立的警示數目沒有限制。 CloudWatch alarms 不會單純因為動作處於特定狀態而叫用動作;狀態必須已變更並維持在指定的期間數目。如需建議的 DynamoDB 警示清單,請參閱建議的警示。
注意
建立 CloudWatch 警示時,您必須指定所有必要的維度,因為 CloudWatch 不會彙總缺少維度的指標。建立 CloudWatch缺少維度的警示時,不會導致錯誤。
假設您有一個佈建資料表,其中包含五個讀取容量單位。您希望在取用整個佈建的讀取容量之前收到通知,因此您決定建立 CloudWatch 警示,以便在取用的容量達到資料表佈建內容的 80% 時收到通知。您可以在 CloudWatch 主控台或使用 建立警示 AWS CLI。
在 CloudWatch 主控台中建立警示
在 CloudWatch 主控台中建立警示
登入 AWS Management Console 並在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/
。 -
在導覽窗格中,選擇 Alarms (警示)、All alarms (所有警示)。
-
選擇 Create alarm (建立警示)。
-
在 指標名稱
ConsumeReadCapacityUnits
欄中尋找包含您要監控之資料表的資料列。選取此列旁的核取方塊,然後選擇選取指標。 -
在指定指標和條件下,針對統計資訊選擇總和。選擇 1 分鐘的期間。
-
在 Conditions (條件) 下,指定以下內容:
-
對於閾值類型,選擇靜態。
-
對於常數
ConsumedReadCapacityUnits
為 ,選擇大於/等於,並將閾值指定為 240。
-
-
選擇 Next (下一步)。
-
在通知下,選擇要在警示處於
ALARM
狀態時通知In alarm
SNS的主題。 -
完成時,請選擇下一步。
-
輸入警示的名稱和說明,然後選擇 Next (下一步)。
-
在 Preview and create (預覽及建立) 下,請確認資訊和條件都是您希望的內容,然後選擇 Create alarm (建立警示)。
在 中建立警示 AWS CLI
aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
測試警示。
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value OK
aws cloudwatch set-alarm-state -\-alarm-name ReadCapacityUnitsLimitAlarm -\-state-reason "initializing" -\-state-value ALARM
更多 AWS CLI 範例
下列程序說明如果您的請求超過資料表的佈建調節配額,將如何通知您。
建立 Amazon SNS主題
arn:aws:sns:us-east-1:123456789012:requests-exceeding-throughput
。如需詳細資訊,請參閱設定 Amazon Simple Notification Service。-
建立警示。
aws cloudwatch put-metric-alarm \ -\-alarm-name ReadCapacityUnitsLimitAlarm \ -\-alarm-description "Alarm when read capacity reaches 80% of my provisioned read capacity" \ -\-namespace AWS/DynamoDB \ -\-metric-name ConsumedReadCapacityUnits \ -\-dimensions Name=TableName,Value=myTable \ -\-statistic Sum \ -\-threshold 240 \ -\-comparison-operator GreaterThanOrEqualToThreshold \ -\-period 60 \ -\-evaluation-periods 1 \ -\-alarm-actions arn:aws:sns:us-east-1:123456789012:capacity-alarm
-
測試警示。
aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value OK
aws cloudwatch set-alarm-state --alarm-name RequestsExceedingThroughputAlarm --state-reason "initializing" --state-value ALARM
下列程序說明當您發生系統錯誤時,如何收到通知。
建立 Amazon SNS主題
arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
。如需詳細資訊,請參閱設定 Amazon Simple Notification Service。-
建立警示。
aws cloudwatch put-metric-alarm \ --alarm-name SystemErrorsAlarm \ --alarm-description "Alarm when system errors occur" \ --namespace AWS/DynamoDB \ --metric-name SystemErrors \ --dimensions Name=TableName,Value=myTable Name=Operation,Value=aDynamoDBOperation \ --statistic Sum \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --period 60 \ --unit Count \ --evaluation-periods 1 \ --treat-missing-data breaching \ --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
-
測試警示。
aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value OK
aws cloudwatch set-alarm-state --alarm-name SystemErrorsAlarm --state-reason "initializing" --state-value ALARM