Registro de salida de acción de Automation con CloudWatch Logs - AWS Systems Manager

Registro de salida de acción de Automation con CloudWatch Logs

Automation, una capacidad de AWS Systems Manager, se integra con Amazon CloudWatch Logs. Puede enviar la salida desde las acciones de aws:executeScript en los manuales de procedimientos hacia el grupo de registros que especifique. Systems Manager no crea grupos ni flujos de registro para los documentos que no utilizan acciones de aws:executeScript. Si el documento utiliza aws:executeScript, la salida enviada a CloudWatch Logs solo pertenece a esas acciones. Puede utilizar la salida de acción aws:executeScript almacenada en el grupo de registros de CloudWatch Logs para depurar y resolver problemas. Si elige un grupo de registros que está cifrado, la salida de acción aws:executeScript también está cifrada. La salida de registro desde las acciones de aws:executeScript es una configuración del nivel de cuenta.

A fin de enviar la salida de la acción a Registros de CloudWatch para los manuales de procedimientos de propiedad de Amazon, el rol o el usuario que ejecuta la automatización debe tener permisos para las siguientes operaciones:

  • logs:CreateLogGroup

  • logs:CreateLogStream

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • logs:PutLogEvents

Para los manuales de procedimientos de los que usted es propietario, se deben agregar los mismos permisos al rol de servicio de IAM (o AssumeRole) que se utiliza para ejecutar el manual de procedimientos.

Para enviar la salida de acción a CloudWatch Logs (consola)
  1. Abra la consola de AWS Systems Manageren https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Automation.

  3. Elija la pestaña Preferences (Preferencias) y, a continuación, Edit (Editar).

  4. Elija la casilla de verificación situada junto a Send output to CloudWatch Logs (Enviar salida a CloudWatch Logs).

  5. (Recomendado) Elija la casilla de verificación situada junto a Encrypt log data (Cifrar datos de registro). Con esta opción activada, los datos de registro se cifran con la clave de cifrado del lado del servidor especificado para el grupo de registros. Si no desea cifrar los datos de registro que se envían a CloudWatch Logs, desactive la casilla de verificación. Desactive la casilla de verificación si no se permite el cifrado en el grupo de registros.

  6. En CloudWatch Logs log group (Grupo de registros de CloudWatch Logs), para especificar el grupo de registros de CloudWatch Logs existente en la Cuenta de AWS a la que desea que se envíe una salida de acción, seleccione una de las opciones siguientes:

    • Send output to the default log group (Enviar salida al grupo de registros predeterminado): si el grupo de registro predeterminado no existe (/aws/ssm/automation/executeScript), la capacidad de Automation lo crea por usted.

    • Choose from a list of log groups (Elegir de una lista de grupos de registro): seleccione un grupo de registros que ya se haya creado en su cuenta para almacenar la salida de acción.

    • Enter a log group name (Escribir un nombre del grupo de registros): escriba el nombre de un grupo de registros que ya se haya creado en su cuenta para almacenar la salida de acción.

  7. Elija Guardar.

Para enviar la salida de acción a CloudWatch Logs (línea de comando)
  1. Abra su herramienta de línea de comandos preferida y ejecute el siguiente comando para actualizar el destino de salida de la acción.

    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"

    No se obtienen resultados si el comando se ejecuta satisfactoriamente.

  2. Ejecute el siguiente comando para especificar el grupo de registros al que desea enviar la salida de acción.

    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"

    No se obtienen resultados si el comando se ejecuta satisfactoriamente.

  3. Ejecute el siguiente comando para ver la configuración del servicio actual para las preferencias de registro de acciones de Automation en la Cuenta de AWS y la Región de AWS actuales.

    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"

    El comando devuelve información similar a la siguiente.

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