Configurar o diagnóstico para Serviços de Nuvem e máquinas virtuais do Azure

Observação

Este artigo se aplica aos Serviços de Nuvem do Azure (clássico), que agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024. Os serviços existentes criados com essa tecnologia ainda têm suporte por meio dos Serviços de Nuvem do Azure (suporte estendido). Para novos desenvolvimentos, é recomendável usar um tipo de serviço mais recente projetado para sua finalidade específica, como o Serviço de Aplicativo do Azure, o Azure Functions ou os Aplicativos de Contêiner do Azure. Para obter a lista mais recente de serviços disponíveis, consulte Diretório de produtos do Azure.

Quando você precisa solucionar problemas de uma máquina virtual ou serviço de nuvem do Azure, pode usar o Visual Studio para configurar mais facilmente o Diagnóstico do Azure. O diagnóstico captura dados do sistema e dados de log em máquinas virtuais e instâncias de máquinas virtuais que executam o serviço de nuvem. Dados de diagnóstico são transferidos para uma conta de armazenamento que você escolhe. Para obter mais informações sobre o registro em log de diagnóstico no Azure, consulte Habilitar o registro em log de diagnóstico para aplicativos Web no Serviço de Aplicativo do Azure.

Neste artigo, mostramos como usar o Visual Studio para ativar e configurar o Diagnóstico do Azure, tanto antes quanto depois da implantação. Saiba como configurar o Diagnóstico em Máquinas Virtuais do Azure, como selecionar os tipos de informações de diagnóstico a coletar e como exibir as informações depois de coletadas.

Você pode usar uma das opções a seguir para configurar o Diagnóstico do Azure:

  • Alterar as configurações de diagnóstico na caixa de diálogo Configuração de Diagnóstico no Visual Studio. As configurações serão salvas em um arquivo chamado diagnostics.wadcfgx. Você também pode alterar diretamente o arquivo de configuração. Se você atualizar manualmente o arquivo, as alterações de configuração entrarão em vigor na próxima vez que você implantar o serviço de nuvem no Azure ou executar o serviço no emulador.

  • Use o Cloud Explorer ou o Gerenciador de Servidores no Visual Studio 2019 ou anterior para alterar as configurações de diagnóstico para um serviço de nuvem ou máquina virtual em execução.

Para configurar o Diagnóstico do Azure, altere as configurações de diagnóstico na caixa de diálogo Configuração de Diagnóstico no Visual Studio. As configurações serão salvas em um arquivo chamado diagnostics.wadcfgx. Você também pode alterar diretamente o arquivo de configuração. Se você atualizar manualmente o arquivo, as alterações de configuração entrarão em vigor na próxima vez que você implantar o serviço de nuvem no Azure ou executar o serviço no emulador.

Aviso

No Visual Studio 2022, o Emulator do Armazenamento do Azure preterido foi substituído pelo emulador do Azurite ao depurar seus projetos do serviço de nuvem. Esse emulador do Azurite não funciona com o plug-in Diagnóstico do Azure, que fornece suporte para o Diagnóstico do Azure ao executar e testar localmente. Se precisar do plug-in para execução local e cenários de teste, você poderá atualizar a cadeia de conexão na configuração do serviço local (.cscfg) para uma conta de Armazenamento do Azure (confira Gerenciar cadeias de conexão para contas de armazenamento) ou baixar o emulador de Armazenamento do Azure anterior. Na versão do Visual Studio 17.10, o plug-in local do Diagnóstico do Azure está sendo preterido e será desabilitado por padrão, com a opção de habilitação nessa versão. Devido à descontinuação, o plug-in poderá ser removido em uma versão futura do Visual Studio. Esse plug-in é usado apenas com o emulador de Computação do Azure local e a desabilitação não afeta os Serviços de Nuvem implantados que usam a extensão de Diagnóstico do Azure no Azure. Para habilitar o plug-in de diagnóstico no Visual Studio 17.10, adicione esta configuração de propriedade para qualquer PropertyGroup no arquivo de projeto: <EnableEmulatorDiagnosticsPlugin>True</EnableEmulatorDiagnosticsPlugin>.

