Diagnóstico e depuração no Windows Azure
Autor: Trace Young
As tarefas de depuração e diagnóstico são normalmente executadas para hosts e aplicativos do Windows Azure com a coleta de dados de diagnóstico e, subsequentemente, a análise dos dados coletados. Este tópico fornece informações que descrevem a coleta e a análise de informações de diagnóstico e depuração para instâncias de hosts e aplicativos do Windows Azure.
Coletando dados de diagnóstico e depuração
A maioria das tarefas de depuração e diagnóstico executadas para hosts e aplicativos do Windows Azure depende de dados de diagnóstico que são coletados pelo Diagnóstico do Windows Azure. Com isso, a maior parte da depuração e do diagnóstico de aplicativos do Windows Azure não ocorre em tempo real, com exceção da depuração que pode ser realizada localmente durante a execução de aplicativos do Windows Azure no emulador de computação do Windows Azure.
O Diagnóstico do Windows Azure registra dados de diagnóstico de várias fontes de dados. Certas fontes de dados são registradas por padrão quando o Monitor de Diagnóstico do Windows Azure é inicializado. O Diagnóstico do Windows Azure também pode ser configurado para registrar dados de outras fontes de dados. Consulte Como inicializar o monitor de diagnóstico do Windows Azure para obter informações sobre como inicializar o Monitor de Diagnóstico do Windows Azure e configurá-lo para transferir dados de diagnóstico para o armazenamento.
Fontes de dados padrão do Diagnóstico do Windows Azure
O Diagnóstico do Windows Azure registra dados das seguintes fontes por padrão:
-
Logs do Windows Azure – os logs do Windows Azure contêm informações de diagnóstico específicas aos aplicativos provenientes de eventos de rastreamento, quando um aplicativo do Windows Azure está configurado com o ouvinte de rastreamento apropriado e o Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener está adicionado como um ouvinte no arquivo app.config ou web.config do aplicativo.
-
Logs do IIS 7.0 – fornecem um registro de solicitações do IIS tratadas pelo processo do IIS.
Observação Os logs do IIS 7.0 não estão disponíveis em funções de trabalho, pois as funções de trabalho não são configuradas com o IIS. -
Logs da infraestrutura de Diagnóstico do Windows Azure – fornecem dados de diagnóstico específicos ao Windows Azure, como erros de implantação de aplicativos do Windows Azure.
Fontes de dados não padrão do Diagnóstico do Windows Azure
O Diagnóstico do Windows Azure pode ser configurado para registrar dados das seguintes fontes de dados, mas não os registra por padrão:
-
Logs de solicitação com falha do IIS 7.0 – a coleta de dados de logs de solicitação com falha do IIS 7.0 requer a definição de um elemento Tracing no arquivo de configuração para funções Web. Para obter mais informações sobre como configurar o Diagnóstico do Windows Azure para coletar logs de solicitação com falha do IIS 7.0, consulte Como coletar dados de logs de rastreamento de solicitação com falha do IIS 7.0
-
Logs de eventos do windows – a coleta de logs de eventos do Windows com o Diagnóstico do Windows Azure pode ser útil não apenas da perspectiva da captura das entradas do log de eventos padrão do Windows, mas também para exibir informações de rastreamento de aplicativo gravadas nos logs de eventos do Windows por aplicativos do Windows Azure. Para obter mais informações sobre como usar o Diagnóstico do Windows Azure para registrar dados do log eventos do Windows, consulte o blog sobre a coleta de logs de eventos no Windows Azure.
-
Contadores de desempenho – o Diagnóstico do Windows Azure pode ser configurado para registrar os dados de contadores de desempenho, inclusive os dados de contadores de desempenho personalizados. Para obter informações sobre como configurar o Diagnóstico do Windows Azure para coletar dados de contadores de desempenho, consulte Como coletar dados de contadores de desempenho. Para obter informações sobre a instrumentação do código do aplicativo do Windows Azure com contadores de desempenho, consulte o artigo sobre a instrumentação do seu aplicativo Azure com contadores de desempenho.
-
Despejos de memória – os despejos de memória contêm uma cópia da memória física de uma instância de aplicativo ou função que falhou ou travou por algum motivo. O Diagnóstico do Windows Azure pode ser configurado para capturar a memória física de uma instância de função, e o ADPlus pode ser usado para capturar um despejo de memória para um aplicativo do Windows Azure.
Para obter informações sobre como configurar o Diagnóstico do Windows Azure para capturar um despejo de memória para uma instância de função, consulte Como coletar dados de despejo de memória.
Para obter informações sobre como usar o ADPlus para capturar um despejo de memória para um aplicativo do Windows Azure, consulte o artigo sobre depuração avançada no Windows Azure com o ADPlus.
Os despejos de memória podem ser copiados do Armazenamento do Windows Azure para um computador local com as ferramentas de depuração instaladas. É possível anexar ferramentas de depuração, como o Windbg, ao despejo de memória para depuração e análise. Para obter mais informações sobre ferramentas de depuração, consulte as ferramentas de depuração da Microsoft. -
Logs de erros personalizados - os logs de erros personalizados capturam todos os arquivos de qualquer pasta especificada. As pastas especificadas devem ser configuradas como armazenamento local para sua implantação. Os logs de erros personalizados são carregados no armazenamento de blob, mas, ao registrar erros personalizados, você deve fornecer o nome do contêiner. Para obter mais informações sobre a implementação de logs de erros personalizados com o Diagnóstico do Windows Azure, consulte a postagem em blog sobre o diagnóstico personalizado no Windows Azure.
Verificando se os dados de diagnóstico foram transferidos para o Armazenamento do Windows Azure
O Diagnóstico do Windows Azure armazena em buffer dados registrados em um recurso de armazenamento local e, periodicamente, transfere os dados do recursos de armazenamento local para o Armazenamento do Windows Azure. A frequência com que os dados registrados são transferidos do armazenamento local para o Armazenamento do Windows Azure é definida pela propriedade DiagnosticDataBufferConfiguration.ScheduledTransferPeriod. O intervalo mínimo que pode ser definido para essa propriedade é 60 segundos. Para assegurar que os dados registrados sejam transferidos do armazenamento local para o Armazenamento do Windows Azure, não especifique um intervalo muito grande para a propriedade DiagnosticDataBufferConfiguration.ScheduledTransferPeriod, principalmente se a instância de função ou o aplicativo do Windows Azure parecerem instáveis. Para obter mais informações sobre como armazenar e exibir dados de diagnóstico no Armazenamento do Windows Azure, consulte Visão geral do armazenamento e da exibição de dados de diagnóstico no armazenamento do Windows Azure. Para obter mais informações sobre como configurar o armazenamento local, consulte Como configurar recursos de armazenamento local.
Recursos do Diagnóstico do Windows Azure
Os recursos a seguir fornecem informações de uso do Diagnóstico do Windows Azure.
-
Coletando dados de log usando o Diagnóstico do Windows Azure - fornece links para vários tópicos que descrevem considerações ao coletar dados de log usando o Diagnóstico do Windows Azure.
-
Visão geral do Diagnóstico do Windows Azure - fornece uma visão geral do Diagnóstico do Windows Azure, que inclui:
-
Considerações importantes para uso do Diagnóstico do Windows Azure
-
Como configurar o Diagnóstico do Windows Azure
-
Rastreamento do fluxo de aplicativos do Windows Azure
-
Criação e uso de contadores de desempenho em um aplicativo do Windows Azure
-
Armazenamento e exibição de dados de diagnóstico no Armazenamento do Windows Azure
-
Gerenciamento da configuração do Diagnóstico do Windows Azure
-
Considerações importantes para uso do Diagnóstico do Windows Azure
-
Como armazenar e exibir dados de diagnóstico no armazenamento do Windows Azure - fornece informações de armazenamento e exibição de dados de diagnóstico no Armazenamento do Windows Azure ou no emulador de armazenamento do Windows Azure.
-
Trabalhando com o monitor de diagnóstico - passo a passo do exemplo de código que ilustra o seguinte:
-
Como iniciar o monitor de diagnóstico
-
Fornecimento de fontes de dados para o monitor de diagnóstico
-
Alteração da configuração de diagnóstico de uma função em tempo de execução para uma ou muitas instâncias da função
-
Uso do Portal de Gerenciamento do Azure para alterar remotamente a configuração de diagnóstico de uma função
-
Como iniciar o monitor de diagnóstico
-
Etapas gerais para investigar problemas com o Diagnóstico do Windows Azure – fornece as etapas a seguir quando o Diagnóstico do Windows Azure não está funcionando conforme o esperado.
-
Executar uma consulta de cliente de perguntas relacionadas a diagnóstico postadas nos fóruns do Windows Azure no MSDN – modifique o segundo parâmetro (diagnostics) inserido na seguinte URL para retornar variações:
http://social.msdn.microsoft.com/Search/en-US/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22diagnostics%22&refinement=138&beta=0&ac=8
Os fóruns do MSDN geralmente fornecem as últimas informações que ainda não foram publicadas na documentação oficial, em postagens de blog ou em outras fontes.
Observação Verifique a data de todas as postagens retornadas por essa consulta para garantir que o assunto seja relevante para a versão do SDK que você está usando.
Lendo dados de diagnóstico e depuração
Os dados de diagnóstico capturados obviamente serão inúteis se não puderem ser lidos e analisados. Existem várias ferramentas com a finalidade de ler dados do Diagnóstico do Windows Azure, além de outras ferramentas de uso geral disponíveis que também podem ler e analisar dados do Diagnóstico do Windows Azure. Esta seção descreve várias dessas ferramentas.
As ferramentas listadas a seguir na seção de implantação e armazenamento da página de ferramentas da plataforma Windows Azure foram desenvolvidas especificamente para fins de implantação e armazenamento de aplicativos do Windows Azure:
-
Ferramenta de gerenciamento da plataforma Windows Azure (MMC) - permite que você gerencie seus serviços hospedados e contas de armazenamento do Windows Azure. Essa ferramenta inclui um módulo de diagnóstico que acomoda a exportação de dados registrados no Microsoft Excel para análise.
-
Gerenciador de Armazenamento do Azure - ferramenta da GUI para inspecionar e alterar dados em seus projetos de armazenamento do Windows Azure, incluindo os logs de seus aplicativos hospedados em nuvem.
-
Acelerador DotNetNuke para Azure - habilita a criação de novas instâncias de host do DotNetNuke, desde localmente até na nuvem, usando um assistente para guiá-lo no processo.
-
DeployToAzure - permite automatizar a implantação de um projeto do Windows Azure e torná-lo parte do processo de compilação do TFS 2010 sem usar CmdLets do PowerShell ou do gerenciamento do Azure.
Além das ferramentas acima, as ferramentas a seguir são úteis para ler e analisar dados do Diagnóstico do Windows Azure
-
Cmdlets do PowerShell do Windows Azure - permite procurar, configurar e gerenciar serviços de computação e armazenamento do Windows Azure diretamente do PowerShell. Fornece cmdlets para uso com o Diagnóstico que incluem o
Get-DiagnosticAwareRoles, oGet-DiagnosticAwareRoleInstancese oGet-DiagnosticConfiguration. -
Microsoft PowerPivot – poderosa ferramenta que pode ser usada para executar a análise de dados registrados do Diagnóstico do Windows Azure.
Recursos para depurar aplicativos do Windows Azure
Os recursos a seguir fornecem informações sobre a depuração de aplicativos do Windows Azure:
-
Depurando e solucionando problemas de aplicativos do Windows Azure - descreve algumas das técnicas específicas a aplicativos da plataforma de tecnologia Windows Azure que o ajudam a detectar e resolver problemas ao compilar, implantar e executar aplicativos do Windows Azure.
-
Depurando o Windows Azure – recursos na VM - descreve os recursos presentes em uma VM que são úteis para depurar aplicativos do Windows Azure.
-
Depurando o Windows Azure - obtendo as ferramentas na VM, parte 1 - descreve vários métodos para copiar ferramentas de depuração em uma VM do Windows Azure.
-
Depurando com o Visual Studio - descreve os métodos que podem ser usados para depurar os aplicativos do Windows Azure sendo executados no emulador de computação do Windows Azure.
-
Executar uma consulta de cliente de perguntas relacionadas a depuração postadas nos fóruns do Windows Azure no MSDN – modifique o segundo parâmetro (debug) inserido na seguinte URL para retornar variações:
http://social.msdn.microsoft.com/Search/en-US/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22debug%22&refinement=138&beta=0&ac=8
Os fóruns do MSDN geralmente fornecem as últimas informações que ainda não foram publicadas na documentação oficial, em postagens de blog ou em outras fontes.
Observação Verifique a data de todas as postagens retornadas por essa consulta para garantir que o assunto seja relevante para a versão do SDK que você está usando.
Data da compilação: