Analizzare i log dei siti Web con Azure Data Lake Analytics

Informazioni su come analizzare i log dei siti Web con Analisi Data Lake, in particolare come scoprire quali referrer hanno riscontrato errori durante la visita al il sito Web.

Prerequisiti

Connect to Azure

Prima di poter compilare e testare qualsiasi script U-SQL, è necessario connettersi ad Azure.

Per connettersi ad Analisi Data Lake

  1. Aprire Visual Studio.
  2. Fare clic su Data Lake > Opzioni e impostazioni.
  3. Fare clic su Accedi o Cambia utente se un altro utente ha già eseguito l'accesso e seguire le istruzioni.
  4. Fare clic su OK per chiudere la finestra di dialogo Opzioni e impostazioni.

Per accedere agli account Analisi Data Lake personali

  1. In Visual Studio aprire Esplora server premendo i tasti CTRL + ALT + S.
  2. Da Esplora server espandere Azure e quindi Data Lake Analytics. Verrà visualizzato l'elenco degli account di Analisi Data Lake personali, se disponibili. Non è possibile creare account Analisi Data Lake da Visual Studio. Per creare un account, vedere Introduzione ad Azure Data Lake Analytics con il portale di Azure o Introduzione ad Azure Data Lake Analytics con Azure PowerShell.

Sviluppare un'applicazione U-SQL

Un'applicazione U-SQL è principalmente uno script U-SQL. Per altre informazioni su U-SQL, vedere Introduzione a U-SQL.

È possibile aggiungere all'applicazione operatori addizione definiti dall'utente. Per altre informazioni, vedere Sviluppare operatori U-SQL definiti dall'utente per i processi di Analisi Data Lake.

Per creare e inviare un processo di Analisi Data Lake

  1. Fare clic su File > Nuovo > Progetto.
  2. Selezionare il tipo Progetto U-SQL.

    nuovo progetto U-SQL di Visual Studio

  3. Fare clic su OK. Visual Studio crea una soluzione con un file Script.usql.
  4. Immettere lo script seguente nel file Script.usql:

     // Create a database for easy reuse, so you don't need to read from a file every time.
     CREATE DATABASE IF NOT EXISTS SampleDBTutorials;
    
     // Create a Table valued function. TVF ensures that your jobs fetch data from the weblog file with the correct schema.
     DROP FUNCTION IF EXISTS SampleDBTutorials.dbo.WeblogsView;
     CREATE FUNCTION SampleDBTutorials.dbo.WeblogsView()
     RETURNS @result TABLE
     (
         s_date DateTime,
         s_time string,
         s_sitename string,
         cs_method string,
         cs_uristem string,
         cs_uriquery string,
         s_port int,
         cs_username string,
         c_ip string,
         cs_useragent string,
         cs_cookie string,
         cs_referer string,
         cs_host string,
         sc_status int,
         sc_substatus int,
         sc_win32status int,
         sc_bytes int,
         cs_bytes int,
         s_timetaken int
     )
     AS
     BEGIN
    
         @result = EXTRACT
             s_date DateTime,
             s_time string,
             s_sitename string,
             cs_method string,
             cs_uristem string,
             cs_uriquery string,
             s_port int,
             cs_username string,
             c_ip string,
             cs_useragent string,
             cs_cookie string,
             cs_referer string,
             cs_host string,
             sc_status int,
             sc_substatus int,
             sc_win32status int,
             sc_bytes int,
             cs_bytes int,
             s_timetaken int
         FROM @"/Samples/Data/WebLog.log"
         USING Extractors.Text(delimiter:' ');
         RETURN;
     END;
    
     // Create a table for storing referrers and status
     DROP TABLE IF EXISTS SampleDBTutorials.dbo.ReferrersPerDay;
     @weblog = SampleDBTutorials.dbo.WeblogsView();
     CREATE TABLE SampleDBTutorials.dbo.ReferrersPerDay
     (
         INDEX idx1
         CLUSTERED(Year ASC)
         DISTRIBUTED BY HASH(Year)
     ) AS
    
     SELECT s_date.Year AS Year,
         s_date.Month AS Month,
         s_date.Day AS Day,
         cs_referer,
         sc_status,
         COUNT(DISTINCT c_ip) AS cnt
     FROM @weblog
     GROUP BY s_date,
             cs_referer,
             sc_status;
    

    Per informazioni su U-SQL, vedere Introduzione al linguaggio U-SQL con Analisi Data Lake.

  5. Aggiungere al progetto un nuovo script U-SQL e immettere quanto segue:

     // Query the referrers that ran into errors
     @content =
         SELECT *
         FROM SampleDBTutorials.dbo.ReferrersPerDay
         WHERE sc_status >=400 AND sc_status < 500;
    
     OUTPUT @content
     TO @"/Samples/Outputs/UnsuccessfulResponses.log"
     USING Outputters.Tsv();
    
  6. Tornare al primo script U-SQL e accanto al pulsante Invia , specificare l'account di analisi.
  7. In Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Build Script (Compila script). Verificare il risultato nel riquadro di output.
  8. In Esplora soluzioni fare clic con il pulsante destro del mouse su Script.usql e quindi scegliere Submit Script (Invia script).
  9. Verificare che Account Analisi sia quello in cui si vuole eseguire il processo e quindi fare clic su Invia. Al termine della procedura di invio, nella finestra dei risultati di Strumenti di Data Lake per Visual Studio saranno disponibili i risultati dell'operazione di invio e il collegamento al processo.
  10. Attendere che il processo venga completato. Se il processo non riesce, è molto probabile che manchi il file di origine. Vedere la sezione Prerequisiti di questa esercitazione. Per altre informazioni sulla risoluzione dei problemi, vedere Monitoraggio e risoluzione dei problemi dei processi di Analisi Azure Data Lake.

    Una volta completato il processo, verrà visualizzata la schermata seguente:

    Analisi Data Lake analizzare i log dei siti Web log dei siti Web

  11. Ripetere i passaggi da 7 a 10 per Script1.usql.

Per visualizzare l'output del processo

  1. Da Esplora server espandere Azure, quindi Data Lake Analytics, l'account Data Lake Analytics e infine Account di archiviazione. Fare clic con il pulsante destro del mouse sull'account Data Lake Analytics predefinito e quindi scegliere Esplora.
  2. Fare doppio clic su Esempi per aprire la cartella e quindi su Output.
  3. Fare doppio clic su UnsuccessfulResponsees.log.
  4. È anche possibile fare doppio clic sul file di output nella visualizzazione grafico del processo per passare direttamente al file di output.

Vedere anche

Per iniziare a usare Analisi Data Lake usando vari tipi di strumenti, vedere: