Criação de OpsItems manualmente (AWS CLI) - AWS Systems Manager

Criação de OpsItems manualmente (AWS CLI)

O procedimento a seguir descreve como criar um OpsItem usando a AWS Command Line Interface (AWS CLI).

Como criar um OpsItem usando a AWS CLI
  1. Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.

  2. Abra a AWS CLI e execute o comando a seguir para criar uma OpsItem. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

    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"

    Especificar dados operacionais de um arquivo

    Ao criar uma OpsItem, você pode especificar dados operacionais de um arquivo. O arquivo deve ser um arquivo JSON e o conteúdo do arquivo deve usar o formato a seguir.

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

    Aqui está um exemplo.

    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"
    nota

    Para obter informações sobre como inserir parâmetros formatados em JSON na linha de comando em diferentes sistemas operacionais locais, consulte Uso de aspas com strings na AWS CLI no Guia do usuário da AWS Command Line Interface.

    O sistema retorna informações como estas.

    {
        "OpsItemId": "oi-1a2b3c4d5e6f"
    }
  3. Execute o comando a seguir para visualizar detalhes sobre o OpsItem que você criou.

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

    O sistema retorna informações como estas.

    {
        "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. Execute o comando a seguir para atualizar a OpsItem. Esse comando altera o status de Open (o padrão) para InProgress.

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

    O comando não tem uma saída.

  5. Execute o comando a seguir novamente para verificar se o status foi alterado para InProgress.

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

Exemplos de criação de um OpsItem

Os exemplos de código a seguir mostram como criar um OpsItem usando o portal de gerenciamento do Linux, macOS ou Windows.

Portal de gerenciamento do Linux ou macOS

O comando a seguir cria um OpsItem quando um disco de instância do Amazon Elastic Compute Cloud (Amazon EC2) está cheio.

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"

O comando a seguir usa a chave /aws/resources em OperationalData para criar um OpsItem com um recurso relacionado ao Amazon DynamoDB.

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"

O comando a seguir usa a chave /aws/automations em OperationalData para criar um OpsItem que especifica o documento AWS-ASGEnterStandby como um runbook do Automation associado.

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

O comando a seguir cria um OpsItem quando uma instância do Amazon Relational Database Service (Amazon RDS) não está respondendo.

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"

O comando a seguir usa a chave /aws/resources em OperationalData para criar um OpsItem com um recurso relacionado à instância do Amazon EC2.

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\"}}

O comando a seguir usa a chave /aws/automations em OperationalData para criar um OpsItem que especifica o runbook AWS-RestartEC2Instance como um runbook do Automation associado.

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\"}}