Analisar logs de site usando o Azure Data Lake Analytics

Saiba como analisar os logs do site usando a Análise Data Lake, principalmente para descobrir quais referenciadores resultaram em erros ao tentar visitar o site.

Importante

O Azure Data Lake Analytics desativado em 29 de fevereiro de 2024. Saiba mais nesse comunicado.

Para análise de dados, sua organização pode usar o Azure Synapse Analytics ou o Microsoft Fabric.

Pré-requisitos

Conectar-se ao Azure

Antes de criar e testar qualquer script U-SQL, é preciso se conectar ao Azure.

Para conectar-se à Análise Data Lake

  1. Abra o Visual Studio.
  2. Selecione Opções e Configurações do Data Lake>.
  3. Selecione Entrar ou Alterar Usuário se alguém tiver se conectado e siga as instruções.
  4. Selecione OK para fechar a caixa de diálogo Opções e Configurações.

Para procurar suas contas da Análise Data Lake

  1. No Visual Studio, abra o Gerenciador de Servidores pressionando CTRL+ALT+S.
  2. No Gerenciador de Servidores, expanda Azure e Data Lake Analytics. Você deverá ver uma lista das suas contas da Análise Data Lake, caso haja alguma. Você não pode criar contas Data Lake Analytics do estúdio. Para criar uma conta, consulte Introdução ao Azure Data Lake Analytics usando portal do Azure ou Introdução ao Azure Data Lake Analytics usando Azure PowerShell.

Desenvolver aplicativos U-SQL

Um aplicativo U-SQL é basicamente um script U-SQL. Para saber mais sobre o U-SQL, consulte Introdução ao U-SQL.

Você pode adicionar operadores definidos pelo usuário a este aplicativo. Para obter mais informações, veja Desenvolver operadores U-SQL definidos pelo usuário para trabalhos da Análise do Data Lake.

Para criar e enviar um trabalho da Análise Data Lake

  1. Selecione o Arquivo > Novo > Projeto.

  2. Selecione o tipo Projeto do U-SQL.

    novo projeto de U-SQL do Visual Studio

  3. Selecione OK. O Visual Studio cria uma solução com um arquivo Script.usql.

  4. Insira o seguinte script no arquivo 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;
    

    Para entender o U-SQL, consulte Introdução à linguagem da Análise do Date Lake U-SQL.

  5. Adicione um novo script U-SQL ao seu projeto e digite o seguinte:

    // 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. Volte para o primeiro script U-SQL e, ao lado do botão Enviar , especifique a conta de análise.

  7. Em Gerenciador de Soluções, selecione Script.usql com o botão direito do mouse e, em seguida, selecione Criar Script. Verifique os resultados no painel Saída.

  8. Em Gerenciador de Soluções, selecione Script.usql com o botão direito do mouse e, em seguida, selecione Enviar Script.

  9. Verifique se a Conta de Análise é aquela em que você deseja executar o trabalho e selecione Enviar. Os resultados do envio e o link do trabalho ficarão disponíveis na janela de resultados das Ferramentas do Date Lake para Visual Studio quando o envio for concluído.

  10. Aguarde até o trabalho ser concluído com sucesso. Se o trabalho falhou, provavelmente não há o arquivo de origem. Consulte a seção Pré-requisitos deste tutorial. Para obter mais informações de solução de problemas, consulte Monitorar e solucionar problemas de trabalhos do Azure Data Lake Analytics.

    Quando o trabalho for concluído, você deverá ver a seguinte tela:

    a Análise Data Lake analisa logs de site de blogs

  11. Agora, repita as etapas 7 a 10 para Script1.usql.

Para ver a saída do trabalho

  1. Em Explorer do Servidor, expanda Azure, expanda Data Lake Analytics, expanda sua conta Data Lake Analytics, expanda Contas de Armazenamento, clique com o botão direito do mouse na conta de Data Lake Storage padrão e selecione Explorer.
  2. Clique duas vezes em Exemplos para abrir a pasta e, então, clique duas vezes em Saídas.
  3. Clique duas vezes em UnsuccessfulResponses.log.
  4. Também é possível clicar duas vezes no arquivo de saída no modo de exibição de grafos do trabalho a fim de navegar diretamente até a saída.

Próximas etapas

Para começar a usar a Análise Data Lake com ferramentas diferentes, consulte: