ALB 액세스 로그의 쿼리 예제 - Amazon Athena

ALB 액세스 로그의 쿼리 예제

다음 쿼리는 클라이언트 IP 주소별로 그룹화된 로드 밸런서가 수신한 HTTP GET 요청의 개수를 계산합니다:

SELECT COUNT(request_verb) AS count, request_verb, client_ip FROM alb_access_logs GROUP BY request_verb, client_ip LIMIT 100;

다른 쿼리는 Safari 브라우저 사용자가 방문한 URL을 보여줍니다:

SELECT request_url FROM alb_access_logs WHERE user_agent LIKE '%Safari%' LIMIT 10;

다음 쿼리는 ELB 상태 코드 값이 500보다 크거나 같은 레코드를 보여 줍니다.

SELECT * FROM alb_access_logs WHERE elb_status_code >= 500

다음 예에서는 datetime을 통해 로그를 구문 분석하는 방법을 보여 줍니다.

SELECT client_ip, sum(received_bytes) FROM alb_access_logs WHERE parse_datetime(time,'yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z') BETWEEN parse_datetime('2018-05-30-12:00:00','yyyy-MM-dd-HH:mm:ss') AND parse_datetime('2018-05-31-00:00:00','yyyy-MM-dd-HH:mm:ss') GROUP BY client_ip;

다음 쿼리는 지정된 날짜의 모든 ALB 액세스 로그에 대해 파티션 프로젝션을 사용하는 테이블을 쿼리합니다.

SELECT * FROM alb_access_logs WHERE day = '2022/02/12'