Recuperar arquivos de log do aplicativo

Concluído

Os arquivos de log são um ótimo recurso para um desenvolvedor da Web, mas somente se você souber como encontrar e usar as informações registradas em log. Aqui, você examinará os métodos que pode usar para recuperar informações registradas para análise offline.

Localizações de armazenamento do arquivo de log

A infraestrutura do Azure usada para executar os Aplicativos Web do Azure no Windows não é a mesma dos aplicativos do Linux, e os arquivos de log não são armazenados nos mesmos locais.

Arquivos de log do aplicativo do Windows

Para os aplicativos do Windows, os arquivos de log do sistema de arquivos são armazenados em uma unidade virtual associada ao Aplicativo Web. Essa unidade é endereçável como d:\Home e inclui uma pasta LogFiles; dentro dessa pasta há uma ou mais subpastas:

  • Aplicativo – contém mensagens geradas pelo aplicativo, se o log do aplicativo do sistema de arquivos estiver habilitado.
  • DetailedErrors – contém logs de erro do servidor Web detalhados, se mensagens de erro detalhadas estiverem ativadas.
  • HTTP – Contém logs no nível do IIS caso o Registro em log do servidor Web tenha sido habilitado.
  • Número<W3SVC> – contém detalhes de todas as solicitações HTTP com falha, se o Rastreamento de solicitações com falha estiver ativado.

Onde o armazenamento em um contêiner Blob está ativado, os logs são armazenados em pastas de ano, mês, data e hora, por exemplo:

2019
  01
   10
    08 - log entries for the period 08:00:00 to 08:59:59 on January 10th 2019
    09 - log entries for the period 09:00:00 to 09:59:59 on January 10th 2019

Na pasta da hora, há um ou mais arquivos CSV contendo mensagens salvas nesse período de 60 minutos.

Arquivos de log do aplicativo do Linux

Para os Aplicativos Web do Linux, as ferramentas do Azure atualmente dão suporte a menos opções de log comparado aos aplicativos do Windows. Os redirecionamentos para stderr e StdOut são gerenciados por meio do contêiner subjacente do Docker que executa o aplicativo, e essas mensagens são armazenadas em arquivos de log do Docker. Para ver mensagens registradas por processos subjacentes, como Apache, você precisa abrir uma conexão SSH com o contêiner do Docker.

Métodos para recuperar arquivos de log

A forma como você recupera arquivos de log depende do tipo de arquivo de log e em seu ambiente preferido. Para logs do sistema de arquivos, você pode usar a CLI do Azure ou o console do Kudu. O Kudu é o mecanismo por trás de muitos recursos no Serviço de Aplicativo do Azure relacionados à implantação baseada em controle de origem.

CLI do Azure

Para baixar os arquivos de log do sistema de arquivos usando a CLI do Azure, primeiro, copie os arquivos de log do sistema de arquivos do aplicativo para o armazenamento do Cloud Shell e execute o comando a seguir.

az webapp log download --log-file \<_filename_\>.zip  --resource-group \<_resource group name_\> --name \<_app name_\>

Para baixar os arquivos de log compactados em seu computador local, use a ferramenta de download e upload de arquivo na barra de ferramentas do Cloud Shell. Depois de baixados, os arquivos estão prontos para abrir no Microsoft Excel ou em outros aplicativos.

Observação

O download da CLI do Azure inclui todos os logs do aplicativo, exceto para rastreamentos de solicitação com falha.

Kudu

Existe um site de serviço Controle de Código-Fonte (SCM) associado a todos os aplicativos Web do Azure. Este site executa o serviço Kudu e outras extensões de site. É o Kudu que gerencia a implantação e a solução de problemas dos Aplicativos Web do Azure, incluindo opções para visualizar e baixar arquivos de log. A funcionalidade específica disponível no Kudu e a forma como os logs são baixados dependem do tipo de Aplicativo Web. Para aplicativos do Windows, você pode navegar até o local do arquivo de log e baixar os logs. Para aplicativos Linux, pode haver um link de download.

Uma forma de acessar o console do Kudu é navegar para https://<nome do aplicativo>.scm.azurewebsites.net e, em seguida, entrar usando credenciais de implantação.

Você também pode acessar o Kudu no portal do Azure. No menu Serviço de Aplicativo, em Ferramentas de Desenvolvimento, selecione Ferramentas Avançadas e, em seguida, no painel Ferramentas Avançadas, selecione Ir para abrir uma nova guia dos Serviços do Kudu.

Para baixar os arquivos de log por meio dos aplicativos do Windows:

  1. Selecione Console de Depuração e, em seguida, CMD.

    Screenshot of Kudu's environment page with a callout highlighting the Debug Console cmd menu option.

  2. Na seção do explorador de arquivos, selecione LogFiles e, para a pasta Aplicativo, selecione Download. Os logs são baixados para o seu computador como Application.zip.

    Screenshot of Kudu's user interface. It displays a file and folder listing with a highlight next to the download icon for the Application folder.

    Clique no link de download da página Ambiente para executar aplicativos do Linux.

    Screenshot of Kudu's user environment page with a callout highlighting the link to download a zip file containing the current Docker logs.

Navegador do Armazenamento do Azure

Para acessar os logs do Windows salvos em um contêiner do Armazenamento de Blobs do Azure, você pode use o portal do Azure. Para visualizar e baixar o conteúdo do contêiner de arquivo de log, selecione Contas de armazenamento no menu do portal. Selecione sua conta de armazenamento e selecione Navegador de armazenamento. Abra o tipo de contêiner de armazenamento (por exemplo, contêineres de Blob) e selecione o nome do contêiner de blob que contém o arquivo de log. Dentro do contêiner, abra a pasta relevante de ano, mês, data e hora e clique duas vezes em um arquivo CSV para baixá-lo em seu computador.

Screenshot of the Storage browser to download Windows app logs from blob containers.

Se você tiver o Microsoft Excel em seu computador, o arquivo de log abre automaticamente como uma planilha do Excel. Caso contrário, você pode abrir o arquivo usando um editor de texto, como o Bloco de Notas.