2021. 1. 4. 09:15ㆍAWS
ㅇ 액세스 로그
> ELB의 옵션 기능 중 하나로, 로드 밸런서에 대한 로그를 수집하여 지정한 S3 버킷에 저장
> 기본적으로 비활성화되어 있으며, 활성화시킬 경우 비용 발생
ㅇ 액세스 로그 활성화
> [EC2 서비스] - [로드밸런서] - [설명] 탭 최하단에 있는 "속성"에서 [속성 편집] 선택
> 액세스 로그 활성화 탭을 통해 활성 여부 선택 가능
> S3의 AWSLogs 폴더 내부에 CloudTrail Log가 저장됨
ㅇ 액세스 로그 분석
> 서버로 액세스 로그 복사
aws s3 cp s3://(버킷 경로)/ /(로그 저장 경로) --recursive --exclude "*" --include "*(원하는 시간: ex. 20201029T08 - 2020년 10월 29일 08시)*"
> .gz으로 묶인 압축 모두 해제
gzip -d *.gz
> .log로 끝나는 모든 파일들을 result.txt라는 하나의 텍스트로 저장
cat *.log > result.txt
1) 서버를 통한 분석
> 전체 로그를 시간순으로 정렬
head result.txt | sort -nk 2
> 4XX에러, 5XX에러를 발생시킨 로그 확인
cat result.txt | awk '$9>399 {print $2, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15}' | sort -nk 1
> 해당 IP가 존재하는 5XX에러를 발생시킨 로그 확인
egrep '(IP 1)|(IP 2)' result.txt | awk '$9>499 {print $2, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15}' | sort -nk 1 > result.txt
2) 액셀을 통한 분석
> 앞서 생성한 result.txt를 로컬 PC에 저장
> 텍스트의 모든 내용을 복사해 액셀에 붙여넣기
> [데이터] - [텍스트 나누기] - [구분 기호로 분리됨] - [공백 선택] - [마침]을 통해 데이터분할
> 다음과 같이 로그가 분할된 것을 확인 가능
> 이 중에서 Ctrl + F를 통해 원하는 기록 검색
* 액세스로그 포맷은 다음 링크를 통해 확인 가능
'AWS' 카테고리의 다른 글
[AWS Storage Gateway] 51. 윈도우 서버에서 접근하기 (0) | 2021.01.13 |
---|---|
[AWS Storage Gateway] 50. Storage Gateway로 NFS 만들기 (0) | 2021.01.08 |
[AWS Route53] 47. Record 마이그레이션 (0) | 2021.01.01 |
[AWS] 46. Apache 서버 인증서 변경 및 적용 (0) | 2020.12.31 |
[AWS] 40. NTP 설정 (0) | 2020.10.05 |