Como o Visual Studio determina a conta de armazenamento de diagnóstico

  • Se uma cadeia de conexão de diagnóstico for especificada no arquivo .cscfg, o Visual Studio a usará para configurar a extensão de diagnóstico ao publicar e gerar os arquivos XML de configuração pública durante o empacotamento.
  • Se uma cadeia de conexão de diagnóstico não for especificada no arquivo .cscfg, o Visual Studio voltará a usar a conta de armazenamento especificada no arquivo .wadcfgx para configurar a extensão de diagnóstico durante a publicação e para o gerar os arquivos XML de configuração pública durante o empacotamento.
  • A cadeia de conexão de diagnóstico no arquivo .cscfg tem precedência sobre a conta de armazenamento no arquivo .wadcfgx. Se uma cadeia de conexão de diagnóstico for especificada no arquivo .cscfg, o Visual Studio usará essa cadeia de conexão e ignorará a conta de armazenamento em .wadcfgx.

O que faz a caixa de seleção "Atualizar cadeias de conexão do armazenamento de desenvolvimento…"?

A caixa de seleção Atualizar cadeias de conexão do armazenamento de desenvolvimento para Diagnóstico e Cache com credenciais de conta de armazenamento do Microsoft Azure ao publicar no Microsoft Azure oferece uma maneira conveniente de atualizar qualquer cadeia de conexão de conta de armazenamento de desenvolvimento com a conta de Armazenamento do Azure especificada durante a publicação.

Por exemplo, se você marcar essa caixa de seleção e a cadeia de conexão de diagnóstico especificar UseDevelopmentStorage=true, quando você publicar o projeto no Azure, o Visual Studio automaticamente atualizará a cadeia de conexão de diagnóstico com a conta de armazenamento especificada no assistente de Publicação. No entanto, se uma conta de armazenamento real tiver sido especificada como a cadeia de conexão de diagnóstico, essa conta será usada.

Ativar o diagnóstico em projetos de serviço de nuvem antes de implantá-los

No Visual Studio, você pode coletar dados de diagnóstico para funções executadas no Azure quando executa o serviço no emulador antes da implantação. Todas as alterações às configurações de diagnóstico no Visual Studio são salvas no arquivo de configuração diagnostics.wadcfgx. Essas configurações especificam a conta de armazenamento na qual os dados de diagnóstico são salvos quando você implanta seu serviço de nuvem.

Aviso

Quando você habilita o diagnóstico para uma função existente, qualquer extensão que você já tenha definido será desabilitado quando o pacote for implantado. Elas incluem:

  • Diagnóstico do Microsoft Monitoring Agent
  • Monitoramento de segurança do Microsoft Azure
  • Microsoft Antimalware
  • Agente de monitoramento da Microsoft
  • Agente Criador de Perfil de Serviço da Microsoft
  • Extensão de Domínio do Azure
  • Extensão de Diagnóstico do Azure
  • Extensão de Área de Trabalho Remota do Azure
  • Coletor de Logs do Azure

Depois de implantar a função atualizada, você pode redefinir as extensões por meio do portal do Azure ou do PowerShell.

