log 2

[ AWS ] Python boto3를 이용하여 s3 log 압축파일(gz) DataFrame 만들기 - CloudFront Logs

AWS CloudFront, WAF 등 S3에 저장된 log들은 최종 gz 압축 형태로 보관 된다. ​ 주기적이고, 빠르게 모니터링하고 분석하기 위해서 Python SDK를 이용하여 자동화 할 수 있는 방법을 알아본다. S3 버킷에 저장된 object 다운로드 Python boto3를 이용하여 S3에서 파일을 다운로드 한다. 일반적으로 날짜 Prefix가 들어가기 때문에 datetime 모듈을 이용하여 일괄 다운로드 받을 수 있으며, 아래에서는 단일 파일만 대상으로 테스트 해본다. ​ CloudFront 로그가 S3에 저장되어 있고, xxxx.2023-03-15-01.xxxx.gz 라는 압축파일을 다운로드 import boto3 client = boto3.client('s3') saveFile = 'xx..

AWS Infra 2023.03.16

[Python] paramiko와 timedelta를 조합하여 리눅스 로그 핸들링

* 테스트 환경이기 때문에 root 접속 보안은 배제하고 포스팅 * seculog를 샘플로 하였지만 날짜 형식은 동일하기 때문에 다양한 리눅스 로그에 활용이 가능 # securelog 파일에서 특정일을 선택해서 출력이 가능. (로그가 없어서 4일전으로 출력) day_ago = datetime.datetime.now() - datetime.timedelta(days=4) → 1 : 전일, 2 : 2일전 month = day_ago.strftime('%b') → 월 날짜 형식( 5월 : May ). log[0][2:]와 매칭 day = day_ago.strftime('%d') → 일 날짜 형식( 00 ). log[1]와 매칭 import paramiko import datetime day_ago = date..