AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建 OpsItems

您可以自动或手动创建 OpsItems。要自动创建 OpsItems,您可以选择一个批处理选项,该选项在 Amazon CloudWatch Events 中配置多个服务以针对常见资源问题创建 OpsItems。或者,如果您愿意,您可以选择性地配置 SSM OpsItem 作为 CloudWatch Events 中特定事件的目标。

本节包括以下主题。

启用默认 CloudWatch Events 规则以便自动创建 OpsItems

此部分说明如何配置默认 CloudWatch Events 规则以自动创建 OpsItems 来响应来自 AWS 服务的以下事件。启用这些默认规则是可选操作,但建议这样做。如果您不希望 CloudWatch Events 为这些事件创建 OpsItems,则可指定 OpsCenter 作为特定 CloudWatch Events 事件的目标。有关更多信息,请参阅配置 CloudWatch Events 以自动为特定事件创建 OpsItems

AWS 服务 Event

Amazon EC2

Instance State Change (Stopped, Terminated)

Amazon EC2

SSM Maintenance Window Execution (Failed, Timed Out

Amazon EBS

Snapshot Notification (Copy, Create, Share, Failed)

Amazon EC2 Auto Scaling

EC2 Instance (Launch Unsuccessful, Termination Unsuccessful

AWS Health

Amazon Relational Database Service (RDS) Maintenance Scheduled

AWS Health

RDS Issue Notification(示例:RDS Connectivity Issue

AWS Health

EC2 Maintenance Scheduled

AWS Health

EC2 Issue Notification(示例:Instance Auto Recovery Failure

AWS Health

EBS Issue Notification(示例:Degraded EBS Volume Performance

注意

在以下过程中,您必须创建一个 IAM 角色,此角色的权限策略允许 CloudWatch Events 在 OpsCenter 中创建 OpsItems。有关如何创建此角色的信息,请参阅 OpsCenter 入门

配置 CloudWatch Events 以从多个 AWS 服务自动创建 OpsItems

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 OpsCenter

  3. 选择 Configure sources (配置源)

  4. Step 2: OpsItem source setup (步骤 2:OpsItem 源设置) 下,对于 IAM Role (IAM 角色),粘贴使得 CloudWatch Events 可在 OpsCenter 中创建 OpsItems 的 IAM 角色的 ARN。

  5. 选择 Set up (设置)

  6. Sign in to the AWS Management Console and open the CloudWatch console at https://console.amazonaws.cn/cloudwatch/.

  7. 在导航窗格中,选择 Rules (规则)。验证该列表是否包含以 SSMOpsItems-* 开头的新规则,例如 SSMOpsItems-AutoScaling-instance-launch-failureSSMOpsItems-RDS-issue

    注意

    如果您需要,则可以在 CloudWatch 中编辑新规则。

在从事件创建 OpsItem 后,您可以通过打开 OpsItem 并向下滚动到操作数据 部分来查看事件详细信息。


                    查看操作数据以查看事件详细信息。

有关如何配置 OpsItem 中的选项的信息,请参阅使用 OpsItems

配置 CloudWatch Events 以自动为特定事件创建 OpsItems

使用以下过程配置 SSM OpsItem 作为 CloudWatch 事件目标。当 CloudWatch 接收事件时,它会创建新的 OpsItem。

将 OpsCenter 配置为 CloudWatch 事件的目标

  1. Sign in to the AWS Management Console and open the CloudWatch console at https://console.amazonaws.cn/cloudwatch/.

  2. 在导航窗格中,选择事件,然后选择创建新规则或编辑现有规则。

  3. 指定或验证规则的详细信息之后,选择 Add target

  4. 选择目标类型列表中,选择 SSM OpsItem

  5. 对于配置输入,验证是否已选择匹配的事件

  6. 在权限部分中,选择为此特定资源创建新规则可创建具有所需权限的新角色。或者,选择使用现有角色并选择您创建的 IAM 角色,此角色向 CloudWatch 授予在 OpsCenter 中创建 OpsItems 的权限。有关所需角色和权限的更多信息,请参阅 OpsCenter 入门

  7. 选择配置详细信息。CloudWatch 将打开步骤 2:配置规则详细信息页面。

  8. 对于名称,键入一个用于确定此规则的用途的描述性名称。

  9. 对于描述,键入有关此规则的信息。

  10. 确认已选择已启用 选项,然后选择创建规则

  11. 在导航窗格中,选择 Rules (规则)。验证列表是否包含以 AwsSSMOpsCenter-* 开头的新规则,例如 AwsSSMOpsCenter-EC2 或 AwsSSMOpsCenter-DynamoDB。

在从事件创建 OpsItem 后,您可以通过打开 OpsItem 并向下滚动到私有操作数据部分来查看事件详细信息。


                    查看操作数据以查看事件详细信息。

有关如何配置 OpsItem 中的选项的信息,请参阅使用 OpsItems

与适用于 .NET 和 SQL Server 的 CloudWatch Application Insights 集成在一起

OpsCenter 与适用于 .NET 和 SQL Server 的 Amazon CloudWatch Application Insights 集成在一起。这意味着,您可以自动为在应用程序中检测到的问题创建 OpsItems。有关如何配置 Application Insights 以创建 OpsItems 的信息,请参阅 Amazon CloudWatch User Guide 中的设置应用程序

手动创建 OpsItems

此部分包含针对非 Amazon CloudWatch Events 自动创建的问题手动创建 OpsItems 的过程。

开始前的准备工作

如果您为受影响的 AWS 资源手动创建 OpsItem,则收集有关此资源的信息,以便能创建 Amazon 资源名称 (ARN)。如果您在创建 OpsItem 时指定 ARN,则 OpsCenter 会自动创建一个指向有关此资源的详细信息的深层链接。例如,如果您指定受影响的 EC2 实例的 ARN,则 OpsCenter 会创建一个指向有关此实例的详细信息的深层链接。有关如何创建 ARN 的信息,请参阅 Amazon Web Services General Reference 中的 Amazon 资源名称 (ARN) 和 AWS 服务命名空间

注意

OpsCenter 不支持为所有 ARN 类型创建深层链接。要查看支持基于 ARN 的深层链接的资源列表,请参阅支持的资源参考

本节包括以下过程。

手动创建 OpsItem(控制台)

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 OpsCenter

  3. 选择 Create OpsItem (创建 &OI;)。如果您没有看到该按钮,则选择 OpsItems 选项卡,然后选择 Create OpsItem (创建 OpsItem)

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

  5. 对于 Source (源),请输入受影响的 AWS 资源的类型或其他源信息,以帮助用户了解 OpsItem 的源。

    注意

    在创建 OpsItem 后,无法编辑 Source (源) 字段。

  6. 对于 Priority (优先级),选择优先级级别。

  7. 对于 Description (描述),输入有关此 OpsItem 的信息,包括(如果适用)再现此问题的步骤。

  8. 对于 Deduplication string (重复数据删除字符串),输入系统应用于检查重复的 OpsItems 单词。有关重复数据删除字符串的更多信息,请参阅减少重复的 OpsItems

  9. (可选)对于 Notifications (通知),指定在更新此 OpsItem 时要发送通知的 SNS 主题 ARN。您必须指定一个位于与 OpsItem 相同的 AWS 区域内的 Amazon SNS ARN。

  10. (可选)在 Related resources (相关资源) 下,选择 Add (添加) 以指定受影响资源的 ARN 以及任何相关资源。

  11. 选择 Create OpsItem (创建 &OI;)

如果成功,则 OpsItem 将打开。有关如何配置 OpsItem 中的选项的信息,请参阅使用 OpsItems

手动创建 OpsItem (AWS CLI)

  1. 打开 AWS 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"

    下面是一些示例。

    Linux

    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 文档作为关联 Automation 运行手册的 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

    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 键创建指定 AWS-RestartEC2Instance 文档作为关联 Automation 运行手册的 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\"}}

    指定文件中的操作数据

    在创建 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 格式参数的信息,请参阅 AWS Command Line Interface User Guide 中的将引号和字符串结合使用

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

    {
        "OpsItemId": "oi-1a2b3c4d5e6f"
    }
  2. 运行以下命令以查看有关您创建的 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"
                }
            }
        }
    }
  3. 运行以下命令以更新 OpsItem。此命令将状态从 Open(默认值)更改为 InProgress

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

    该命令没有输出。

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

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