Para habilitar o diagnóstico no Visual Studio antes da implantação

  1. No menu de atalho para a função, selecione Propriedades. Na caixa de diálogo Propriedades da função, selecione a guia Configuração.

  2. Na seção Diagnóstico, verifique se a caixa de seleção Habilitar Diagnóstico está selecionada.

    Acesse a opção Habilitar Diagnóstico

  3. Para especificar a conta de armazenamento para os dados de diagnóstico, selecione o botão de reticências (…).

    Especifique a conta de armazenamento a ser usada

  4. Na caixa de diálogo Criar Cadeia de Conexão de Armazenamento, especifique se você deseja se conectar usando o Emulador de Armazenamento do Azure, uma assinatura do Azure ou credenciais inseridas manualmente.

    Caixa de diálogo Conta de armazenamento

    • Se você selecionar Emulador de Armazenamento do Microsoft Azure, a cadeia de conexão será definida como UseDevelopmentStorage=true.
    • Se você selecionar Sua assinatura, você poderá selecionar a assinatura do Azure que você deseja usar e digitar um nome de conta. Para gerenciar suas assinaturas do Azure, selecione Gerenciar Contas.
    • Se você selecionar Credenciais inseridas manualmente, digite o nome e a chave da conta do Azure que você deseja usar.
  5. Para exibir a caixa de diálogo Configuração de diagnóstico, selecione Configurar. Exceto por Geral e Diretórios de log, cada guia representa uma fonte de dados de diagnóstico que você pode coletar. A guia padrão Geral oferece as seguintes opções de coleta de dados de diagnóstico: Somente erros, Todas as informações e Plano personalizado. A opção padrão Somente erros usa a menor quantidade de armazenamento porque não transfere avisos nem mensagens de rastreamento. A opção Todas as informações transfere a maioria das informações, usa o máximo de armazenamento e, portanto, é a opção mais cara.

    Observação

    O tamanho mínimo compatível com "Cota de Disco em MB" é de 50 MB e o tamanho padrão é 4 GB. No entanto, se você estiver coletando os despejos de memória, aumente isso para um valor mais alto, como 10 GB.

    Habilitar a configuração e o Diagnóstico do Azure

  6. Para este exemplo, selecione a opção Plano personalizado para que você possa personalizar os dados coletados.

  7. Na caixa Cota de disco em MB, você pode definir quanto espaço alocar na sua conta de armazenamento para dados de diagnóstico. Você pode alterar ou aceitar o valor padrão.

  8. Em cada guia de dados de diagnóstico que você deseja coletar, marque a caixa de seleção Habilitar Transferência do <tipo de log>. Por exemplo, se você quiser coletar logs de aplicativo, na guia Logs de aplicativo, marque a caixa de seleção Habilitar transferência de Logs de Aplicativos. Além disso, especifique todas as outras informações necessárias para cada tipo de dados de diagnóstico. Para obter informações de configuração para cada guia, consulte a seção Configurar fontes de dados de diagnóstico posteriormente neste artigo.

  9. Depois de habilitar a coleção de todos os dados de diagnóstico que você desejar, selecione OK.

  10. Execute seu projeto de serviço de nuvem do Azure no Visual Studio, como de costume. Conforme você usa seu aplicativo, as informações de log habilitadas são salvas na conta de Armazenamento do Azure especificada.

Ativar o diagnóstico em Máquinas Virtuais do Azure

No Visual Studio, você pode coletar dados de diagnóstico para Máquinas Virtuais do Azure.

