CloudWatch Logs에서 Lambda 사용
Lambda 함수를 사용하여 Amazon CloudWatch Logs 로그 스트림의 로그를 모니터링하고 분석할 수 있습니다. 하나 이상의 로그 스트림에 대해 구독을 생성하여 로그가 생성되거나 선택적 패턴과 일치할 때 함수를 호출할 수 있습니다. 함수를 사용하여 알림을 보내거나 데이터베이스 또는 스토리지에 로그를 영구적으로 유지합니다.
CloudWatch Logs는 로그 데이터를 포함하는 이벤트와 비동기적으로 함수를 호출합니다. 데이터 필드의 값은 Base64로 인코딩된 .gzip 파일 아카이브입니다.
예 CloudWatch Logs 메시지 이벤트
{ "awslogs": { "data": "ewogICAgIm1lc3NhZ2VUeXBlIjogIkRBVEFfTUVTU0FHRSIsCiAgICAib3duZXIiOiAiMTIzNDU2Nzg5MDEyIiwKICAgICJsb2dHcm91cCI6I..." } }
디코딩 및 압축 해제된 로그 데이터는 다음 구조를 갖춘 JSON 문서입니다.
예 CloudWatch Logs 메시지 데이터(디코딩됨)
{ "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" } ] }