手动创建 OpsItems - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

手动创建 OpsItems

本部分包含有关如何手动在 Amazon Systems Manager OpsCenter 中创建 OpsItems 的信息。

开始前的准备工作

手动创建 OpsItem 时,您可以为受影响的资源指定 Amazon Resource Name (ARN)。如果您指定 ARN,则 OpsCenter 会自动创建与该资源详细信息相关的深层链接。例如,如果您指定受影响的 Amazon EC2 实例的 ARN,则 OpsCenter 会创建与该实例详细信息相关的深层链接。有关如何创建 ARN 的信息,请参阅《Amazon Web Services 一般参考》中的 Amazon Resource Name (ARN) 和 Amazon 服务命名空间

注意

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

使用控制台创建 OpsItems

以下过程介绍了使用 Systems Manager 控制台创建 OpsItem 的方法。

要使用控制台手动创建 OpsItem,请执行以下步骤:

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

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

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

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

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

    注意

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

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

  7. (可选)对于 Severity (严重性),选择严重性级别。

  8. (可选)对于 Category (类别),选择一个类别。

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

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

  11. (可选)对于 Notifications (通知),指定在更新此 OpsItem 时要将通知发送到的 Amazon SNS 主题 ARN。您必须指定一个与 OpsItem 位于同一 Amazon Web Services 区域 中的 Amazon SNS ARN。

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

  13. 选择 Create (创建) OpsItem

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

使用 Amazon CLI 创建 OpsItems

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

要使用 Amazon CLI 手动创建 OpsItem,请执行以下步骤:

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

    想要了解有关信息,请参阅安装或升级Amazon命令行工具.

  2. 打开 Amazon Command Line Interface (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"

    下面是一些示例。

    Linux 管理门户 macOS

    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:

    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 键创建具有 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\"}}

    指定文件中的操作数据

    在创建 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 中将引号和字符串结合使用

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

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

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

    该命令没有输出。

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

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

使用 Amazon Tools for Windows PowerShell 创建 OpsItems

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

    Set-AWSCredentials –AccessKey key-name –SecretKey key-name
  2. 运行以下命令为 PowerShell 会话设置区域。

    Set-DefaultAWSRegion -Region Region
  3. 运行以下命令以创建新的 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 EC2 实例 的 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