Aws

CloudWatch LogGroup 로그 Lambda에서 읽기

wngnl05 2024. 12. 27. 14:48
import base64
import json
import zlib

def lambda_handler(event, context):
    
    # CloudWatch LogGroup 읽어오기
    
    event_data = event['awslogs']['data'] # 이벤트 데이터 추출
    decoded_data = base64.b64decode(event_data) # base64 디코딩
    decompressed_data = zlib.decompress(decoded_data, 16+zlib.MAX_WBITS) # 압축 해제
    log_data = json.loads(decompressed_data) # JSON 파싱
    log_events = log_data['logEvents'] # 로그 이벤트 추출
    for log_event in log_events: # 로그 메시지 출력
        print(log_event['message'])

    # 처리 결과 반환
    return {
        'statusCode': 200,
        'body': json.dumps('CloudWatch Logs processed successfully!')
    }