Ao contrário do formato estendido do W3C, o Formato de arquivo de log do IIS
O exemplo a seguir apresenta dados de amostra no formato de arquivo de log do 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, -,
Criar uma tabela no Athena para arquivos de log do IIS
Para consultar os logs no formato de arquivo de log do IIS no Amazon S3, crie primeiro um esquema de tabela para que o Athena possa ler os dados do log.
Para criar uma tabela no Athena para logs no formato de arquivo de log do IIS
Abra o console do Athena em https://console.aws.amazon.com/athena/
. -
Cole a seguinte instrução DDL no console do Athena, observando estes pontos:
-
Para especificar a vírgula como delimitador, use
FIELDS TERMINATED BY ','
. -
Modifique os valores em LOCATION 's3://amzn-s3-demo-bucket/
iis-log-file-folder
/' para apontarem para seus arquivos de log no formato de log do IIS no Amazon S3.
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
/' -
-
Execute a consulta no console do Athena para registrar a tabela
iis_format_logs
. Quando a consulta for concluída, os logs estarão prontos para você consultar no Athena.
Exemplo de consulta select no formato de log do IIS
A consulta de exemplo a seguir seleciona data, hora, destino da solicitação e tempo gasto em milissegundos da tabela iis_format_logs
. A cláusula WHERE
filtra os casos em que o tipo de solicitação é GET
e o código de status HTTP é 200
(com êxito). Na consulta, observe que os espaços à esquerda em ' GET'
e '
200'
são necessários para que a consulta seja bem-sucedida.
SELECT request_date, request_time, target_of_operation, time_taken_millisec
FROM iis_format_logs
WHERE request_type = ' GET' AND service_status_code = ' 200'
A imagem a seguir mostra os resultados da consulta dos dados de exemplo.