Para ativar o diagnóstico em Máquinas Virtuais do Azure

  1. No Gerenciador de Servidores, selecione o nó do Azure e conecte-se à sua assinatura do Azure, se você ainda não estiver conectado.

  2. Expanda o nó Máquinas virtuais . Você pode criar uma nova máquina virtual ou selecionar um nó existente.

  3. No menu de atalho para a máquina virtual que você deseja, selecione Configurar. A caixa de diálogo de configuração da máquina virtual será exibida.

    Configure uma máquina virtual do Azure

  4. Se ainda não estiver instalado, adicione a extensão de diagnóstico do agente do Log Analytics. Com essa extensão, você pode coletar dados de diagnóstico para a máquina virtual do Azure. Em Extensões instaladas, na caixa de listagem suspensa Selecionar uma extensão disponível, selecione Diagnóstico do Microsoft Monitoring Agent.

    Instalar uma extensão de máquina virtual do Azure

    Observação

    Outras extensões de diagnóstico estão disponíveis para as máquinas virtuais. Para obter mais informações, consulte Recursos e extensões da máquina virtual para Windows.

  5. Para adicionar a extensão e exibir sua caixa de diálogo Configuração de diagnóstico, selecione Adicionar.

  6. Para especificar uma conta de armazenamento, selecione Configurar e, em seguida, selecione OK.

    Cada guia (exceto Geral e Diretórios de Log) representa uma fonte de dados de diagnóstico que você pode coletar.

    Habilitar a configuração e o Diagnóstico do Azure

    A guia padrão, Geral, oferece as seguintes opções de coleta de dados de diagnóstico: Somente erros, Todas as informações e Plano personalizado. A opção padrão, Somente erros, traz a menor quantidade de armazenamento porque não transfere avisos ou mensagens de rastreamento. A opção Todas as informações transfere a maioria das informações e é, portanto, a opção mais cara em termos de armazenamento.

  7. Neste exemplo, selecione a opção Plano personalizado , assim você pode personalizar os dados coletados.

  8. A caixa Cota de disco em MB especifica a quantidade de espaço que você deseja alocar na sua conta de armazenamento para dados de diagnóstico. Você pode alterar o valor padrão se desejar.

  9. Em cada guia de dados de diagnóstico que você deseja coletar, selecione a caixa de seleção Habilitar Transferência de <tipo de log>.

    Por exemplo, se você quiser coletar logs de aplicativos, marque a caixa de seleção Habilitar transferência de Logs de Aplicativos na guia Logs de Aplicativos. Além disso, especifique qualquer outra informação necessária para cada tipo de dados de diagnóstico. Para obter informações de configuração para cada guia, consulte a seção Configurar fontes de dados de diagnóstico posteriormente neste artigo.

  10. Depois de habilitar a coleção de todos os dados de diagnóstico que você desejar, selecione OK.

  11. Salve o projeto atualizado.

    Uma mensagem na janela Log de atividades do Microsoft Azure indica que a máquina virtual foi atualizada.

Configurar fontes de dados de diagnóstico

Após habilitar a coleção de dados de diagnóstico, você pode escolher exatamente quais fontes de dados que deseja coletar e quais informações são coletadas. As próximas seções descrevem as guias na caixa de diálogo Configuração de Diagnóstico e o que significa cada opção de configuração significa.

Logs de aplicativo

Logs de aplicativo têm informações de diagnóstico que são geradas por um aplicativo Web. Se você quiser coletar logs de aplicativo, selecione a caixa de seleção Habilitar transferência dos logs de aplicativo . Para aumentar ou diminuir o intervalo entre a transferência de logs de aplicativo para sua conta de armazenamento, altere o valor do Período de Transferência (min). Você pode também alterar a quantidade de informações capturadas no log definindo o valor de Nível de log. Por exemplo, selecione Detalhado para obter mais informações ou selecione Crítico para capturar somente erros críticos. Se você tiver um provedor de diagnósticos específico que emita os logs de aplicativo, poderá capturá-los adicionando o GUID do provedor na caixa GUID do Provedor.

Logs de aplicativo

Para obter mais informações sobre logs de aplicativo, consulte Habilitar o registro em log de diagnóstico para aplicativos Web no Serviço de Aplicativo do Azure.

Logs de eventos do Windows

Para capturar logs de evento do Windows, marque a caixa de seleção Habilitar transferência dos logs de evento do Windows. Para aumentar ou diminuir o intervalo entre a transferência de logs de evento para sua conta de armazenamento, altere o valor do Período de Transferência (min). Selecione as caixas de seleção para os tipos de eventos que você deseja controlar.

Logs de eventos

Se você quiser especificar uma fonte de dados personalizada, insira-a na caixa de texto <Nome da fonte de dados> e selecione Adicionar. A fonte de dados é adicionada ao arquivo diagnostics.cfcfg.

Contadores de desempenho

As informações do contador de desempenho podem ajudá-lo a localizar gargalos do sistema e ajustar o sistema e desempenho do aplicativo. Para obter mais informações, consulte Criar e usar contadores de desempenho em um aplicativo do Azure. Para capturar contadores de desempenho, marque a caixa de seleção Habilitar a transferência de contadores de desempenho. Para aumentar ou diminuir o intervalo entre a transferência de logs de evento para sua conta de armazenamento, altere o valor do Período de Transferência (min). Selecione as caixas de seleção para os contadores de desempenho que você deseja controlar.

