使用 的 CloudWatch 範例 AWS CLI - AWS Command Line Interface

本文件 AWS CLI 僅適用於 第 1 版。如需 第 2 版的相關文件 AWS CLI,請參閱 第 2 版使用者指南

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

使用 的 CloudWatch 範例 AWS CLI

下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 CloudWatch 來執行動作和實作常見案例。

Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數,但您可以在其相關情境中查看內容中的動作。

每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。

主題

動作

下列程式碼範例示範如何使用 delete-alarms

AWS CLI

刪除警示

下列範例會使用 delete-alarms 命令刪除名為 "myalarm" 的 Amazon CloudWatch 警示:

aws cloudwatch delete-alarms --alarm-names myalarm

輸出:

This command returns to the prompt if successful.
  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 DeleteAlarms

下列程式碼範例示範如何使用 delete-anomaly-detector

AWS CLI

刪除指定的異常偵測模型

下列delete-anomaly-detector範例會刪除指定帳戶中的異常偵測器模型。

aws cloudwatch delete-anomaly-detector \ --namespace AWS/Logs \ --metric-name IncomingBytes \ --stat SampleCount

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的刪除異常偵測模型

下列程式碼範例示範如何使用 delete-dashboards

AWS CLI

刪除指定的儀表板

下列delete-dashboards範例會刪除指定帳戶中名為 Dashboard-ADashboard-B 的兩個儀表板。

aws cloudwatch delete-dashboards \ --dashboard-names Dashboard-A Dashboard-B

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 儀表板Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteDashboards

下列程式碼範例示範如何使用 delete-insight-rules

AWS CLI

刪除指定的貢獻者洞見規則

下列delete-insight-rules範例會刪除指定帳戶中名為 Rule-ARule-B的兩個貢獻者洞察規則。

aws cloudwatch delete-insight-rules \ --rule-names Rule-A Rule-B

輸出:

