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.

Importante

Azure Data Lake Analytics ritirato il 29 febbraio 2024. Altre informazioni con questo annuncio.

Per l'analisi dei dati, l'organizzazione può usare Azure Synapse Analytics o Microsoft Fabric.

Prerequisiti

Connettersi ad 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. Selezionare Opzioni e impostazioni di Data Lake>.
  3. Selezionare Accedi o Modifica utente se un utente ha eseguito l'accesso e seguire le istruzioni.
  4. Selezionare 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 Data Lake Analytics dallo 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. Selezionare il nuovo > progetto file>.

  2. Selezionare il tipo Progetto U-SQL.

    nuovo progetto U-SQL di Visual Studio

  3. Selezionare 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 very time.
    CREATE DATABASE IF NOT EXISTS SampleDBTutorials;
    
    // Create a Table valued function. TVF ensures that your jobs fetch data from he 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. Da Esplora soluzioni selezionare Script.usql e quindi crea script. Verificare il risultato nel riquadro di output.

  8. Da Esplora soluzioni selezionare Script.usql e quindi invia script.

  9. Verificare che l'account di Analisi sia quello in cui si vuole eseguire il processo e quindi selezionare 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 è riuscito, è probabilmente mancante il file di origine. Vedere la sezione Prerequisiti di questa esercitazione. Per altre informazioni sulla risoluzione dei problemi, vedere Monitorare e risolvere i problemi dei processi di Azure Data Lake Analytics.

    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. In Esplora server espandere Azure, espandere Data Lake Analytics, espandere l'account Data Lake Analytics, espandere Account di archiviazione, fare clic con il pulsante destro del mouse sull'account Data Lake Storage predefinito e quindi scegliere Esplora.
  2. Fare doppio clic su Esempi per aprire la cartella e quindi su Output.
  3. Fare doppio clic su UnsuccessfulResponses.log.
  4. È anche possibile fare doppio clic sul file di output nella visualizzazione grafico del processo per passare direttamente al file di output.

Passaggi successivi

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