Contadores de desempenho

Para rastrear um contador de desempenho que não esteja listado, insira o contador de desempenho usando a sintaxe sugerida. Então selecione Adicionar. O sistema operacional na máquina virtual determina quais contadores de desempenho você pode acompanhar. Para obter mais informações sobre sintaxe, consulte Especificar um caminho de contador.

Logs de infraestrutura

Logs de infraestrutura têm informações sobre a infraestrutura de diagnóstico do Azure, o módulo RemoteAccess e o módulo RemoteForwarder. Para coletar informações sobre logs de infraestrutura, marque a caixa de seleção Habilitar transferência de Logs de Infraestrutura. Para aumentar ou diminuir o intervalo entre a transferência de logs de infraestrutura para sua conta de armazenamento, altere o valor do Período de Transferência (min).

Logs de infraestrutura de diagnóstico

Para saber mais, consulte Coletar dados do log usando o Diagnóstico do Azure.

Diretórios de log

Diretórios de log têm dados coletados de diretórios de log para solicitações de IIS (Serviços de Informações da Internet), solicitações com falha ou pastas que você escolher. Para capturar os diretórios de log, marque a caixa de seleção Habilitar transferência de Diretórios de Log. Para aumentar ou diminuir o intervalo entre a transferência de logs para sua conta de armazenamento, altere o valor do Período de Transferência (min).

Marque as caixas de seleção dos logs que deseja coletar, como Logs do IIS e logs de Solicitação com Falha. Os nomes de contêiner de armazenamento padrão são fornecidos, mas você pode alterá-los.

Você pode capturar logs de qualquer pasta. Especifique o caminho na seção Log do Diretório Absoluto e, em seguida, selecione Adicionar Diretório. Os logs são capturados nos contêineres especificados.

Diretórios de log

Logs do ETW

Se você usar ETW (Rastreamento de Eventos para Windows) e desejar capturar logs de ETW, selecione a caixa de seleção Habilitar transferência de logs de ETW. Para aumentar ou diminuir o intervalo entre a transferência de logs para sua conta de armazenamento, altere o valor do Período de Transferência (min).

Os eventos são capturados das origens de eventos e manifestos de evento que você especificar. Para especificar uma origem de evento, na seção Fontes de Evento, insira um nome e, em seguida, selecione Adicionar Origem de Evento. Da mesma forma, você pode especificar um manifesto de evento na seção Manifestos de Evento e, em seguida, escolher o botão Adicionar Manifesto de Evento.

Logs do ETW

O framework do ETW tem suporte no ASP.NET por meio de classes no namespace System.Diagnostics.aspx. O namespace Microsoft.WindowsAzure.Diagnostics, que herda e estende classes System.Diagnostics.aspx padrão, permite o uso de System.Diagnostics.aspx como um registro em log estrutura no ambiente do Azure. Para obter mais informações, consulte Assumir controle do registro em log e do rastreamento no Microsoft Azure e Habilitar o diagnóstico em máquinas virtuais e Serviços de Nuvem do Azure.

Despejos de memória

Para capturar informações sobre quando uma instância de função falha, marque a caixa de seleção Habilitar transferência de despejos. (Como o ASP.NET lida com a maioria das exceções, isso geralmente é útil apenas para funções de trabalho.) Para aumentar ou diminuir o percentual de espaço de armazenamento dedicado aos despejos de memória, altere o valor Cota de diretório (%). Você pode alterar o contêiner de armazenamento no qual os despejos de memória são armazenados e selecionar se deseja capturar um despejo Completo ou Mini.

Os processos que estão sendo rastreados no momento são listados na seguinte captura de tela. Selecione as caixas de seleção para os processos que você deseja capturar. Para adicionar outro processo à lista, insira o nome do processo e, em seguida, selecione Adicionar Processo.

Despejos de memória

Para obter mais informações, confira Assumir o controle do registro em log e do rastreamento no Microsoft Azure.

Exibir os dados de diagnóstico

