本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
以下代码示例演示了如何通过将 AWS Command Line Interface与 CloudWatch 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示如何使用 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-nameIncomingBytes
\ --statSampleCount
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的删除异常检测模型。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DeleteAnomalyDetector
。
-
以下代码示例演示如何使用 delete-dashboards
。
- AWS CLI
-
删除指定的控制面板
以下
delete-dashboards
示例删除了指定账户中名为Dashboard-A
和Dashboard-B
的两个控制面板。aws cloudwatch delete-dashboards \ --dashboard-names
Dashboard-A
Dashboard-B
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Amazon CloudWatch 控制面板。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DeleteDashboards
。
-
以下代码示例演示如何使用 delete-insight-rules
。
- AWS CLI
-
删除指定的 Contributor Insights 规则
以下
delete-insight-rules
示例删除指定账户中两个分别名为Rule-A
和Rule-B
的 Contributor Insights 规则。aws cloudwatch delete-insight-rules \ --rule-names
Rule-A
Rule-B
输出:
{ "Failures": [] }
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Contributor Insights 分析高基数数据。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DeleteInsightRules
。
-
以下代码示例演示如何使用 delete-metric-stream
。
- AWS CLI
-
删除指定的指标流
以下
delete-metric-stream
示例删除指定账户中名为QuickPartial-gSCKvO
的指标流。aws cloudwatch delete-metric-stream \ --name
QuickPartial-gSCKvO
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标流。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DeleteMetricStream
。
-
以下代码示例演示如何使用 describe-alarm-history
。
- AWS CLI
-
检索警报的历史记录
以下示例使用
describe-alarm-history
命令检索名为“myalarm”的 Amazon CloudWatch 警报的历史记录:aws cloudwatch describe-alarm-history --alarm-name
"myalarm"
--history-item-typeStateUpdate
输出:
{ "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" } ] }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeAlarmHistory
。
-
以下代码示例演示如何使用 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
--namespaceAWS/EC2
--dimensionsName=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" } ] }
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DescribeAlarmsForMetric
。
-
以下代码示例演示如何使用 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 异常检测。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DescribeAnomalyDetectors
。
-
以下代码示例演示如何使用 describe-insight-rules
。
- AWS CLI
-
检索 Contributor Insights 规则列表
以下
describe-insight-rules
示例显示指定账户中的所有 Contributor Insights 规则。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 分析高基数数据。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DescribeInsightRules
。
-
以下代码示例演示如何使用 disable-alarm-actions
。
- AWS CLI
-
禁用警报的操作
以下示例使用
disable-alarm-actions
命令禁用名为 myalarm 的警报的所有操作:aws cloudwatch disable-alarm-actions --alarm-names
myalarm
如果成功,该命令将返回到提示符。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 DisableAlarmActions
。
-
以下代码示例演示如何使用 disable-insight-rules
。
- AWS CLI
-
禁用指定的 Contributor Insights 规则
以下
disable-insight-rules
示例禁用指定账户中两个分别名为Rule-A
和Rule-B
的 Contributor Insights 规则。aws cloudwatch disable-insight-rules \ --rule-names
Rule-A
Rule-B
输出:
{ "Failures": [] }
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Contributor Insights 分析高基数数据。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 DisableInsightRules
。
-
以下代码示例演示如何使用 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
-
启用指定的 Contributor Insights 规则
以下
enable-insight-rules
示例启用指定账户中两个分别名为Rule-A
和Rule-B
的 Contributor Insights 规则。aws cloudwatch enable-insight-rules \ --rule-names
Rule-A
Rule-B
输出:
{ "Failures": [] }
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用 Contributor Insights 分析高基数数据。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 EnableInsightRules
。
-
以下代码示例演示如何使用 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 控制面板。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 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-time2024-10-13T20:15:00Z
\ --end-time2024-10-13T20:30:00Z
\ --period300
输出:
{ "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 分析高基数数据。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 GetInsightRuleReport
。
-
以下代码示例演示如何使用 get-metric-data
。
- AWS CLI
-
示例 1:使用数学表达式获取指定 EC2 的平均总 IOPS
以下
get-metric-data
示例使用组合EBSReadOps
和EBSWriteOps
指标的指标数学表达式检索 InstanceID 为i-abcdef
的 EC2 实例 CloudWatch 指标值。aws cloudwatch get-metric-data \ --metric-data-queries
file://file.json
\ --start-time2024-09-29T22:10:00Z
\ --end-time2024-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/Billing 命名空间检索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-time2024-09-26T12:00:00Z
\ --end-time2024-09-26T18:00:00Z
\ --regionus-east-1
输出:
{ "MetricDataResults": [ { "Id": "m1", "Label": "EstimatedCharges", "Timestamps": [ "2024-09-26T12:00:00+00:00" ], "Values": [ 542.38 ], "StatusCode": "Complete" } ], "Messages": [] }
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的将数学表达式与 CloudWatch 指标结合使用。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 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-time2014-04-08T23:18:00Z
--end-time2014-04-09T23:18:00Z
--period3600
--namespaceAWS/EC2
--statisticsMaximum
--dimensionsName=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
--namespaceMyNameSpace
--dimensionsName=InstanceID,Value=i-abcdef
Name=InstanceType,Value=m1.small
--start-time2016-10-15T04:00:00Z
--end-time2016-10-19T07:00:00Z
--statisticsAverage
--period60
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 GetMetricStatistics
。
-
以下代码示例演示如何使用 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 Command Reference》中的 GetMetricStream
。
-
以下代码示例演示如何使用 get-metric-widget-image
。
- AWS CLI
-
检索 CPUUtilization 的快照图
以下
get-metric-widget-image
示例检索 ID 为i-abcde
的 EC2 实例的指标CPUUtilization
快照图,并将检索到的图像保存为本地计算机上名为“image.png”的文件。aws cloudwatch get-metric-widget-image \ --metric-widget '
{"metrics":[["AWS/EC2","CPUUtilization","InstanceId","i-abcde"]]}
' \ --output-formatpng
\ --outputtext
|
base64
--decode>
image.png
此命令不生成任何输出。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 GetMetricWidgetImage
。
-
以下代码示例演示如何使用 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 控制面板。
-
有关 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 Command Reference》中的 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 用户指南》中的警报和标记。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示如何使用 put-anomaly-detector
。
- AWS CLI
-
创建异常检测模型
以下
put-anomaly-detector
示例为 CloudWatch 指标创建了异常检测模型。aws cloudwatch put-anomaly-detector \ --namespace
AWS/Logs
\ --metric-nameIncomingBytes
\ --statSampleCount
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南中》的使用 CloudWatch 异常检测。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 PutAnomalyDetector
。
-
以下代码示例演示如何使用 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-actionsarn:aws:sns:us-east-1:123456789012:demo
\ --actions-enabled此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建复合警报。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 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 用户指南》中的创建 Amazon CloudWatch 控制面板。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 PutDashboard
。
-
以下代码示例演示如何使用 put-insight-rule
。
- AWS CLI
-
创建 Contributor Insights 规则
以下
put-insight-rule
示例在指定账户中创建名为VPCFlowLogsContributorInsights
的 Contributor Insights 规则。aws cloudwatch put-insight-rule \ --rule-name
VPCFlowLogsContributorInsights
\ --rule-definitionfile://insight-rule.json
\ --rule-stateENABLED
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 规则。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 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-nameCPUUtilization
--namespaceAWS/EC2
--statisticAverage
--period300
--threshold70
--comparison-operatorGreaterThanThreshold
--dimensions"Name=InstanceId,Value=i-12345678"
--evaluation-periods2
--alarm-actionsarn:aws:sns:us-east-1:111122223333:MyTopic
--unitPercent
如果成功,该命令将返回到提示符。如果已存在同名警报,则该警报将被新警报覆盖。
指定多个维度
以下示例说明了如何指定多个维度。每个维度都指定为一个“名称/值”对,名称和值之间用逗号隔开。多个维度之间用空格隔开:
aws cloudwatch put-metric-alarm --alarm-name
"Default_Test_Alarm3"
--alarm-description"The default example alarm"
--namespace"CW EXAMPLE METRICS"
--metric-nameDefault_Test
--statisticAverage
--period60
--evaluation-periods3
--threshold50
--comparison-operatorGreaterThanOrEqualToThreshold
--dimensionsName=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-datafile://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
--namespaceMyNameSpace
--unitBytes
--value231434333
--dimensionsInstanceID=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-arnarn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG
\ --role-arnarn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3
\ --output-formatjson
\ --no-include-linked-accounts-metrics输出:
{ "Arn": "arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs" }
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的设置指标流。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 PutMetricStream
。
-
以下代码示例演示如何使用 set-alarm-state
。
- AWS CLI
-
暂时更改警报的状态
以下示例使用
set-alarm-state
命令暂时更改名为“myalarm”的 Amazon CloudWatch 警报的状态,并将其设置为 ALARM 状态以进行测试:aws cloudwatch set-alarm-state --alarm-name
"myalarm"
--state-valueALARM
--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 用户指南》中的使用指标流。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 StartMetricStreams
。
-
以下代码示例演示如何使用 stop-metric-streams
。
- AWS CLI
-
停止指定的指标流
以下
stop-metric-streams
示例停止指定账户中名为QuickFull-GuaFbs
的指标流。aws cloudwatch stop-metric-streams \ --names
QuickFull-GuaFbs
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标流。
-
有关 API 详细信息,请参阅《AWS CLI Command Reference》中的 StopMetricStreams
。
-
以下代码示例演示如何使用 tag-resource
。
- AWS CLI
-
为指定资源添加一个或多个标签
以下
tag-resource
示例为指定账户中名为demo
的 CloudWatch 警报添加 2 个标签。aws cloudwatch tag-resource \ --resource-arn
arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo
\ --tagsKey=stack,Value=Production
Key=team,Value=Devops
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的标记 Amazon CloudWatch 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 TagResource
。
-
以下代码示例演示如何使用 untag-resource
。
- AWS CLI
-
从指定资源中移除一个或多个标签
以下
untag-resource
示例从指定账户中名为demo
的 CloudWatch 警报中移除 2 个标签。aws cloudwatch untag-resource \ --resource-arn
arn:aws:cloudwatch:us-east-1:123456789012:alarm:demo
\ --tag-keysstack
team
此命令不生成任何输出。
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的标记 Amazon CloudWatch 资源。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 UntagResource
。
-