

# mon-put-metric-alarm
<a name="cli-mon-put-metric-alarm"></a>

## 说明
<a name="w2aab9c51b3"></a>

创建或更新告警并将它与指定的 CloudWatch 指标相关联。您还可使用此命令将一个或多个 Amazon Simple Notification Service (Amazon SNS) 资源与告警关联。

此操作创建警报时，警报状态立即设置为 INSUFFICIENT\_DATA。将评估警报，并适当设置其 StateValue。然后执行与 StateValue 关联的所有操作。

**注意**  
更新现有警报时，StateValue 将保持不变。

## 语法
<a name="w2aab9c51b5"></a>

 ****mon-put-metric-alarm** AlarmName --comparison-operator {{value}} --evaluation-periods {{value}} --metric-name {{value}} --namespace {{value}} --period {{value}} [--statistic {{value}}] [--extendedstatistic {{value}}] --threshold {{value}} [--actions-enabled {{value}}] [--alarm-actions {{value}}[,{{value}}...] ] [--alarm-description {{value}}] [--dimensions "key1={{value1}},key2={{value2}}..."] [--ok-actions {{value}}[,{{value}}...] ] [--unit {{value}}] [--insufficient-data-actions {{value}}[,{{value}}...]] [Common Options] ** 

## 选项
<a name="w2aab9c51b7"></a>


| 名称 | 描述 | 
| --- | --- | 
| `AlarmName` ``  | 要更新或创建的警报的名称。名称在您的 AWS 账户内必须是唯一的。还可以使用 `--alarm-name` 设置此值。<br />类型：参数<br />有效值：UTF-8 字符串。<br />默认值：不适用<br />是否必需：是 | 
| `--actions-enabled` `VALUE`  | 指示在警报状态更改时是否应执行操作。<br />类型：布尔值<br />有效值：True 或 False<br />默认值：True<br />必需：否 | 
| `--alarm-actions` `VALUE1,VALUE2,VALUE3... `  | 当此警报从任何其他状态转换为 ALARM 状态时，要执行的操作（最多五个）。每个操作都被指定为一个 Amazon Resource Name（ARN）。使用告警操作，您可发布到 Amazon SNS 主题，激活 Amazon EC2 Auto Scaling 策略，或停止、终止或恢复 Amazon EC2 实例。如果要使用 AWS Identity and Access Management (IAM) 账户创建或修改告警，则必须拥有以下 Amazon EC2 权限： `ec2:DescribeInstanceStatus` 和 `ec2:DescribeInstances` 适用于有关 Amazon EC2 实例状态指标的所有告警。 `ec2:StopInstances`，针对包含停止操作的警报。 `ec2:TerminateInstances`，针对包含终止操作的警报。 `ec2:DescribeInstanceRecoveryAttribute` 和 `ec2:RecoverInstances`，针对包含恢复操作的警报。  <br />如果您拥有对 Amazon CloudWatch 而不是 Amazon EC2 的读/写权限，则仍然可以创建告警，但不会对 Amazon EC2 实例执行停止或终止操作。但是，如果您之后获得使用相关 Amazon EC2 API 的权限，将会执行之前创建的告警操作。有关 IAM 策略的更多信息，请参阅 *IAM 用户指南*中的[权限与策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/PermissionsAndPolicies.html)。 <br />如果您使用的是 IAM 角色（例如，Amazon EC2 实例配置文件），则无法使用告警操作来停止或终止实例。但是，您仍然可以查看告警状态和执行任何其他操作，如 Amazon SNS 通知或 Amazon EC2 Auto Scaling 策略。 <br />如果您使用的是用 AWS Security Token Service (AWS STS) 授予的临时安全证书，则无法使用告警操作来停止或终止 Amazon EC2 实例。 <br />类型：字符串<br />有效值：Amazon SNS 主题、Auto Scaling 策略的 ARN，或停止、终止或恢复 Amazon EC2 实例的 ARN。<br />默认值：不适用<br />必需：否 | 
| `--alarm-description` `VALUE`  | 警报的描述。<br />类型：字符串<br />有效值：长度介于 1 到 255 个字符之间的任何 Unicode 字符串。<br />默认值：不适用<br />必需：否 | 
| `--comparison-operator` `VALUE`  | 用于比较数据点与阈值的比较运算符。<br />类型：枚举<br />有效值：GreaterThanOrEqualToThreshold、GreaterThanThreshold、LessThanThreshold 或 LessThanOrEqualToThreshold 之一<br />默认值：不适用<br />是否必需：是 | 
| `--dimensions` `"key1=value1,key2=value2..."`  | 要为其创建警报的指标的维度。可以两种方式指定维度，且格式可结合使用或互换使用：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/cli/cli-mon-put-metric-alarm.html)<br />类型：映射<br />有效值：格式为 name=value 的字符串，其中，键是维度的名称，值是维度的值。维度名称和值必须是长度介于 1 到 250 个字符之间的 ANSI 字符串。最多允许 10 个维度。<br />默认值：不适用<br />必需：否 | 
| `--evaluation-periods` `VALUE`  | 指标的值将与阈值相比较以确定警报状态的连续周期数。<br />类型：整数<br />有效值：大于零的数字。<br />默认值：不适用<br />是否必需：是 | 
| `--metric-name` `VALUE`  | 要对其报警的指标的名称。<br />类型：参数<br />有效值：长度介于 1 到 250 个字符之间的任何 ANSI 字符串。<br />默认值：不适用<br />是否必需：是 | 
| `--namespace` `VALUE`  | 要对其报警的指标的命名空间。有关命名空间的更多信息，请参阅 [AWS 命名空间](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html)。<br />类型：字符串<br />有效值：长度介于 1 到 250 个字符之间的任何 ANSI 字符串。<br />默认值：不适用<br />是否必需：是 | 
| `--ok-actions` `VALUE1,VALUE2,VALUE3...`  | 当此警报从任何其他状态转换为 OK 状态时，要执行的操作（最多五个）。每个操作都被指定为一个 Amazon Resource Name（ARN）。<br />类型：字符串<br />有效值：有效 ARN 标识符。<br />默认值：不适用<br />必需：否 | 
| `--period` `VALUE`  | 要对其报警的指标的时间段（以秒为单位）。<br />类型：参数<br />有效值：以秒为单位的数字，是 60 秒的倍数。<br />默认值：不适用<br />是否必需：是 | 
| `--statistic` `VALUE`  | 要对其报警的指标的统计数据。<br />类型：枚举<br />有效值：SampleCount、Average、Sum、Minimum 或 Maximum<br />默认值：不适用<br />必需：您必须指定 -statistic 或 -extendedstatistic。 | 
| `--extendedstatistic` `VALUE`  | 要对其报警的指标的百分位数统计数据。<br />类型：字符串<br />有效值：最多两个小数位的任何百分位数（例如 p95.45）。<br />默认值：不适用<br />必需：您必须指定 -statistic 或 -extendedstatistic。 | 
|  `--threshold` `VALUE`  | 数据点与其进行比较以确定警报状态的阈值。<br />类型：双精度<br />有效值：双精度值 所有值必须是介于 1E-130 和 1E130 之间的数字。<br />默认值：不适用<br />是否必需：是 | 
| `--unit` `VALUE`  | 要对其报警的指标的单位。<br />类型：枚举<br />有效值：下列值之一：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/cli/cli-mon-put-metric-alarm.html)<br />默认值：不适用<br />必需：否 | 
| `--insufficient-data-actions` `VALUE1,VALUE2,VALUE3...`  | 当此警报从任何其他状态转换为 INSUFFICIENT\_DATA 状态时，要执行的操作（最多五个）。每个操作都被指定为一个 Amazon Resource Name（ARN）。<br />类型：字符串<br />有效值：有效 ARN 标识符。<br />默认值：不适用<br />必需：否 | 