Depois de coletar os dados de diagnóstico para um serviço de nuvem ou uma máquina virtual, você poderá exibi-los.

Para exibir dados de diagnóstico do serviço de nuvem

  1. Implante seu serviço de nuvem como de costume e, em seguida, execute-o.

  2. Você pode exibir os dados de diagnóstico em um relatório que o Visual Studio gere ou em tabelas na sua conta de armazenamento. Para exibir os dados em um relatório, abra Cloud Explorer ou Gerenciador de Servidores, abra o menu de atalho do nó para a função desejada e selecione Exibir Dados de Diagnóstico.

    Exibir dados de diagnóstico

    Um relatório que mostra os dados disponíveis é exibido.

    Relatório de Diagnóstico do Microsoft Azure no Visual Studio

    Se os dados mais recentes não forem mostrados, você terá que esperar o período de transferência se passar.

    Para atualizar imediatamente os dados, selecione o link Atualização. Para que os dados sejam atualizados automaticamente, selecione um intervalo na caixa de listagem suspensa Atualização Automática. Para exportar os dados de erro, selecione o botão Exportar para CSV para criar um arquivo de valores separados por vírgulas que possa ser aberto em uma planilha do Excel.

    No Cloud Explorer ou no Gerenciador de Servidores, abra a conta de armazenamento associada à implantação.

  3. Abra as tabelas de diagnóstico no Visualizador de tabela e, em seguida, analise os dados coletados. Para logs do IIS e os logs personalizados, você pode abrir um contêiner de blob. A tabela a seguir lista as tabelas ou contêineres de blob com os dados para os diferentes arquivos de log. Além dos dados para esse arquivo de log, as entradas de tabela contêm EventTickCount, DeploymentId, Role e RoleInstance para ajudá-lo a identificar qual máquina virtual e a função gerou os dados e quando.

    Dados de diagnóstico Descrição Location
    Logs de aplicativo Logs que seu código gera chamando métodos da classe System.Diagnostics.Trace. WADLogsTable
    Logs de eventos Dados dos logs de eventos do Windows nas máquinas virtuais. O Windows armazena informações nesses logs, mas os aplicativos e os serviços também usam os logs para relatar erros ou registrar em log informações. WADWindowsEventLogsTable
    Contadores de desempenho Você pode coletar dados de qualquer contador de desempenho disponível na máquina virtual. O sistema operacional fornece contadores de desempenho, que inclui muitas estatísticas, como tempo de processador e uso de memória. WADPerformanceCountersTable
    Logs de infraestrutura Logs que são gerados por meio da própria infraestrutura de diagnóstico. WADDiagnosticInfrastructureLogsTable
    Logs IIS Logs que registram solicitações da Web. Se o seu serviço de nuvem obtiver uma quantidade significativa de tráfego, esses logs poderão ser demorados. É uma boa ideia coletar e armazenar esses dados somente quando você precisar dele. Você pode encontrar os logs de solicitação com falha no contêiner de blob em wad-IIS-failedreqlogs em um caminho para essa implantação, função e instância. Você pode encontrar logs completos em wad-IIS-logfiles. As entradas para cada arquivo são feitas na tabela WADDirectories.
    Despejos de memória Fornecem imagens binárias do processo do serviço de nuvem (normalmente uma função de trabalho). contêiner de blob wad-crush-dumps
    Arquivos de log personalizados Logs de dados que você predefiniu. Você pode especificar no código o local dos arquivos de log personalizados na sua conta de armazenamento. Por exemplo, você pode especificar um contêiner de blob personalizado.
  4. Se os dados de qualquer tipo estão truncados, você pode tentar aumentar o buffer para este tipo de dados ou encurtar o intervalo entre as transferências de dados da máquina virtual para sua conta de armazenamento.

  5. (Opcional) Limpe os dados da conta de armazenamento, ocasionalmente, para reduzir os custos gerais de armazenamento.

  6. Quando você faz uma implantação completa, o arquivo diagnostics.cscfg é atualizado no Azure e seu serviço de nuvem seleciona as alterações para a configuração do diagnóstico. Se, em vez disso, você atualizar uma implantação existente, o arquivo .cscfg não será atualizado no Azure. Você ainda pode alterar as configurações de diagnóstico, porém, seguindo as etapas da próxima seção. Para obter mais informações sobre como executar uma implantação completa e atualizar uma implantação existente, consulte Assistente de publicação de aplicativo no Azure.

