Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Interroga il formato del file di registro NCSA

Modalità Focus
Interroga il formato del file di registro NCSA - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

IIS utilizza anche il formato NCSA Logging, che ha un numero fisso di campi in formato testo ASCII separati da spazi. La struttura è simile al formato di log comune utilizzato per i log di accesso Apache. I campi nel formato di log comune NCSA includono l'indirizzo IP del client, l'ID del client (non usato di norma), l'ID utente/dominio, la marca temporale della richiesta ricevuta, il testo della richiesta client, il codice di stato del server e la dimensione dell'oggetto restituito al client.

L'esempio seguente mostra i dati nel formato di log comune NCSA come documentato per IIS.

198.51.100.7 - ExampleCorp\Li [10/Oct/2019:13:55:36 -0700] "GET /logo.gif HTTP/1.0" 200 232 198.51.100.14 - AnyCompany\Jorge [24/Nov/2019:10:49:52 -0700] "GET /index.html HTTP/1.1" 200 2165 198.51.100.22 - ExampleCorp\Mateo [27/Dec/2019:11:38:12 -0700] "GET /about.html HTTP/1.1" 200 1287 198.51.100.9 - AnyCompany\Nikki [11/Jan/2020:11:40:11 -0700] "GET /image.png HTTP/1.1" 404 230 198.51.100.2 - ExampleCorp\Ana [15/Feb/2019:10:12:22 -0700] "GET /favicon.ico HTTP/1.1" 404 30 198.51.100.13 - AnyCompany\Saanvi [14/Mar/2019:11:40:33 -0700] "GET /intro.html HTTP/1.1" 200 1608 198.51.100.11 - ExampleCorp\Xiulan [22/Apr/2019:10:51:34 -0700] "GET /group/index.html HTTP/1.1" 200 1344

Creare una tabella in Athena per i log NCSA di IIS

Per l'istruzione CREATE TABLE, è possibile utilizzare Grok SerDe e un modello Grok simile a quello per i log dei server Web Apache. A differenza dei log di Apache, il modello Grok utilizza %{DATA:user_id} per il terzo campo invece di %{USERNAME:user_id} per tenere conto della presenza della barra rovesciata in domain\user_id. Per ulteriori informazioni sull'utilizzo di Grok SerDe, consulta Writing grok Custom Classifiers nella Developer Guide.AWS Glue

Per creare una tabella in Athena per i log del server Web IIS NCSA
  1. Apri la console Athena all'indirizzo https://console.aws.amazon.com/athena/.

  2. Copiare e incollare la seguente istruzione DDL nella console Athena Query Editor. Modificare i valori in LOCATION 's3://amzn-s3-demo-bucket/iis-ncsa-logs/' per puntare ai log IIS NCSA in Amazon S3.

    CREATE EXTERNAL TABLE iis_ncsa_logs( client_ip string, client_id string, user_id string, request_received_time string, client_request string, server_status string, returned_obj_size string ) ROW FORMAT SERDE 'com.amazonaws.glue.serde.GrokSerDe' WITH SERDEPROPERTIES ( 'input.format'='^%{IPV4:client_ip} %{DATA:client_id} %{DATA:user_id} %{GREEDYDATA:request_received_time} %{QUOTEDSTRING:client_request} %{DATA:server_status} %{DATA: returned_obj_size}$' ) STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/iis-ncsa-logs/';
  3. Eseguire la query nella console Athena per registrare la tabella iis_ncsa_logs. Al termine della query, i registri sono pronti per le query da Athena.

Esempio di query di selezione per i log IIS NCSA

Esempio — Filtrare per errori 404

La query di esempio seguente seleziona l'ora di ricezione della richiesta, il testo della richiesta client e il codice di stato del server dalla tabella iis_ncsa_logs. La clausola WHERE filtra per codice di stato HTTP 404 (pagina non trovata).

SELECT request_received_time, client_request, server_status FROM iis_ncsa_logs WHERE server_status = '404'

L'immagine seguente mostra i risultati della query nell'editor di query Athena.

Esecuzione di query su un log IIS NCSA da Athena per le voci HTTP 404.
Esempio — Filtrare per richieste riuscite da un determinato dominio

La query di esempio seguente seleziona l'ID utente, l'ora di ricezione della richiesta, il testo della richiesta client e il codice di stato del server dalla tabella iis_ncsa_logs. La clausola WHERE filtra per richieste con codice di stato HTTP 200 (riuscito) dagli utenti nel dominio AnyCompany.

SELECT user_id, request_received_time, client_request, server_status FROM iis_ncsa_logs WHERE server_status = '200' AND user_id LIKE 'AnyCompany%'

L'immagine seguente mostra i risultati della query nell'editor di query Athena.

Esecuzione di query su un log IIS NCSA da Athena per le voci HTTP 200.

Argomento successivo:

Usa le transazioni ACID

Argomento precedente:

IIS
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.