Uso de Lambda con 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 .gzip codificado en Base64.
ejemplo Evento de mensaje de 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 mensaje de 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: 47 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.