Para exibir dados de diagnóstico de máquina virtual

  1. No menu de atalho para a máquina virtual, selecione Exibir dados de diagnóstico.

    Exibir dados de diagnóstico em uma máquina virtual do Azure

    A caixa de diálogo Resumo de diagnóstico é exibida.

    Resumo de diagnóstico de máquina virtual do Azure

    Se os dados mais recentes não forem mostrados, você terá que esperar o período de transferência se passar.

    Para atualizar imediatamente os dados, selecione o link Atualização. Para que os dados sejam atualizados automaticamente, selecione um intervalo na caixa de listagem suspensa Atualização Automática. Para exportar os dados de erro, selecione o botão Exportar para CSV para criar um arquivo de valores separados por vírgulas que possa ser aberto em uma planilha do Excel.

Configurar o diagnóstico de serviço de nuvem após a implantação

Se você estiver investigando um problema com um serviço de nuvem que já esteja em execução, talvez deseje coletar os dados que não especificou antes de implantar originalmente a função. Nesse caso, você pode começar a coletar dados alterando as configurações no Gerenciador de Servidores. Você pode configurar o diagnóstico para uma única instância ou para todas as instâncias de uma função, dependendo de se você abra a caixa de diálogo Configuração de Diagnóstico no menu de atalho para a instância ou a função. Se você configurar o nó da função, todas as alterações que você fizer serão aplicadas a todas as instâncias. Se você configurar o nó da instância, as alterações que você fizer se aplicarão somente a essa instância.

Para configurar o diagnóstico para um serviço de nuvem em execução

  1. No Gerenciador de Servidores, expanda o nó Serviços de Nuvem e em seguida, expanda a lista de nós para localizar a função ou a instância (ou ambas) que você deseja investigar.

    Configurar o diagnóstico

  2. No menu de atalho para um nó da instância ou um nó de função, selecione Atualizar configurações de diagnóstico e, em seguida, selecione as configurações de diagnóstico que você deseja coletar.

    Para obter informações sobre as definições de configuração, consulte a seção Configurar fontes de dados de diagnóstico neste artigo. Para obter informações sobre como exibir os dados de diagnóstico, consulte a seção Exibir os dados de diagnóstico neste artigo.

    Se você alterar a coleta de dados no Gerenciador de Servidores, essas alterações permanecerão em vigor até que você reimplante seu serviço de nuvem. Se você usar as configurações de publicação padrão, as alterações não serão substituídas. A configuração de publicação padrão é atualizar a implantação existente, em vez de fazer uma reimplantação completa. Para garantir que as configurações estão limpas no momento da implantação, vá para a guia Configurações avançadas no Assistente de publicação e limpe a caixa de seleção Atualização de implantação. Quando você reimplanta com essa caixa de seleção desmarcada, as configurações revertem aquelas no arquivo .wadcfgx conforme definido no editor de Propriedades da função. Se você atualizar a implantação, o Azure manterá as configurações mais antigas.

Solucionar problemas do serviço de nuvem do Azure

Se você tiver problemas com seus projetos de serviço de nuvem, como uma função travar no status "ocupado", repetidamente reciclar ou lançar um erro interno do servidor, existem ferramentas e técnicas que você poderá usar para diagnosticar e corrigir esses problemas. Para obter exemplos específicos de problemas e soluções comuns e para uma visão geral dos conceitos e ferramentas que você pode usar para diagnosticar e corrigir esses erros, consulte Dados de diagnóstico de computação de PaaS (plataforma como serviço) do Azure.

Perguntas e respostas

Qual é o tamanho do buffer e que tamanho o buffer deve ter?

