IIS 로그 파일 형식 쿼리
W3C 확장 형식과 달리 IIS 로그 파일 형식
다음 예제에서는 IIS 로그 파일 형식의 샘플 데이터를 보여 줍니다.
203.0.113.15, -, 2020-02-24, 22:48:38, W3SVC2, SERVER5, 198.51.100.4, 254, 501, 488, 200, 0, GET, /index.htm, -, 203.0.113.4, -, 2020-02-24, 22:48:39, W3SVC2, SERVER6, 198.51.100.6, 147, 411, 388, 200, 0, GET, /about.html, -, 203.0.113.11, -, 2020-02-24, 22:48:40, W3SVC2, SERVER7, 198.51.100.18, 170, 531, 468, 200, 0, GET, /image.png, -, 203.0.113.8, -, 2020-02-24, 22:48:41, W3SVC2, SERVER8, 198.51.100.14, 125, 711, 868, 200, 0, GET, /intro.htm, -,
Athena에서 IIS 로그 파일용 테이블 생성
Amazon S3의 IIS 로그를 쿼리하려면 먼저 테이블 스키마를 생성해야 Athena가 로그 데이터를 읽을 수 있습니다.
Athena에서 IIS 로그 파일 형식 로그에 대한 테이블 생성
https://console.aws.amazon.com/athena/
에서 Athena 콘솔을 엽니다. -
다음의 DDL 문을 Athena 콘솔에 붙여 넣습니다. 다음 사항에 유의하세요.
-
쉼표 구분 기호를 지정하려면
FIELDS TERMINATED BY ','
를 사용합니다. -
LOCATION 's3://amzn-s3-demo-bucket/
iis-log-file-folder
/'의 값을 Amazon S3의 IIS 로그 형식 로그 파일을 가리키도록 수정합니다.
CREATE EXTERNAL TABLE `iis_format_logs`( client_ip_address string, user_name string, request_date string, request_time string, service_and_instance string, server_name string, server_ip_address string, time_taken_millisec string, client_bytes_sent string, server_bytes_sent string, service_status_code string, windows_status_code string, request_type string, target_of_operation string, script_parameters string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/
iis-log-file-folder
/' -
-
Athena 콘솔에서
iis_format_logs
테이블을 등록하는 쿼리를 실행합니다. 이 쿼리가 완료되면 로그를 Athena에서 쿼리할 수 있습니다.
IIS 로그 형식 셀렉트 쿼리 예제
다음 쿼리 예제는 iis_format_logs
테이블에서 요청 날짜, 요청 시간, 요청 대상, 걸린 시간(밀리초 단위)을 선택합니다. WHERE
절은 요청 유형이 GET
이고 HTTP 상태 코드가 200
(성공)인 경우를 필터링합니다. 쿼리가 성공하려면 쿼리에서 ' GET'
및 '
200'
에 선행하는 공백이 필요합니다.
SELECT request_date, request_time, target_of_operation, time_taken_millisec FROM iis_format_logs WHERE request_type = ' GET' AND service_status_code = ' 200'
다음 이미지는 샘플 데이터에 대한 쿼리 결과를 보여줍니다.
