

• Amazon Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 创建 OpsItems


在设置好 OpsCenter（Amazon Systems Manager 中的一项工具）并将其与 Amazon Web Services 服务集成后，Amazon Web Services 服务会根据默认规则、事件或警报自动创建 OpsItems。

您可以查看默认 Amazon EventBridge 规则的状态和严重性级别。如果需要，您可以从 Amazon EventBridge 创建或编辑这些规则。您还可以从 Amazon CloudWatch 查看警报，以及创建或编辑警报。使用规则和警报，您可以配置要为其自动生成 OpsItems 的事件。

当系统创建 OpsItem 时，它将处于**打开**状态。当您开始 OpsItem 的调查时，可将状态更改为**正在进行**；在修复 OpsItem 后，可将状态更改为**已解决**。关于如何在 Amazon Web Services 服务 中配置警报和规则以创建 OpsItems，以及如何手动创建 OpsItem 的更多信息，请参阅以下主题。

**Topics**
+ [

# 配置 EventBridge 规则以创建 OpsItems
](OpsCenter-automatically-create-OpsItems-2.md)
+ [

# 将 CloudWatch 警报配置为创建 OpsItems
](OpsCenter-create-OpsItems-from-CloudWatch-Alarms.md)
+ [

# 手动创建 OpsItems
](OpsCenter-manually-create-OpsItems.md)

# 配置 EventBridge 规则以创建 OpsItems
配置 EventBridge 规则