Em cada instância de máquina virtual, as cotas limitam quantos dados de diagnóstico podem ser armazenados no sistema de arquivos local. Além disso, você pode especificar um tamanho do buffer para cada tipo de dados de diagnóstico disponível. Esse tamanho do buffer age como uma cota individual para esse tipo de dados. Para determinar a cota geral e a quantidade de memória que permanece, consulte a parte inferior da caixa de diálogo para o tipo de dados de diagnóstico. Se você especificar buffers maiores ou mais tipos de dados, abordará a cota geral. Você pode alterar a cota geral modificando o arquivo de configuração diagnostics.wadcfgx. Os dados de diagnóstico são armazenados no sistema de arquivos como seus dados do aplicativo. Se seu aplicativo usar uma grande quantidade de espaço em disco, você não deverá aumentar a cota de diagnóstico geral.

Qual é o período de transferência e por qual tempo deve ser?

O período de transferência é a quantidade de tempo que decorreu as capturas de dados. Depois de cada período de transferência, os dados são movidos do sistema de arquivos local de uma máquina virtual para tabelas em sua conta de armazenamento. Se a quantidade de dados que são coletados excede a cota antes do final de um período de transferência, dados antigos serão descartados. Você talvez queira diminuir o período de transferência se estiver perdendo dados porque seus dados excedem o tamanho do buffer ou a cota geral.

Os carimbos de data/hora estão inseridos em que fuso horário?

Os carimbos de data/hora estão no fuso horário local do data center que hospeda o serviço de nuvem. As três colunas de carimbo de data/hora a seguir nas tabelas de log são usadas:

  • PreciseTimeStamp: o carimbo de data/hora de ETW do evento. Ou seja, a hora em que o evento é registrado no cliente.
  • TIMESTAMP: o valor para PreciseTimeStamp arredondado para baixo até o limite de frequência de upload. Portanto, se a frequência de upload for de 5 minutos e a hora do evento for 00:17:12, TIMESTAMP será 00:15:00.
  • Timestamp: o carimbo de data/hora em que a entidade foi criada na tabela do Azure.

Como gerenciar custos ao coletar informações de diagnóstico?

As configurações padrão (Nível de log definido como Erro e Período de transferência definido como 1 minuto) são projetadas para minimizar os custos. Os custos de computação aumentam quando você coleta mais dados de diagnóstico ou se você diminui o período de transferência. Não colete mais dados do que você precisa e não se esqueça de desabilitar a coleta de dados quando não precisar mais dela. Você sempre poderá habilitá-lo novamente, mesmo no tempo de execução, conforme descrito anteriormente neste artigo.

Como posso coletar logs de solicitação com falha do IIS?

Por padrão, o IIS não coleta logs de solicitação com falha. Você pode configurar o IIS para coletar logs de solicitação com falha editando o arquivo web.config para sua função web.

Não estou obtendo informações de rastreamento de métodos RoleEntryPoint como OnStart. Qual é o problema?

Os métodos de RoleEntryPoint são chamados no contexto de WAIISHost.exe, não em IIS. As informações de configuração no web.config que normalmente habilitam o rastreamento não se aplicam. Para resolver esse problema, adicione um arquivo .config ao seu projeto de função web e nomeie o arquivo para corresponder ao assembly de saída que contém o código RoleEntryPoint. No projeto de função web padrão, o nome do arquivo .config deve ser WAIISHost.exe.config. Adicione as seguintes linhas a esse arquivo:

<system.diagnostics>
  <trace>
      <listeners>
          <add name "AzureDiagnostics" type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener">
              <filter type="" />
          </add>
      </listeners>
  </trace>
</system.diagnostics>

Na janela Propriedades, defina a propriedade Copiar para Diretório de Saída como Copiar sempre.

Para saber mais sobre o registro em log de diagnósticos no Azure, consulte Habilitar o diagnóstico em máquinas virtuais e Serviços de Nuvem do Azure e Habilitar o registro em log de diagnóstico para aplicativos Web no Serviço de Aplicativo do Azure.