Registro de saída de ações do Automation em log com o CloudWatch Logs - AWS Systems Manager

Registro de saída de ações do Automation em log com o CloudWatch Logs

Automação, um recurso do AWS Systems Manager, integra-se ao Amazon CloudWatch Logs. Você pode enviar o resultado das ações do aws:executeScript nos runbooks para o grupo de logs especificado. O Systems Manager não cria um grupo de logs ou quaisquer fluxos de log para documentos que não usam ações aws:executeScript. Se o documento usar aws:executeScript, a saída enviada ao CloudWatch Logs pertence somente a essas ações. Você pode usar a ação aws:executeScript armazenada no grupo de logs do CloudWatch Logs para fins de depuração e solução de problemas. Se você escolher um grupo de logs criptografado, a ação aws:executeScript também é criptografada. O registro em log de saída de ações aws:executeScript é uma configuração no nível da conta.

Para enviar saídas de ação ao CloudWatch Logs para runbooks de propriedade da Amazon, o usuário ou o perfil que executa a automação deve ter permissões para as operações a seguir:

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

Para runbooks de sua propriedade, permissões semelhantes devem ser adicionadas ao perfil de serviço do IAM (ou AssumeRole) utilizado para executar o runbook.

Para enviar a saída de ação para o CloudWatch Logs (console)
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação à esquerda, escolha Automation (Automação).

  3. Escolha a guia Preferences (Preferências) e, em seguida, escolha Edit (Editar).

  4. Marque a caixa de seleção ao lado de Send output to CloudWatch Logs (Enviar saída ao CloudWatch Logs).

  5. (Recomendado) Marque a caixa de seleção ao lado de Encrypt log data (Criptografar dados de log). Com essa opção ativada, os dados de log serão criptografados usando a chave de criptografia no lado do servidor especificada para o grupo de logs. Se você não quiser criptografar os dados de log que são enviados ao CloudWatch Logs, desmarque a caixa de seleção. Desmarque a caixa de seleção se a criptografia não for permitida no grupo de logs.

  6. Em CloudWatch Logs, para especificar o grupo de logs existente do CloudWatch Logs no Conta da AWS, para o qual você quer enviar o resultado da ação, selecione uma das seguintes opções:

    • Send output to the default log group (Enviar saída para o grupo de logs padrão): se o grupo de logs padrão não existir (/aws/ssm/automation/executeScript), o Automation o criará para você.

    • Escolha um grupo de logs na lista: selecione um grupo de logs que já tenha sido criado na sua conta para armazenar resultados práticos.

    • Insira um nome de grupo de logs na caixa de texto: insira o nome de um grupo de logs na caixa de texto que já tenha sido criado na conta para armazenar os resultados da ação.

  7. Escolha Salvar.

Para enviar a saída de ação para o CloudWatch Logs (linha de comando)
  1. Abra sua ferramenta da linha de comando preferencial e execute o comando a fim de atualizar o destino de saída da ação.

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination \ --setting-value CloudWatch
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination ^ --setting-value CloudWatch
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination" ` -SettingValue "CloudWatch"

    Não haverá saída se o comando for bem-sucedido.

  2. Execute o comando a seguir a fim de especificar o grupo de logs para o qual você deseja enviar a saída de ação.

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name \ --setting-value my-log-group
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name ^ --setting-value my-log-group
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name" ` -SettingValue "my-log-group"

    Não haverá saída se o comando for bem-sucedido.

  3. Execute o comando a seguir para visualizar as configurações do serviço para as preferências de registro em log de ações do Automation na Conta da AWS e Região da AWS atuais.

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination"

    O comando retorna informações como as seguintes.

    {
        "ServiceSetting": {
            "Status": "Customized",
            "LastModifiedDate": 1613758617.036,
            "SettingId": "/ssm/automation/customer-script-log-destination",
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/User_1",
            "SettingValue": "CloudWatch",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/automation/customer-script-log-destination"
        }
    }