{ "Failures": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Contributor Insights 來分析高基數資料

下列程式碼範例示範如何使用 delete-metric-stream

AWS CLI

刪除指定的指標串流

下列delete-metric-stream範例會刪除指定帳戶中名為 QuickPartial-gSCKvO的指標串流。

aws cloudwatch delete-metric-stream \ --name QuickPartial-gSCKvO

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用指標串流

下列程式碼範例示範如何使用 describe-alarm-history

AWS CLI

若要擷取警示的歷史記錄

下列範例會使用 describe-alarm-history 命令擷取名為 "myalarm" 的 Amazon CloudWatch 警示的歷史記錄:

aws cloudwatch describe-alarm-history --alarm-name "myalarm" --history-item-type StateUpdate

輸出:

{ "AlarmHistoryItems": [ { "Timestamp": "2014-04-09T18:59:06.442Z", "HistoryItemType": "StateUpdate", "AlarmName": "myalarm", "HistoryData": "{\"version\":\"1.0\",\"oldState\":{\"stateValue\":\"ALARM\",\"stateReason\":\"testing purposes\"},\"newState\":{\"stateValue\":\"OK\",\"stateReason\":\"Threshold Crossed: 2 datapoints were not greater than the threshold (70.0). The most recent datapoints: [38.958, 40.292].\",\"stateReasonData\":{\"version\":\"1.0\",\"queryDate\":\"2014-04-09T18:59:06.419+0000\",\"startDate\":\"2014-04-09T18:44:00.000+0000\",\"statistic\":\"Average\",\"period\":300,\"recentDatapoints\":[38.958,40.292],\"threshold\":70.0}}}", "HistorySummary": "Alarm updated from ALARM to OK" }, { "Timestamp": "2014-04-09T18:59:05.805Z", "HistoryItemType": "StateUpdate", "AlarmName": "myalarm", "HistoryData": "{\"version\":\"1.0\",\"oldState\":{\"stateValue\":\"OK\",\"stateReason\":\"Threshold Crossed: 2 datapoints were not greater than the threshold (70.0). The most recent datapoints: [38.839999999999996, 39.714].\",\"stateReasonData\":{\"version\":\"1.0\",\"queryDate\":\"2014-03-11T22:45:41.569+0000\",\"startDate\":\"2014-03-11T22:30:00.000+0000\",\"statistic\":\"Average\",\"period\":300,\"recentDatapoints\":[38.839999999999996,39.714],\"threshold\":70.0}},\"newState\":{\"stateValue\":\"ALARM\",\"stateReason\":\"testing purposes\"}}", "HistorySummary": "Alarm updated from OK to ALARM" } ] }

下列程式碼範例示範如何使用 describe-alarms-for-metric

AWS CLI

顯示與指標相關聯的警示資訊

下列範例使用 describe-alarms-for-metric 命令,顯示與 Amazon EC2 CPUUtilization 指標和 ID 為 i-0c986c72 的執行個體相關聯之任何警示的資訊:

aws cloudwatch describe-alarms-for-metric --metric-name CPUUtilization --namespace AWS/EC2 --dimensions Name=InstanceId,Value=i-0c986c72

輸出:

{ "MetricAlarms": [ { "EvaluationPeriods": 10, "AlarmArn": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:myHighCpuAlarm2", "StateUpdatedTimestamp": "2013-10-30T03:03:51.479Z", "AlarmConfigurationUpdatedTimestamp": "2013-10-30T03:03:50.865Z", "ComparisonOperator": "GreaterThanOrEqualToThreshold", "AlarmActions": [ "arn:aws:sns:us-east-1:111122223333:NotifyMe" ], "Namespace": "AWS/EC2", "AlarmDescription": "CPU usage exceeds 70 percent", "StateReasonData": "{\"version\":\"1.0\",\"queryDate\":\"2013-10-30T03:03:51.479+0000\",\"startDate\":\"2013-10-30T02:08:00.000+0000\",\"statistic\":\"Average\",\"period\":300,\"recentDatapoints\":[40.698,39.612,42.432,39.796,38.816,42.28,42.854,40.088,40.760000000000005,41.316],\"threshold\":70.0}", "Period": 300, "StateValue": "OK", "Threshold": 70.0, "AlarmName": "myHighCpuAlarm2", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0c986c72" } ], "Statistic": "Average", "StateReason": "Threshold Crossed: 10 datapoints were not greater than or equal to the threshold (70.0). The most recent datapoints: [40.760000000000005, 41.316].", "InsufficientDataActions": [], "OKActions": [], "ActionsEnabled": true, "MetricName": "CPUUtilization" }, { "EvaluationPeriods": 2, "AlarmArn": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:myHighCpuAlarm", "StateUpdatedTimestamp": "2014-04-09T18:59:06.442Z", "AlarmConfigurationUpdatedTimestamp": "2014-04-09T22:26:05.958Z", "ComparisonOperator": "GreaterThanThreshold", "AlarmActions": [ "arn:aws:sns:us-east-1:111122223333:HighCPUAlarm" ], "Namespace": "AWS/EC2", "AlarmDescription": "CPU usage exceeds 70 percent", "StateReasonData": "{\"version\":\"1.0\",\"queryDate\":\"2014-04-09T18:59:06.419+0000\",\"startDate\":\"2014-04-09T18:44:00.000+0000\",\"statistic\":\"Average\",\"period\":300,\"recentDatapoints\":[38.958,40.292],\"threshold\":70.0}", "Period": 300, "StateValue": "OK", "Threshold": 70.0, "AlarmName": "myHighCpuAlarm", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0c986c72" } ], "Statistic": "Average", "StateReason": "Threshold Crossed: 2 datapoints were not greater than the threshold (70.0). The most recent datapoints: [38.958, 40.292].", "InsufficientDataActions": [], "OKActions": [], "ActionsEnabled": false, "MetricName": "CPUUtilization" } ] }

下列程式碼範例示範如何使用 describe-alarms

AWS CLI

列出有關警示的資訊

下列範例使用 describe-alarms 命令提供名為 "myalarm" 的警示相關資訊:

aws cloudwatch describe-alarms --alarm-names "myalarm"

輸出:

{ "MetricAlarms": [ { "EvaluationPeriods": 2, "AlarmArn": "arn:aws:cloudwatch:us-east-1:123456789012:alarm:myalarm", "StateUpdatedTimestamp": "2014-04-09T18:59:06.442Z", "AlarmConfigurationUpdatedTimestamp": "2012-12-27T00:49:54.032Z", "ComparisonOperator": "GreaterThanThreshold", "AlarmActions": [ "arn:aws:sns:us-east-1:123456789012:myHighCpuAlarm" ], "Namespace": "AWS/EC2", "AlarmDescription": "CPU usage exceeds 70 percent", "StateReasonData": "{\"version\":\"1.0\",\"queryDate\":\"2014-04-09T18:59:06.419+0000\",\"startDate\":\"2014-04-09T18:44:00.000+0000\",\"statistic\":\"Average\",\"period\":300,\"recentDatapoints\":[38.958,40.292],\"threshold\":70.0}", "Period": 300, "StateValue": "OK", "Threshold": 70.0, "AlarmName": "myalarm", "Dimensions": [ { "Name": "InstanceId", "Value": "i-0c986c72" } ], "Statistic": "Average", "StateReason": "Threshold Crossed: 2 datapoints were not greater than the threshold (70.0). The most recent datapoints: [38.958, 40.292].", "InsufficientDataActions": [], "OKActions": [], "ActionsEnabled": true, "MetricName": "CPUUtilization" } ] }
  • 如需 API 的詳細資訊,請參閱《AWS CLI 命令參考》中的 DescribeAlarms

下列程式碼範例示範如何使用 describe-anomaly-detectors

AWS CLI

擷取異常偵測模型的清單

下列describe-anomaly-detectors範例顯示與指定帳戶中AWS/Logs的命名空間相關聯的異常偵測器模型相關資訊。

aws cloudwatch describe-anomaly-detectors \ --namespace AWS/Logs

輸出:

{ "AnomalyDetectors": [ { "Namespace": "AWS/Logs", "MetricName": "IncomingBytes", "Dimensions": [], "Stat": "SampleCount", "Configuration": { "ExcludedTimeRanges": [] }, "StateValue": "TRAINED", "SingleMetricAnomalyDetector": { "AccountId": "123456789012", "Namespace": "AWS/Logs", "MetricName": "IncomingBytes", "Dimensions": [], "Stat": "SampleCount" } }, { "Namespace": "AWS/Logs", "MetricName": "IncomingBytes", "Dimensions": [ { "Name": "LogGroupName", "Value": "demo" } ], "Stat": "Average", "Configuration": { "ExcludedTimeRanges": [] }, "StateValue": "PENDING_TRAINING", "SingleMetricAnomalyDetector": { "AccountId": "123456789012", "Namespace": "AWS/Logs", "MetricName": "IncomingBytes", "Dimensions": [ { "Name": "LogGroupName", "Value": "demo" } ], "Stat": "Average" } } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 CloudWatch 異常偵測Amazon CloudWatch

下列程式碼範例示範如何使用 describe-insight-rules

AWS CLI

擷取 Contributor Insights 規則的清單

下列describe-insight-rules範例顯示指定帳戶中的所有 Contributor Insight 規則。

aws cloudwatch describe-insight-rules

輸出:

{ "InsightRules": [ { "Name": "Rule-A", "State": "ENABLED", "Schema": "CloudWatchLogRule/1", "Definition": "{\n\t\"AggregateOn\": \"Count\",\n\t\"Contribution\": {\n\t\t\"Filters\": [],\n\t\t\"Keys\": [\n\t\t\t\"$.requestId\"\n\t\t]\n\t},\n\t\"LogFormat\": \"JSON\",\n\t\"Schema\": {\n\t\t\"Name\": \"CloudWatchLogRule\",\n\t\t\"Version\": 1\n\t},\n\t\"LogGroupARNs\": [\n\t\t\"arn:aws:logs:us-east-1:123456789012:log-group:demo\"\n\t]\n}", "ManagedRule": false }, { "Name": "Rule-B", "State": "ENABLED", "Schema": "CloudWatchLogRule/1", "Definition": "{\n\t\"AggregateOn\": \"Count\",\n\t\"Contribution\": {\n\t\t\"Filters\": [],\n\t\t\"Keys\": [\n\t\t\t\"$.requestId\"\n\t\t]\n\t},\n\t\"LogFormat\": \"JSON\",\n\t\"Schema\": {\n\t\t\"Name\": \"CloudWatchLogRule\",\n\t\t\"Version\": 1\n\t},\n\t\"LogGroupARNs\": [\n\t\t\"arn:aws:logs:us-east-1:123456789012:log-group:demo-1\"\n\t]\n}", "ManagedRule": false } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Contributor Insights 來分析高基數資料

下列程式碼範例示範如何使用 disable-alarm-actions

AWS CLI

停用警示的動作

下列範例使用 disable-alarm-actions 命令來停用名為 myalarm 之警示的所有動作:

aws cloudwatch disable-alarm-actions --alarm-names myalarm

如果成功,此命令會回到提示字元。

下列程式碼範例示範如何使用 disable-insight-rules

AWS CLI

停用指定的貢獻者洞見規則

下列disable-insight-rules範例會在指定的帳戶中停用兩個名為 Rule-ARule-B的貢獻者洞察規則。

aws cloudwatch disable-insight-rules \ --rule-names Rule-A Rule-B

輸出:

{ "Failures": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Contributor Insights 來分析高基數資料

下列程式碼範例示範如何使用 enable-alarm-actions

AWS CLI

啟用警示的所有動作

下列範例使用 enable-alarm-actions 命令來啟用名為 myalarm 之警示的所有動作:

aws cloudwatch enable-alarm-actions --alarm-names myalarm

如果成功,此命令會回到提示字元。

  • 如需 API 的詳細資訊,請參閱《AWS CLI 命令參考》中的 EnableAlarmActions

下列程式碼範例示範如何使用 enable-insight-rules

AWS CLI

啟用指定的參與者洞見規則

下列enable-insight-rules範例會在指定的帳戶中啟用兩個名為 Rule-ARule-B的貢獻者洞察規則。

aws cloudwatch enable-insight-rules \ --rule-names Rule-A Rule-B

輸出:

{ "Failures": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Contributor Insights 來分析高基數資料

下列程式碼範例示範如何使用 get-dashboard

AWS CLI

擷取儀表板的相關資訊

下列get-dashboard範例顯示Dashboard-A指定帳戶中名為 的儀表板相關資訊。

aws cloudwatch get-dashboard \ --dashboard-name Dashboard-A

輸出:

{ "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-A", "DashboardBody": "{\"widgets\":[{\"type\":\"metric\",\"x\":0,\"y\":0,\"width\":6,\"height\":6,\"properties\":{\"view\":\"timeSeries\",\"stacked\":false,\"metrics\":[[\"AWS/EC2\",\"NetworkIn\",\"InstanceId\",\"i-0131f062232ade043\"],[\".\",\"NetworkOut\",\".\",\".\"]],\"region\":\"us-east-1\"}}]}", "DashboardName": "Dashboard-A" }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 儀表板Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetDashboard

下列程式碼範例示範如何使用 get-insight-rule-report

AWS CLI

擷取 Contributor Insights 規則所收集的時間序列資料

下列get-insight-rule-report範例會傳回 Contributor Insights 規則收集的時間序列資料。

aws cloudwatch get-insight-rule-report \ --rule-name Rule-A \ --start-time 2024-10-13T20:15:00Z \ --end-time 2024-10-13T20:30:00Z \ --period 300

輸出:

{ "KeyLabels": [ "PartitionKey" ], "AggregationStatistic": "Sum", "AggregateValue": 0.5, "ApproximateUniqueCount": 1, "Contributors": [ { "Keys": [ "RequestID" ], "ApproximateAggregateValue": 0.5, "Datapoints": [ { "Timestamp": "2024-10-13T21:00:00+00:00", "ApproximateValue": 0.5 } ] } ], "RuleAttributes": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Contributor Insights 來分析高基數資料

下列程式碼範例示範如何使用 get-metric-data

AWS CLI

範例 1:使用數學表達式取得指定 EC2 的平均總 IOPS

下列get-metric-data範例i-abcdef使用結合 EBSReadOps和 指標的指標數學探索,擷取具有 InstanceID 的 EC2 執行個體的 CloudWatch EBSWriteOps指標值。

aws cloudwatch get-metric-data \ --metric-data-queries file://file.json \ --start-time 2024-09-29T22:10:00Z \ --end-time 2024-09-29T22:15:00Z

file.json 的內容:

[ { "Id": "m3", "Expression": "(m1+m2)/300", "Label": "Avg Total IOPS" }, { "Id": "m1", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "EBSReadOps", "Dimensions": [ { "Name": "InstanceId", "Value": "i-abcdef" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false }, { "Id": "m2", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "EBSWriteOps", "Dimensions": [ { "Name": "InstanceId", "Value": "i-abcdef" } ] }, "Period": 300, "Stat": "Sum", "Unit": "Count" }, "ReturnData": false } ]

輸出:

{ "MetricDataResults": [ { "Id": "m3", "Label": "Avg Total IOPS", "Timestamps": [ "2024-09-29T22:10:00+00:00" ], "Values": [ 96.85 ], "StatusCode": "Complete" } ], "Messages": [] }

範例 2:使用 CloudWatch 帳單指標監控預估 AWS 費用

下列get-metric-data範例會從 AWS/計費命名空間擷取 EstimatedCharges CloudWatch 指標。

aws cloudwatch get-metric-data \ --metric-data-queries '[{"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/Billing","MetricName":"EstimatedCharges","Dimensions":[{"Name":"Currency","Value":"USD"}]},"Period":21600,"Stat":"Maximum"}}]' \ --start-time 2024-09-26T12:00:00Z \ --end-time 2024-09-26T18:00:00Z \ --region us-east-1

輸出:

{ "MetricDataResults": [ { "Id": "m1", "Label": "EstimatedCharges", "Timestamps": [ "2024-09-26T12:00:00+00:00" ], "Values": [ 542.38 ], "StatusCode": "Complete" } ], "Messages": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的搭配 CloudWatch 指標使用數學表達式。 Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetMetricData

下列程式碼範例示範如何使用 get-metric-statistics

AWS CLI

取得每個 EC2 執行個體的 CPU 使用率

下列範例使用 get-metric-statistics 命令來取得 ID 為 i-abcdef 之 EC2 執行個體的 CPU 使用率。

aws cloudwatch get-metric-statistics --metric-name CPUUtilization --start-time 2014-04-08T23:18:00Z --end-time 2014-04-09T23:18:00Z --period 3600 --namespace AWS/EC2 --statistics Maximum --dimensions Name=InstanceId,Value=i-abcdef

輸出:

{ "Datapoints": [ { "Timestamp": "2014-04-09T11:18:00Z", "Maximum": 44.79, "Unit": "Percent" }, { "Timestamp": "2014-04-09T20:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T19:18:00Z", "Maximum": 50.85, "Unit": "Percent" }, { "Timestamp": "2014-04-09T09:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T03:18:00Z", "Maximum": 76.84, "Unit": "Percent" }, { "Timestamp": "2014-04-09T21:18:00Z", "Maximum": 48.96, "Unit": "Percent" }, { "Timestamp": "2014-04-09T14:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T08:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T16:18:00Z", "Maximum": 45.55, "Unit": "Percent" }, { "Timestamp": "2014-04-09T06:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T13:18:00Z", "Maximum": 45.08, "Unit": "Percent" }, { "Timestamp": "2014-04-09T05:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T18:18:00Z", "Maximum": 46.88, "Unit": "Percent" }, { "Timestamp": "2014-04-09T17:18:00Z", "Maximum": 52.08, "Unit": "Percent" }, { "Timestamp": "2014-04-09T07:18:00Z", "Maximum": 47.92, "Unit": "Percent" }, { "Timestamp": "2014-04-09T02:18:00Z", "Maximum": 51.23, "Unit": "Percent" }, { "Timestamp": "2014-04-09T12:18:00Z", "Maximum": 47.67, "Unit": "Percent" }, { "Timestamp": "2014-04-08T23:18:00Z", "Maximum": 46.88, "Unit": "Percent" }, { "Timestamp": "2014-04-09T10:18:00Z", "Maximum": 51.91, "Unit": "Percent" }, { "Timestamp": "2014-04-09T04:18:00Z", "Maximum": 47.13, "Unit": "Percent" }, { "Timestamp": "2014-04-09T15:18:00Z", "Maximum": 48.96, "Unit": "Percent" }, { "Timestamp": "2014-04-09T00:18:00Z", "Maximum": 48.16, "Unit": "Percent" }, { "Timestamp": "2014-04-09T01:18:00Z", "Maximum": 49.18, "Unit": "Percent" } ], "Label": "CPUUtilization" }

指定多個維度

下列範例說明如何指定多個維度。每個維度都指定為「名稱/值」對,名稱和值之間用逗號分隔。使用空格分隔多個維度。如果單一指標包含多個維度,則必須為每個定義的維度指定值。

如需有關使用 get-metric-statistics 命令的更多範例,請參閱《Amazon CloudWatch 開發人員指南》中的「取得指標的統計資料」。

aws cloudwatch get-metric-statistics --metric-name Buffers --namespace MyNameSpace --dimensions Name=InstanceID,Value=i-abcdef Name=InstanceType,Value=m1.small --start-time 2016-10-15T04:00:00Z --end-time 2016-10-19T07:00:00Z --statistics Average --period 60

下列程式碼範例示範如何使用 get-metric-stream

AWS CLI

擷取指標串流的相關資訊

下列get-metric-stream範例顯示QuickFull-GuaFbs指定帳戶中名為 的指標串流的相關資訊。

aws cloudwatch get-metric-stream \ --name QuickFull-GuaFbs

輸出:

{ "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs", "Name": "QuickFull-GuaFbs", "FirehoseArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG", "RoleArn": "arn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3", "State": "running", "CreationDate": "2024-10-11T18:48:59.187000+00:00", "LastUpdateDate": "2024-10-11T18:48:59.187000+00:00", "OutputFormat": "json", "IncludeLinkedAccountsMetrics": false }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用指標串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 GetMetricStream

下列程式碼範例示範如何使用 get-metric-widget-image

AWS CLI

擷取 CPUUtilization 的快照圖形

下列get-metric-widget-image範例會使用 ID 擷取 EC2 執行個體指標CPUUtilization的快照圖形,i-abcde並將擷取的影像儲存為本機電腦上名為 "image.png" 的檔案。

aws cloudwatch get-metric-widget-image \ --metric-widget '{"metrics":[["AWS/EC2","CPUUtilization","InstanceId","i-abcde"]]}' \ --output-format png \ --output text | base64 --decode > image.png

此命令不會產生輸出。

下列程式碼範例示範如何使用 list-dashboards

AWS CLI

擷取儀表板清單

下列list-dashboards範例列出指定帳戶中的所有儀表板。

aws cloudwatch list-dashboards

輸出:

{ "DashboardEntries": [ { "DashboardName": "Dashboard-A", "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-A", "LastModified": "2024-10-11T18:40:11+00:00", "Size": 271 }, { "DashboardName": "Dashboard-B", "DashboardArn": "arn:aws:cloudwatch::123456789012:dashboard/Dashboard-B", "LastModified": "2024-10-11T18:44:41+00:00", "Size": 522 } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的 Amazon CloudWatch 儀表板Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListDashboards

下列程式碼範例示範如何使用 list-metric-streams

AWS CLI

擷取指標串流清單

下列list-metric-streams範例列出指定帳戶中的所有指標串流。

aws cloudwatch list-metric-streams

輸出:

{ "Entries": [ { "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs", "CreationDate": "2024-10-11T18:48:59.187000+00:00", "LastUpdateDate": "2024-10-11T18:48:59.187000+00:00", "Name": "QuickFull-GuaFbs", "FirehoseArn": "arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG", "State": "running", "OutputFormat": "json" } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用指標串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListMetricStreams

下列程式碼範例示範如何使用 list-metrics

AWS CLI

列出 Amazon SNS 的指標

下列 list-metrics 範例顯示 Amazon SNS 的指標。

aws cloudwatch list-metrics \ --namespace "AWS/SNS"

輸出:

{ "Metrics": [ { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "NotifyMe" } ], "MetricName": "PublishSize" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "CFO" } ], "MetricName": "PublishSize" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "NotifyMe" } ], "MetricName": "NumberOfNotificationsFailed" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "NotifyMe" } ], "MetricName": "NumberOfNotificationsDelivered" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "NotifyMe" } ], "MetricName": "NumberOfMessagesPublished" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "CFO" } ], "MetricName": "NumberOfMessagesPublished" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "CFO" } ], "MetricName": "NumberOfNotificationsDelivered" }, { "Namespace": "AWS/SNS", "Dimensions": [ { "Name": "TopicName", "Value": "CFO" } ], "MetricName": "NumberOfNotificationsFailed" } ] }
  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 ListMetrics

下列程式碼範例示範如何使用 list-tags-for-resource

AWS CLI

列出與現有警示相關聯的標籤*

下列list-tags-for-resource範例列出與demo指定帳戶中名為 的警示相關聯的所有標籤。

aws cloudwatch list-tags-for-resource \ --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo

輸出:

{ "Tags": [ { "Key": "stack", "Value": "Production" }, { "Key": "team", "Value": "Devops" } ] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的警示和標記

下列程式碼範例示範如何使用 put-anomaly-detector

AWS CLI

建立異常偵測模型

下列put-anomaly-detector範例會為 CloudWatch 指標建立異常偵測模型。

aws cloudwatch put-anomaly-detector \ --namespace AWS/Logs \ --metric-name IncomingBytes \ --stat SampleCount

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 CloudWatch 異常偵測Amazon CloudWatch

下列程式碼範例示範如何使用 put-composite-alarm

AWS CLI

建立複合 cloudwatch 警示

下列put-composite-alarm範例會在指定的帳戶中建立名為 ProdAlarm的複合警示。

aws cloudwatch put-composite-alarm \ --alarm-name ProdAlarm \ --alarm-rule "ALARM(CPUUtilizationTooHigh) AND ALARM(MemUsageTooHigh)" \ --alarm-actions arn:aws:sns:us-east-1:123456789012:demo \ --actions-enabled

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的建立複合警示

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutCompositeAlarm

下列程式碼範例示範如何使用 put-dashboard

AWS CLI

建立儀表板

下列put-dashboard範例會在指定的帳戶中建立名為 Dashboard-A的儀表板。

aws cloudwatch put-dashboard \ --dashboard-name Dashboard-A \ --dashboard-body '{"widgets":[{"height":6,"width":6,"y":0,"x":0,"type":"metric","properties":{"view":"timeSeries","stacked":false,"metrics":[["Namespace","CPUUtilization","Environment","Prod","Type","App"]],"region":"us-east-1"}}]}'

輸出:

{ "DashboardValidationMessages": [] }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的建立 CloudWatch 儀表板Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutDashboard

下列程式碼範例示範如何使用 put-insight-rule

AWS CLI

建立貢獻者洞見規則

下列put-insight-rule範例會在指定的帳戶中建立名為 VPCFlowLogsContributorInsights的 Contributor Insights 規則。

aws cloudwatch put-insight-rule \ --rule-name VPCFlowLogsContributorInsights \ --rule-definition file://insight-rule.json \ --rule-state ENABLED

insight-rule.json 的內容:

{ "Schema": { "Name": "CloudWatchLogRule", "Version": 1 }, "AggregateOn": "Count", "Contribution": { "Filters": [], "Keys": [ "tcp-flag" ] }, "LogFormat": "CLF", "LogGroupNames": [ "/vpc/flowlogs/*" ], "Fields": { "23": "tcp-flag" } }

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的在 CloudWatch 中建立 Contributor Insights 規則Amazon CloudWatch

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutInsightRule

下列程式碼範例示範如何使用 put-metric-alarm

AWS CLI

在 CPU 使用率超過 70% 時傳送 Amazon Simple Notification Service 電子郵件訊息

以下範例使用 put-metric-alarm 命令,在 CPU 使用率超過 70% 時傳送 Amazon Simple Notification Service 電子郵件訊息:

aws cloudwatch put-metric-alarm --alarm-name cpu-mon --alarm-description "Alarm when CPU exceeds 70 percent" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period 300 --threshold 70 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 --alarm-actions arn:aws:sns:us-east-1:111122223333:MyTopic --unit Percent

如果成功,此命令會回到提示字元。如果已存在具有相同名稱的警示,將會被新警示所覆寫。

指定多個維度

下列範例說明如何指定多個維度。每個維度都指定為「名稱/值」對,名稱和值之間用逗號分隔。多個維度由空格分隔:

aws cloudwatch put-metric-alarm --alarm-name "Default_Test_Alarm3" --alarm-description "The default example alarm" --namespace "CW EXAMPLE METRICS" --metric-name Default_Test --statistic Average --period 60 --evaluation-periods 3 --threshold 50 --comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=key1,Value=value1 Name=key2,Value=value2
  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutMetricAlarm

下列程式碼範例示範如何使用 put-metric-data

AWS CLI

將自訂指標發佈至 Amazon CloudWatch

下列範例使用 put-metric-data 命令將自訂指標發佈至 Amazon CloudWatch:

aws cloudwatch put-metric-data --namespace "Usage Metrics" --metric-data file://metric.json

指標本身的值會儲存在 JSON 檔案 metric.json 中。

以下是該檔案的內容:

[ { "MetricName": "New Posts", "Timestamp": "Wednesday, June 12, 2013 8:28:20 PM", "Value": 0.50, "Unit": "Count" } ]

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的「發佈自訂指標」。

指定多個維度

下列範例說明如何指定多個維度。每個維度均指定為 Name=Value 對。使用逗號分隔多個維度:

aws cloudwatch put-metric-data --metric-name Buffers --namespace MyNameSpace --unit Bytes --value 231434333 --dimensions InstanceID=1-23456789,InstanceType=m1.small
  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 PutMetricData

下列程式碼範例示範如何使用 put-metric-stream

AWS CLI

建立指標串流

下列put-metric-stream範例會在指定的帳戶中建立名為 QuickFull-GuaFb的指標串流。

aws cloudwatch put-metric-stream \ --name QuickFull-GuaFbs \ --firehose-arn arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG \ --role-arn arn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3 \ --output-format json \ --no-include-linked-accounts-metrics

輸出:

{ "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs" }

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的設定指標串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PutMetricStream

下列程式碼範例示範如何使用 set-alarm-state

AWS CLI

暫時變更警示的狀態

下列範例使用 set-alarm-state命令來暫時變更名為 "myalarm" 的 Amazon CloudWatch 警示狀態,並將其設定為 ALARM 狀態以供測試之用:

aws cloudwatch set-alarm-state --alarm-name "myalarm" --state-value ALARM --state-reason "testing purposes"

如果成功,此命令會回到提示字元。

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetAlarmState

下列程式碼範例示範如何使用 start-metric-streams

AWS CLI

啟動指定的指標串流

下列start-metric-streams範例會啟動指定帳戶中名為 QuickFull-GuaFbs的指標串流。

aws cloudwatch start-metric-streams \ --names QuickFull-GuaFbs

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用指標串流

下列程式碼範例示範如何使用 stop-metric-streams

AWS CLI

停止指定的指標串流

下列stop-metric-streams範例會停止指定帳戶中名為 QuickFull-GuaFbs的指標串流。

aws cloudwatch stop-metric-streams \ --names QuickFull-GuaFbs

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用指標串流

  • 如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StopMetricStreams

下列程式碼範例示範如何使用 tag-resource

AWS CLI

將一或多個標籤新增至指定的資源

下列tag-resource範例會將 2 個標籤新增至指定帳戶中名為 demo的 cloudwatch 警示。

aws cloudwatch tag-resource \ --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo \ --tags Key=stack,Value=Production Key=team,Value=Devops

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的標記您的 Amazon CloudWatch 資源。

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 TagResource

下列程式碼範例示範如何使用 untag-resource

AWS CLI

從指定的資源移除一或多個標籤

下列untag-resource範例會從指定帳戶中名為 的 cloudwatch 警示中移除 demo 2 個標籤。

aws cloudwatch untag-resource \ --resource-arn arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo \ --tag-keys stack team

此命令不會產生輸出。

如需詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的標記您的 Amazon CloudWatch 資源。

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 UntagResource