当 Amazon EventBridge 收到事件时，它将根据默认规则创建新的 OpsItem。您可以创建规则或编辑现有规则，以将 OpsCenter 设置为 EventBridge 事件的目标。有关如何创建事件规则的信息，请参阅**《Amazon EventBridge 用户指南》中的[为 Amazon Web Services 服务 创建规则](https://docs.amazonaws.cn/eventbridge/latest/userguide/create-eventbridge-rule.html)。

**配置 EventBridge 规则以在 OpsCenter 中创建 OpsItems**

1. 打开位于 [https://console.aws.amazon.com/events/](https://console.amazonaws.cn/events/) 的 Amazon EventBridge 控制台。

1. 在导航窗格中，选择**规则**。

1. 在 **Rule**（规则）页面上，对于 **Event bus**（事件总线），选择 **default**（默认）。

1. 对于**规则**，通过选中规则名称旁边的复选框来选择规则。

1. 选择规则的名称以打开其详细信息页面。在**规则详细信息**中，验证是否已将**状态**设置为**已启用**。
**注意**  
如果需要，您可以使用该页面右上角的**编辑**来更新状态。

1. 选择**目标**选项卡。

1. 在 **Targets (目标)** 选项卡上，选择 **Edit (编辑)**。

1. 对于**目标类型**，选择 **Amazon Web Services 服务**。

1. 对于 **Select a target**（选择一个目标），选择 **Systems Manager OpsItem**。

1. 对于许多目标类型，EventBridge 需要权限以便将事件发送到目标。在这些情况下，EventBridge 可以创建运行规则所需的 Amazon Identity and Access Management (IAM) 角色：
   + 若要自动创建 IAM 角色，请选择 **Create a new role for this specific resource (为此特定资源创建新角色)**。
   + 要使用您创建的 IAM 角色向 Eventbridge 授予在 OpsCenter 中创建 OpsItems 的权限，请选择**Use existing role**（使用现有角色）。

1. 在**其他设置**中，对于**配置目标输入**，请选择**输入转换器**。

   您可以使用**输入转换器**选项为 OpsItems 指定重复数据删除字符串和其他重要信息，如标题和严重性。

1. 选择 **Configure input transformer**（配置输入转换器）。

1. 在**目标输入转换器**中，对于**输入路径**，请指定要从触发事件中解析的值。例如，要从触发该规则的事件中解析开始时间、结束时间和其他详细信息，请使用下面的 JSON。

   ```
   {
       "end-time": "$.detail.EndTime",
       "failure-cause": "$.detail.cause",
       "resources": "$.resources[0]",
       "source": "$.detail.source",
       "start-time": "$.detail.StartTime"
   }
   ```

1. 对于 **Template**（模板），请指定要发送到目标的信息。例如，使用下面的 JSON 将信息传递到 OpsCenter。此信息将用于创建 OpsItem。
**注意**  
如果输入模板采用 JSON 格式，则模板中的对象值不能包含引号。例如，资源、故障原因、来源、开始时间和结束时间的值不能以引号表示。

   ```
   {
       "title": "EBS snapshot copy failed",
       "description": "CloudWatch Event Rule SSMOpsItems-EBS-snapshot-copy-failed was triggered. Your EBS snapshot copy has failed. See below for more details.",
       "category": "Availability",
       "severity": "2",
       "source": "EC2",
       "operationalData": {
           "/aws/dedup": {
               "type": "SearchableString",
               "value": "{\"dedupString\":\"SSMOpsItems-EBS-snapshot-copy-failed\"}"
           },
           "/aws/automations": {
               "value": "[ { \"automationType\": \"AWS:SSM:Automation\", \"automationId\": \"AWS-CopySnapshot\" } ]"
           },
           "failure-cause": {
               "value": <failure-cause>
           },
           "source": {
               "value": <source>
           },
           "start-time": {
               "value": <start-time>
           },
           "end-time": {
               "value": <end-time>
           },
            },
           "resources": {
               "value": <resources>
           }
       }
   }
   ```

   有关这些字段的更多信息，请参阅*《Amazon EventBridge 用户指南》*中的[转换目标输入](https://docs.amazonaws.cn/eventbridge/latest/userguide/transform-input.html)。

1. 选择**确认**。

1. 选择**下一步**。

1. 选择**下一步**。

1. 选择**更新规则**。

在从事件创建 OpsItem 后，您可以通过打开 OpsItem 并向下滚动到**私有操作数据**部分来查看事件详细信息。有关如何配置 OpsItem 中的选项的信息，请参阅 [管理 OpsItems](OpsCenter-working-with-OpsItems.md)。

# 将 CloudWatch 警报配置为创建 OpsItems
配置 CloudWatch 警报

在 OpsCenter（Amazon Systems Manager 中的一项工具）的集成设置中，您可以启用 Amazon CloudWatch，根据常见警报自动创建 OpsItems。您可以创建警报或编辑现有警报，以在 OpsCenter 中创建 OpsItems。

当您将警报配置为创建 OpsItems 时，CloudWatch 将在 Amazon Identity and Access Management（IAM）中创建新的服务相关角色。该新角色名为 `AWSServiceRoleForCloudWatchAlarms_ActionSSM`。有关 CloudWatch 服务相关角色的更多信息，请参阅**《Amazon CloudWatch 用户指南》中的[为 CloudWatch 使用服务相关角色](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/using-service-linked-roles.html)。

当 CloudWatch 警报生成 OpsItem 时，OpsItem 将显示 **CloudWatch 警报 -“*alarm\$1name*”处于警报状态**。

要查看有关特定 OpsItem 的详细信息，请选择 OpsItem，然后选择**相关资源详细信息** 选项卡。您可以手动编辑 OpsItems，以更改诸如严重性或类别等详细信息。但是，当您编辑警报的严重性或类别时，Systems Manager 将无法更新已通过警报创建的 OpsItems 的严重性或类别。如果某个告警创建了 OpsItem，并且您指定了重复数据删除字符串，则即使您在 CloudWatch 中编辑此告警，它也不会创建额外的 OpsItems。如果已在 OpsCenter 中解决了 OpsItem 的问题，CloudWatch 将创建一个新的 OpsItem。

有关配置 CloudWatch 警报的更多信息，请参阅以下主题。

**Topics**
+ [

# 配置 CloudWatch 警报以创建 OpsItems（控制台）
](OpsCenter-creating-or-editing-existing-alarm-console.md)
+ [

# 将现有 CloudWatch 警报配置为创建 OpsItems（以编程方式）
](OpsCenter-configuring-an-existing-alarm-programmatically.md)

# 配置 CloudWatch 警报以创建 OpsItems（控制台）
配置警报（控制台）

您可以手动创建警报或更新现有警报，以从 Amazon CloudWatch 创建 OpsItems。

**创建 CloudWatch 警报并将 Systems Manager 配置为该警报的目标**

1. 完成**《Amazon CloudWatch 用户指南》中[根据静态阈值创建 CloudWatch 警报](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)中指定的步骤 1-9。

1. 在 **Systems Manager 操作**部分中，选择**添加 Systems Manager OpsCenter 操作**。

1. 选择 **OpsItems**。

1. 对于**严重性**，请在 1 到 4 之间进行选择。

1. （可选）对于**类别**，为 OpsItem 选择一个类别。

1. 完成**《Amazon CloudWatch 用户指南》中[根据静态阈值创建 CloudWatch 警报](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)中指定的步骤 11-13。

1. 选择 **Next (下一步)** 并完成向导。

**要编辑现有告警，并将 Systems Manager 配置为此告警的目标，请执行以下步骤：**

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/) 打开 CloudWatch 控制台。

1. 在导航窗格中，选择**警报**。

1. 选择告警，然后依次选择 **Actions (操作)** 和 **Edit (编辑)**。

1. （可选）更改 **Metrics (指标)** 和 **Conditions (条件)** 部分中的设置，然后选择 **Next (下一步)**。

1. 在 **Systems Manager** 部分，选择 **Add Systems Manager OpsCenter 操作**。

1. 对于 **Severity (严重性)**，选择一个数字。
**注意**  
严重性是用户定义的值。您或您的组织可以确定每个严重性级别的值的含义以及与每个严重性级别相关联的任何服务等级协议。

1. （可选）对于 **Category (类别)**，选择一个选项。

1. 选择 **Next (下一步)** 并完成向导。

# 将现有 CloudWatch 警报配置为创建 OpsItems（以编程方式）
配置警报（以编程方式）

您可以将 Amazon CloudWatch 警报配置为使用 Amazon Command Line Interface（Amazon CLI）、Amazon CloudFormation 模板或 Java 代码段以编程方式创建 OpsItems。

**Topics**
+ [

## 开始前的准备工作
](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)
+ [

## 将 CloudWatch 警报配置为创建 OpsItems（Amazon CLI）
](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-manually-configure-cli)
+ [

## 将 CloudWatch 警报配置为创建或更新 OpsItems（CloudFormation）
](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation)
+ [

## 将 CloudWatch 警报配置为创建或更新 OpsItems（Java）
](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-java)

## 开始前的准备工作


如果您以编程方式编辑现有警报或创建用于创建 OpsItems 的警报，则必须指定 Amazon 资源名称（ARN）。此 ARN 将 Systems Manager OpsCenter 标识为通过告警创建的 OpsItems 目标。您可以自定义 ARN，使通过告警创建的 OpsItems 包含特定信息，如严重性或类别。每个 ARN 包含下表中描述的信息。


****  

| 参数 | Details | 
| --- | --- | 
|  `Region`（必填）  |  告警所在的 Amazon Web Services 区域。例如：`us-west-2`。有关如何在 Amazon Web Services 区域 中使用OpsCenter 的更多信息，请参阅 [Amazon Systems Manager 端点和配额](https://docs.amazonaws.cn/general/latest/gr/ssm.html)。  | 
|  `account_ID`（必填）  |  创建告警时使用的同一 Amazon Web Services 账户 ID。例如：`123456789012`。账户 ID 必须后跟冒号（`:`）和参数 `opsitem`，如以下示例所示。  | 
|  `severity`（必填）  |  由用户定义的通过告警创建的 OpsItems 的严重性级别。有效值：`1`、`2`、`3`、`4`  | 
|  `Category`（可选）  |  通过告警创建的 OpsItems 的类别。有效值：`Availability`、`Cost`、`Performance`、`Recovery` 和 `Security`。  | 

使用以下句法创建 ARN。此 ARN 不包括可选的 `Category` 参数。

```
arn:aws:ssm:Region:account_ID:opsitem:severity
```

以下为示例。

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3
```

要创建使用可选的 `Category` 参数的 ARN，请使用以下句法：

```
arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name
```

以下为示例。

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3#CATEGORY=Security
```

## 将 CloudWatch 警报配置为创建 OpsItems（Amazon CLI）


此命令要求您为 `alarm-actions` 参数指定 ARN。有关如何创建 ARN 的信息，请参阅 [开始前的准备工作](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)。

**将 CloudWatch 警报配置为创建 OpsItems（Amazon CLI）**

1. 安装并配置 Amazon Command Line Interface（Amazon CLI）（如果尚未执行该操作）。

   有关信息，请参阅[安装或更新 Amazon CLI 的最新版本](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

1. 运行以下命令以收集要配置的告警的信息。

   ```
   aws cloudwatch describe-alarms --alarm-names "alarm name"
   ```

1. 运行以下命令以更新告警。将每个*示例资源占位符*替换为您自己的信息。

   ```
   aws cloudwatch put-metric-alarm --alarm-name name \
   --alarm-description "description" \
   --metric-name name --namespace namespace \
   --statistic statistic --period value --threshold value \
   --comparison-operator value \
   --dimensions "dimensions" --evaluation-periods value \
       --alarm-actions arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name \
   --unit unit
   ```

   以下为示例。

------
#### [ Linux & macOS ]

   ```
   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:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security \
   --unit Percent
   ```

------
#### [ Windows ]

   ```
   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:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security ^
   --unit Percent
   ```

------

## 将 CloudWatch 警报配置为创建或更新 OpsItems（CloudFormation）


本部分包括多个 Amazon CloudFormation 模板，您可以使用这些模板将 CloudWatch 警报配置为自动创建或更新 OpsItems。每个模板均要求您为 `AlarmActions` 参数指定 ARN。有关如何创建 ARN 的信息，请参阅 [开始前的准备工作](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)。

**指标警报** - 使用以下 CloudFormation 模板创建或更新 CloudWatch 指标警报。此模板中指定的警报用于监控 Amazon Elastic Compute Cloud（Amazon EC2）实例状态检查。如果告警进入 `ALARM` 状态，则在 OpsCenter 中创建 OpsItem。

```
    {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Parameters" : {
        "RecoveryInstance" : {
          "Description" : "The EC2 instance ID to associate this alarm with.",
          "Type" : "AWS::EC2::Instance::Id"
        }
      },
      "Resources": {
        "RecoveryTestAlarm": {
          "Type": "AWS::CloudWatch::Alarm",
          "Properties": {
            "AlarmDescription": "Run a recovery action when instance status check fails for 15 consecutive minutes.",
            "Namespace": "AWS/EC2" ,
            "MetricName": "StatusCheckFailed_System",
            "Statistic": "Minimum",
            "Period": "60",
            "EvaluationPeriods": "15",
            "ComparisonOperator": "GreaterThanThreshold",
            "Threshold": "0",
            "AlarmActions": [ {"Fn::Join" : ["", ["arn:arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name", { "Ref" : "AWS::Partition" }, ":ssm:", { "Ref" : "AWS::Region" }, { "Ref" : "AWS:: AccountId" }, ":opsitem:3" ]]} ],
            "Dimensions": [{"Name": "InstanceId","Value": {"Ref": "RecoveryInstance"}}]
          }
        }
      }
    }
```

**复合警报** - 使用以下 CloudFormation 模板创建或更新复合警报。复合告警由多个指标告警组成。如果告警进入 `ALARM` 状态，则在 OpsCenter 中创建 OpsItem。

```
"Resources":{
       "HighResourceUsage":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"HighResourceUsage",
             "AlarmRule":"(ALARM(HighCPUUsage) OR ALARM(HighMemoryUsage)) AND NOT ALARM(DeploymentInProgress)",
             "AlarmActions":"arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name",
             "AlarmDescription":"Indicates that the system resource usage is high while no known deployment is in progress"
          },
          "DependsOn":[
             "DeploymentInProgress",
             "HighCPUUsage",
             "HighMemoryUsage"
          ]
       },
       "DeploymentInProgress":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"DeploymentInProgress",
             "AlarmRule":"FALSE",
             "AlarmDescription":"Manually updated to TRUE/FALSE to disable other alarms"
          }
       },
       "HighCPUUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"CPUusageishigh",
             "AlarmName":"HighCPUUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"CPUUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":70,
             "TreatMissingData":"notBreaching"
          }
       },
       "HighMemoryUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"Memoryusageishigh",
             "AlarmName":"HighMemoryUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"MemoryUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":65,
             "TreatMissingData":"breaching"
          }
       }
    }
```

## 将 CloudWatch 警报配置为创建或更新 OpsItems（Java）


本部分包括多个 Java 代码段，您可以使用这些代码段将 CloudWatch 警报配置为自动创建或更新 OpsItems。每个代码段均要求您为 `validSsmActionStr` 参数指定 ARN。有关如何创建 ARN 的信息，请参阅 [开始前的准备工作](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)。

**特定警报** - 使用以下 Java 代码段创建或更新 CloudWatch 警报。此模板中指定的告警用于监控 Amazon EC2 实例状态检查。如果告警进入 `ALARM` 状态，则在 OpsCenter 中创建 OpsItem。

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.ComparisonOperator;
    import com.amazonaws.services.cloudwatch.model.Dimension;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult;
    import com.amazonaws.services.cloudwatch.model.StandardUnit;
    import com.amazonaws.services.cloudwatch.model.Statistic;
     
    private void putMetricAlarmWithSsmAction() {
        final AmazonCloudWatch cw =
                AmazonCloudWatchClientBuilder.defaultClient();
     
        Dimension dimension = new Dimension()
                .withName("InstanceId")
                .withValue(instanceId);
     
        String validSsmActionStr = "arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name";
     
        PutMetricAlarmRequest request = new PutMetricAlarmRequest()
                .withAlarmName(alarmName)
                .withComparisonOperator(
                        ComparisonOperator.GreaterThanThreshold)
                .withEvaluationPeriods(1)
                .withMetricName("CPUUtilization")
                .withNamespace("AWS/EC2")
                .withPeriod(60)
                .withStatistic(Statistic.Average)
                .withThreshold(70.0)
                .withActionsEnabled(false)
                .withAlarmDescription(
                        "Alarm when server CPU utilization exceeds 70%")
                .withUnit(StandardUnit.Seconds)
                .withDimensions(dimension)
                .withAlarmActions(validSsmActionStr);
     
        PutMetricAlarmResult response = cw.putMetricAlarm(request);
    }
```

**更新所有警报** - 使用以下 Java 代码段更新您的 Amazon Web Services 账户 中的所有 CloudWatch 警报，以便在警报进入 `ALARM` 状态时创建 OpsItems。

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsRequest;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsResult;
    import com.amazonaws.services.cloudwatch.model.MetricAlarm;
     
    private void listMetricAlarmsAndAddSsmAction() {
        final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient();
     
        boolean done = false;
        DescribeAlarmsRequest request = new DescribeAlarmsRequest();
     
        String validSsmActionStr = "arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name";
     
        while(!done) {
     
            DescribeAlarmsResult response = cw.describeAlarms(request);
     
            for(MetricAlarm alarm : response.getMetricAlarms()) {
                // assuming there are no alarm actions added for the metric alarm
                alarm.setAlarmActions(ImmutableList.of(validSsmActionStr));
            }
     
            request.setNextToken(response.getNextToken());
     
            if(response.getNextToken() == null) {
                done = true;
            }
        }
    }
```

# 手动创建 OpsItems
手动创建 OpsItems

当您发现操作问题时，可以通过 OpsCenter（Amazon Systems Manager 中的一项工具）手动创建 OpsItem 来管理和解决该问题。

如果您为跨账户管理设置了 OpsCenter，则 Systems Manager 委托管理员或 Amazon Organizations 管理账户可以为成员账户创建 OpsItems。有关更多信息，请参阅 [（可选）将 OpsCenter 手动设置为跨账户集中管理 OpsItems](OpsCenter-getting-started-multiple-accounts.md)。

您可以使用 Amazon Systems Manager 控制台、Amazon Command Line Interface（Amazon CLI）或 Amazon Tools for Windows PowerShell 创建 OpsItems。

**Topics**
+ [

# 手动创建 OpsItems（控制台）
](OpsCenter-creating-OpsItems-console.md)
+ [

# 手动创建 OpsItems（Amazon CLI）
](OpsCenter-creating-OpsItems-CLI.md)
+ [

# 手动创建 OpsItems（PowerShell）
](OpsCenter-creating-OpsItems-Powershell.md)

# 手动创建 OpsItems（控制台）
创建 OpsItems（控制台）

 您可以使用 Amazon Systems Manager 控制台手动创建 OpsItems。当您创建 OpsItem 时，它将显示在您的 OpsCenter 账户中。如果您为跨账户管理设置了 OpsCenter，则 OpsCenter 将为委托管理员或管理账户提供为选定成员账户创建 OpsItems 的选项。有关更多信息，请参阅 [（可选）将 OpsCenter 手动设置为跨账户集中管理 OpsItems](OpsCenter-getting-started-multiple-accounts.md)。

**使用 Amazon Systems Manager 控制台创建 OpsItem**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.amazonaws.cn/systems-manager/)，打开 Amazon Systems Manager 控制台。

1. 在导航窗格中，请选择 **OpsCenter**。

1. 选择 **Create (创建) OpsItem**。如果您没有看到该按钮，请选择 **OpsItems** 选项卡，然后选择 **Create OpsItem (创建 OpsItem)**。

1.  （可选）选择**其他账户**，然后选择要在其中创建 OpsItem 的账户。
**注意**  
如果您要为成员账户创建 OpsItems，则需要执行此步骤。

1. 对于 **Title (标题)**，输入一个描述性名称以帮助您了解 OpsItem 的用途。

1. 对于 **Source (源)**，请输入受影响的 Amazon 资源的类型或其他源信息，以帮助用户了解 OpsItem 的源。
**注意**  
创建 OpsItem 后，您无法编辑 **Source (源)** 字段。

1. （可选）对于 **Priority (优先级)**，选择优先级级别。

1. （可选）对于 **Severity (严重性)**，选择严重性级别。

1. （可选）对于 **Category (类别)**，选择一个类别。

1. 对于 **Description (描述)**，输入有关此 OpsItem 的信息，包括（如果适用）再现此问题的步骤。
**注意**  
控制台支持 OpsiteM 描述字段中的大多数 Markdown 格式。有关更多信息，请参阅《Amazon Web Services 管理控制台 入门指南》**中的[在控制台中使用 Markdown](https://docs.amazonaws.cn/awsconsolehelpdocs/latest/gsg/aws-markdown.html)。

1. 对于**重复数据删除字符串**，输入系统可以用于检查重复 OpsItems 的单词。有关重复数据删除字符串的更多信息，请参阅 [管理重复的 OpsItems](OpsCenter-working-deduplication.md)。

1. （可选）对于**通知**，指定在更新此 OpsItem 时要将通知发送到的 Amazon SNS 主题的 Amazon 资源名称（ARN）。您必须指定一个与 OpsItem 位于同一 Amazon Web Services 区域 中的 Amazon SNS ARN。

1. （可选）对于**相关资源**，选择**添加**以指定受影响资源和任何相关资源的 ID 或 ARN。

1. 选择**创建OpsItem**。

如果成功，该页面将显示 OpsItem。当委托管理员或管理账户为选定成员账户创建 OpsItem 时，新的 OpsItems 将显示在管理员和成员账户的 OpsCenter 中。有关如何配置 OpsItem 中的选项的信息，请参阅 [管理 OpsItems](OpsCenter-working-with-OpsItems.md)。

# 手动创建 OpsItems（Amazon CLI）
创建 OpsItems（Amazon CLI）

以下过程介绍了使用 Amazon Command Line Interface (Amazon CLI) 创建 OpsItem 的方法。

**使用 Amazon CLI 创建 OpsItem**

1. 安装并配置 Amazon Command Line Interface（Amazon CLI）（如果尚未执行该操作）。

   有关信息，请参阅[安装或更新 Amazon CLI 的最新版本](https://docs.amazonaws.cn/cli/latest/userguide/getting-started-install.html)。

1. 打开 Amazon CLI 并运行以下命令以创建 OpsItem。将每个*示例资源占位符*替换为您自己的信息。

   ```
   aws ssm create-ops-item \
       --title "Descriptive_title" \
       --description "Information_about_the_issue" \
       --priority Number_between_1_and_5 \
       --source Source_of_the_issue \
       --operational-data Up_to_20_KB_of_data_or_path_to_JSON_file \
       --notifications Arn="SNS_ARN_in_same_Region" \
       --tags "Key=key_name,Value=a_value"
   ```

   **指定文件中的操作数据**

   在创建 OpsItem 时，您可以指定文件中的操作数据。该文件必须是 JSON 文件，并且该文件的内容必须使用以下格式。

   ```
   {
     "key_name": {
       "Type": "SearchableString",
       "Value": "Up to 20 KB of data"
     }
   }
   ```

   见下列。

   ```
   aws ssm create-ops-item ^
       --title "EC2 instance disk full" ^
       --description "Log clean up may have failed which caused the disk to be full" ^
       --priority 2 ^
       --source ec2 ^
       --operational-data file:///Users/TestUser1/Desktop/OpsItems/opsData.json ^
       --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" ^
       --tags "Key=EC2,Value=Production"
   ```
**注意**  
有关如何在不同本地操作系统的命令行中输入 JSON 格式参数的信息，请参阅 *Amazon Command Line Interface 用户指南*中的[在 Amazon CLI 中将引号和字符串结合使用](https://docs.amazonaws.cn/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)。

   系统将返回类似于以下内容的信息。

   ```
   {
       "OpsItemId": "oi-1a2b3c4d5e6f"
   }
   ```

1. 运行以下命令以查看有关您创建的 OpsItem 的详细信息。

   ```
   aws ssm get-ops-item --ops-item-id ID
   ```

   系统将返回类似于以下内容的信息。

   ```
   {
       "OpsItem": {
           "CreatedBy": "arn:aws:iam::12345678:user/TestUser",
           "CreatedTime": 1558386334.995,
           "Description": "Log clean up may have failed which caused the disk to be full",
           "LastModifiedBy": "arn:aws:iam::12345678:user/TestUser",
           "LastModifiedTime": 1558386334.995,
           "Notifications": [
               {
                   "Arn": "arn:aws:sns:us-west-1:12345678:TestUser"
               }
           ],
           "Priority": 2,
           "RelatedOpsItems": [],
           "Status": "Open",
           "OpsItemId": "oi-1a2b3c4d5e6f",
           "Title": "EC2 instance disk full",
           "Source": "ec2",
           "OperationalData": {
               "EC2": {
                   "Value": "12345",
                   "Type": "SearchableString"
               }
           }
       }
   }
   ```

1. 运行以下命令以更新 OpsItem。此命令将状态从 `Open`（默认值）更改为 `InProgress`。

   ```
   aws ssm update-ops-item --ops-item-id ID --status InProgress
   ```

   该命令没有输出。

1. 再次运行以下命令以验证状态是否已更改为 `InProgress`。

   ```
   aws ssm get-ops-item --ops-item-id ID
   ```

## 创建 OpsItem 的示例


以下代码示例向您演示如何使用 Linux 管理门户、macOS 或 Windows Server 创建 OpsItem。

**Linux 管理门户或 macOS**

以下命令将在 Amazon Elastic Compute Cloud（Amazon EC2）实例磁盘已满时创建 OpsItem。

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"EC2":{"Value":"12345","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" \
    --tags "Key=EC2,Value=ProductionServers"
```

以下命令将使用 `OperationalData` 中的 `/aws/resources` 键创建包含 Amazon DynamoDB 相关资源的 OpsItem。

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"/aws/resources":{"Value":"[{\"arn\": \"arn:aws:dynamodb:us-west-2:12345678:table/OpsItems\"}]","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-2:12345678:TestUser"
```

以下命令将使用 `OperationalData` 中的 `/aws/automations` 键创建将 `AWS-ASGEnterStandby` 文档指定为相关联的自动化运行手册的 OpsItem。

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"/aws/automations":{"Value":"[{\"automationId\": \"AWS-ASGEnterStandby\", \"automationType\": \"AWS::SSM::Automation\"}]","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-2:12345678:TestUser"
```

**Windows**

以下命令将在 Amazon Relational Database Service（Amazon RDS）实例不响应时创建 OpsItem。

```
aws ssm create-ops-item ^
    --title "RDS instance not responding" ^
    --description "RDS instance not responding to ping" ^
    --priority 1 ^
    --source RDS ^
    --operational-data={\"RDS\":{\"Value\":\"abcd\",\"Type\":\"SearchableString\"}} ^
    --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" ^
    --tags "Key=RDS,Value=ProductionServers"
```

以下命令将使用 `OperationalData` 中的 `/aws/resources` 键创建包含 Amazon EC2 实例相关资源的 OpsItem。

```
aws ssm create-ops-item ^
    --title "EC2 instance disk full" ^
    --description "Log clean up may have failed which caused the disk to be full" ^
    --priority 2 ^
    --source ec2 ^
    --operational-data={\"/aws/resources\":{\"Value\":\"[{\\"""arn\\""":\\"""arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0\\"""}]\",\"Type\":\"SearchableString\"}}
```

以下命令将使用 `OperationalData` 中的 `/aws/automations` 键创建将 `Amazon-RestartEC2Instance` 运行手册指定为相关联的自动化运行手册的 OpsItem。

```
aws ssm create-ops-item ^
    --title "EC2 instance disk full" ^
    --description "Log clean up may have failed which caused the disk to be full" ^
    --priority 2 ^
    --source ec2 ^
    --operational-data={\"/aws/automations\":{\"Value\":\"[{\\"""automationId\\""":\\"""AWS-RestartEC2Instance\\”"",\\"""automationType\\""":\\"""AWS::SSM::Automation\\"""}]\",\"Type\":\"SearchableString\"}}
```

# 手动创建 OpsItems（PowerShell）
创建 OpsItems（PowerShell）

以下过程介绍了如何使用 Amazon Tools for Windows PowerShell 创建 OpsItem。

**使用 Amazon Tools for Windows PowerShell 创建 OpsItem**

1. 打开 Amazon Tools for Windows PowerShell，然后运行以下命令，以指定您的凭证。

   ```
   Set-AWSCredentials –AccessKey key-name –SecretKey key-name
   ```

1. 运行以下命令，以便为 PowerShell 会话设置 Amazon Web Services 区域。

   ```
   Set-DefaultAWSRegion -Region Region
   ```

1. 运行以下命令以创建新的 OpsItem。将每个*示例资源占位符*替换为您自己的信息。此命令指定用于修正此 OpsItem 的 Systems Manager 自动化运行手册。

   ```
   $opsItem = New-Object Amazon.SimpleSystemsManagement.Model.OpsItemDataValue
   $opsItem.Type = [Amazon.SimpleSystemsManagement.OpsItemDataType]::SearchableString 
   $opsItem.Value = '[{\"automationId\":\"runbook_name\",\"automationType\":\"AWS::SSM::Automation\"}]'
   $newHash = @{" /aws/automations"=[Amazon.SimpleSystemsManagement.Model.OpsItemDataValue]$opsItem}
   
   New-SSMOpsItem `
       -Title "title" `
       -Description "description" `
       -Priority priority_number `
       -Source Amazon_service `
       -OperationalData $newHash
   ```

   如果成功，此命令将输出新 OpsItem 的 ID。

下面的示例指定了受损的 Amazon Elastic Compute Cloud（Amazon EC2）实例的 Amazon 资源名称（ARN）。

```
$opsItem = New-Object Amazon.SimpleSystemsManagement.Model.OpsItemDataValue
$opsItem.Type = [Amazon.SimpleSystemsManagement.OpsItemDataType]::SearchableString 
$opsItem.Value = '[{\"arn\":\"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0\"}]'
$newHash = @{" /aws/resources"=[Amazon.SimpleSystemsManagement.Model.OpsItemDataValue]$opsItem}
New-SSMOpsItem -Title "EC2 instance disk full still" -Description "Log clean up may have failed which caused the disk to be full" -Priority 2 -Source ec2 -OperationalData $newHash
```