## 常用选项
<a name="w2aab9c51b9"></a>


| 名称 | 描述 | 
| --- | --- | 
| `--aws-credential-file` `VALUE`  | 带有 AWS 凭证的文件的位置。您可以使用环境变量 `AWS_CREDENTIAL_FILE` 设置此值。如果您定义了环境变量或提供了凭证文件的路径，则该文件必须存在，否则请求将失败。必须使用访问密钥 ID 和秘密访问密钥签署所有 CloudWatch 请求。<br />类型：字符串<br />有效值：包含访问密钥 ID 和秘密访问密钥的文件的有效路径。<br />默认值：使用环境变量 `AWS_CREDENTIAL_FILE`（如果已设置）。 | 
| `-C, --ec2-cert-file-path` `VALUE`  | 用于签署请求的 EC2 证书文件的位置。您可以使用环境变量 `EC2_CERT` 指定此值。<br />类型：字符串<br />有效值：由 Amazon EC2 或 AWS Identity and Access Management 提供的 PEM 文件的有效路径。<br />默认值：使用环境变量 `EC2_CERT`（如果已设置）。 | 
|  `--connection-timeout` `VALUE`  | 连接超时值（以秒为单位）。<br />类型：整数<br />有效值：任何正数。<br />默认：30 | 
|  `--delimiter` `VALUE`  | 显示经分隔（长）结果时使用的分隔符。<br />类型：字符串<br />有效值：任意字符串。<br />默认值：逗号 (,) | 
|  `--headers` ``  | 如果要显示表格结果或分隔结果，请包括列标题。如果要显示 XML 结果，请从服务请求返回 HTTP 标头（如果适用）。<br />类型：标记<br />有效值：如果存在，则显示标头。<br />默认值：默认情况下，`--headers` 选项为关闭状态。 | 
|  `-I, --access-key-id` `VALUE`  | 访问密钥 ID 将与私有密钥共同用于签署请求。其必须与私有密钥结合使用，否则此选项将被忽略。对 CloudWatch 的所有请求都必须签署，否则请求将被拒绝。<br />类型：字符串<br />有效值：有效访问密钥 ID。<br />默认值：无 | 
|  `-K, --ec2-private-key-file-path` `VALUE`  | 将用于签署请求的私有密钥。使用公有/私有密钥会导致 CLI 使用 SOAP。此请求通过公有证书和私有密钥签署。此参数必须与 `EC2_CERT` 结合使用，否则此值将被忽略。环境变量 `EC2_PRIVATE_KEY` 的值将在设置时使用，并且未指定此选项。如果环境变量 `AWS_CREDENTIAL_FILE` 已设置，或 `--aws-credentials-file` 已使用，则此选项将被忽略。对 CloudWatch 的所有请求都必须签署，否则请求将被拒绝。<br />类型：字符串<br />有效值：有效 ASN.1 私有密钥的路径。<br />默认值：无 | 
|  `--region` `VALUE`  | 定向到区域请求。您可以使用环境变量 `EC2_REGION` 指定该值。该区域用于创建用于调用 CloudWatch 的 URL，并且必须是有效的亚马逊云科技 (AWS）区域。<br />类型：字符串<br />有效值：任意 AWS 区域，例如 us-east-1。<br />默认值：除非 `EC2_REGION` 环境变量已设置，否则为 us-east-1。 | 
|  `S, --secret-key` `VALUE`  | 将与访问密钥 ID 共同用于签署请求的秘密访问密钥。此参数必须与 `--access-key-id` 结合使用，否则此选项将被忽略。<br />类型：字符串<br />有效值：您的访问密钥 ID。<br />默认值：无 | 
|  `--show-empty-fields` ``  | 使用 (nil) 作为占位符显示空字段，以指示未请求此数据。<br />类型：标记<br />有效值：无<br />默认值：默认情况下不显示空字段。 | 
|  `--show-request` ``  | 显示 CLI 用于调用 AWS 的 URL。<br />类型：标记<br />有效值：无<br />默认：false | 
|  `--show-table, --show-long, --show-xml, --quiet` ``  | 指定结果的显示方式：表格、分隔（长）、XML 或无输出（无提示）。`--show-table` 显示以固定列宽形式显示数据的子集；`--show-long` 显示以字符分隔的所有返回值；`--show-xml` 是服务的原始返回值；`--quiet` 将抑制所有标准输出。所有选项是互斥的，优先级：`--show-table`、`--show-long`、`--show-xml` 和 `--quiet`。<br />类型：标记<br />有效值：无<br />默认值：`--show-table` | 
|  `-U, --url` `VALUE`  | 用于联系 CloudWatch 的 URL。您可以使用环境变量 `AWS_CLOUDWATCH_URL` 设置此值。此值与 `--region` 共同用于创建预期的 URL。此选项将覆盖用于服务调用的 URL。<br />类型：字符串<br />有效值：有效 HTTP 或 HTTPS URL。<br />默认值：使用 `AWS_CLOUDWATCH_URL`（如果已设置）中指定的值。 | 

## Output
<a name="w2aab9c51c11"></a>

此命令创建或更新与指定指标关联的警报。

Amazon CloudWatch CLI 在 stderr 上显示错误。

## 示例
<a name="w2aab9c51c13"></a>

### 示例请求
<a name="w2aab9c51c13b2"></a>

此示例创建一个警报，当 EC2 实例的 CPU 利用率超过 90% 的时间达到三个连续的一分钟时，该警报会向主题发布消息。

```
mon-put-metric-alarm --alarm-name my-alarm --alarm-description "some desc" \
--metric-name CPUUtilization --namespace AWS/EC2 --statistic Average  --period 60 --threshold 90 \
--comparison-operator GreaterThanThreshold  --dimensions InstanceId=i-abcdef --evaluation-periods 3  \
--unit Percent --alarm-actions arn:aws:sns:us-east-1:1234567890:my-topic
```

## 相关主题
<a name="w2aab9c51c15"></a>

### 下载
<a name="w2aab9c51c15b2"></a>
+ [设置命令行界面](SetupCLI.md)

### 相关操作
<a name="w2aab9c51c15b4"></a>
+ [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)

### 相关命令
<a name="w2aab9c51c15b6"></a>
+  [mon-put-data](cli-mon-put-data.md) 