Configuración de grupos de registros de CloudWatch
De forma predeterminada, CloudWatch crea automáticamente un grupo de registro denominado /aws/lambda/<function name>
para la función cuando se invoca por primera vez. Para configurar su función de manera que envíe registros a un grupo de registro existente o para crear un nuevo grupo de registro para su función, puede usar la consola de Lambda o la AWS CLI. También puede configurar grupos de registros personalizados con los comandos de la API de Lambda CreateFunction y UpdateFunctionConfiguration, y el recurso de AWS Serverless Application Model (AWS SAM) AWS::Serverless::Function.
Puede configurar varias funciones de Lambda para enviar registros al mismo grupo de registro de CloudWatch. Por ejemplo, puede usar un único grupo de registro para almacenar los registros de todas las funciones de Lambda que componen una aplicación concreta. Cuando se utiliza un grupo de registro personalizado para una función de Lambda, los flujos de registro que Lambda crea incluyen el nombre y la versión de la función. Esto garantiza que se conserve la asignación entre los mensajes de registro y las funciones, incluso si utiliza el mismo grupo de registro para varias funciones.
El formato de denominación del flujo de registro para grupos de registro personalizados sigue esta convención:
YYYY/MM/DD/<function_name>[<function_version>][<execution_environment_GUID>]
Tenga en cuenta que, al configurar un grupo de registro personalizado, el nombre que seleccione para el grupo de registro debe seguir las reglas de nomenclatura de Registros de Amazon CloudWatch. Además, los nombres personalizados de los grupos de registros no deben empezar por la cadena aws/
. Si crea un grupo de registros personalizado empezando por aws/
, Lambda no podrá crear el grupo de registros. Como resultado, los registros de la función no se enviarán a CloudWatch.
Cambio del grupo de registro de una función (consola)
-
Abra la página de Funciones
en la consola de Lambda. -
Elija una función.
-
En la página de configuración de funciones, elija Herramientas de supervisión y operaciones.
-
En el panel Configuración de registros, seleccione Editar.
-
En el panel Grupo de registro, para el Grupo de registro de CloudWatch, elija Personalizado.
-
En Grupo de registro personalizado, introduzca el nombre del grupo de registro de CloudWatch al que quiere que su función envíe registros. Si introduce el nombre de un grupo de registro existente, su función utilizará ese grupo. Si no existe ningún grupo de registro con el nombre que ingresa, Lambda creará un nuevo grupo de registro para su función con ese nombre.
Cambio del grupo de registro de una función (AWS CLI)
-
Para cambiar el grupo de registro de una función existente, utilice el comando update-function-configuration
. aws lambda update-function-configuration \ --function-name myFunction \ --logging-config LogGroup=myLogGroup
Para especificar un grupo de registro personalizado al crear una función (AWS CLI)
-
Para especificar un grupo de registro personalizado al crear una nueva función de Lambda con la AWS CLI, utilice la opción
--logging-config
. El siguiente comando de ejemplo crea una función de Lambda de Node.js que envía registros a un grupo de registro denominadomyLogGroup
.aws lambda create-function \ --function-name myFunction \ --runtime nodejs22.x \ --handler index.handler \ --zip-file fileb://function.zip \ --role arn:aws:iam::123456789012:role/LambdaRole \ --logging-config LogGroup=myLogGroup
Permisos de rol de ejecución
Para que su función envíe registros a Registros de Amazon CloudWatch, debe tener el permiso logs:PutLogEvents. Cuando configura el grupo de registro de su función mediante la consola de Lambda, Lambda agregará este permiso al rol en las siguientes condiciones:
-
El destino del servicio está configurado como Registros de CloudWatch
-
El rol de ejecución de su función no tiene permisos para cargar registros en Registros de CloudWatch (el destino predeterminado)
nota
Lambda no agrega ningún permiso Put para los destinos de registro de Amazon S3 o Firehose.
Cuando Lambda agrega este permiso, otorga a la función permiso para enviar registros a cualquier grupo de registro de Registros de Amazon CloudWatch.
Para evitar que Lambda actualice automáticamente el rol de ejecución de la función y, en su lugar, lo edite manualmente, expanda Permisos y deje la opción Agregar permisos necesarios sin marcar.
Al configurar el grupo de registro de la función con la AWS CLI, Lambda no agregará el permiso logs:PutLogEvents
automáticamente. Agregue el permiso al rol de ejecución de su función si aún no lo tiene. Este permiso se incluye en la política administrada AWSLambdaBasicExecutionRole