Uso de AWS Lambda con Amazon CloudWatch Logs - AWS Lambda

Uso de AWS Lambda con Amazon CloudWatch Logs

Puede utilizar una función de Lambda para monitorizar y analizar registros de un flujo de registros de Amazon CloudWatch Logs. Cree suscripciones a uno o varios flujos de registros para invocar una función cuando se creen registros o estos coincidan con un patrón opcional. Utilice la función para enviar una notificación o para conservar el registro en una base de datos o en un sistema de almacenamiento.

CloudWatch Logs invoca la función de forma asíncrona con un evento que contiene datos de registro codificados. El valor del campo de datos es un archivo ZIP codificado en Base64.

ejemplo Evento de mensaje de Amazon CloudWatch Logs

{ "awslogs": { "data": "ewogICAgIm1lc3NhZ2VUeXBlIjogIkRBVEFfTUVTU0FHRSIsCiAgICAib3duZXIiOiAiMTIzNDU2Nzg5MDEyIiwKICAgICJsb2dHcm91cCI6I..." } }

Cuando se descodifican y descomprimen, los datos del registro son un documento JSON con la siguiente estructura.

ejemplo Datos de un mensaje de Amazon CloudWatch Logs (descodificados)

{ "messageType": "DATA_MESSAGE", "owner": "123456789012", "logGroup": "/aws/lambda/echo-nodejs", "logStream": "2019/03/13/[$LATEST]94fa867e5374431291a7fc14e2f56ae7", "subscriptionFilters": [ "LambdaStream_cloudwatchlogs-node" ], "logEvents": [ { "id": "34622316099697884706540976068822859012661220141643892546", "timestamp": 1552518348220, "message": "REPORT RequestId: 6234bffe-149a-b642-81ff-2e8e376d8aff\tDuration: 46.84 ms\tBilled Duration: 100 ms \tMemory Size: 192 MB\tMax Memory Used: 72 MB\t\n" } ] }

Para ver una aplicación de ejemplo que utiliza CloudWatch Logs como desencadenador, consulte Aplicación de ejemplo de procesamiento de errores para AWS Lambda.