Resolução de problemas ponto a ponto com as métricas e o registo de Armazenamento do Azure, o AzCopy e o Message Analyzer
Diagnosticar e resolver problemas é uma competência fundamental para criar e suportar aplicações cliente com Armazenamento do Microsoft Azure. Devido à natureza distribuída de uma aplicação do Azure, diagnosticar e resolver erros e problemas de desempenho pode ser mais complexo do que nos ambientes tradicionais.
Neste tutorial, demonstramos como identificar determinados erros que podem afetar o desempenho e resolver esses erros de ponto a ponto através de ferramentas fornecidas pela Microsoft e pelo Armazenamento do Azure, para otimizar a aplicação cliente.
Este tutorial fornece uma exploração prática de um cenário de resolução de problemas ponto a ponto. Para obter um guia conceptual aprofundado para resolver problemas de aplicações de armazenamento do Azure, veja Monitorizar, diagnosticar e resolver problemas Armazenamento do Microsoft Azure.
Ferramentas para resolver problemas de aplicações do Armazenamento do Azure
Para resolver problemas de aplicações cliente com Armazenamento do Microsoft Azure, pode utilizar uma combinação de ferramentas para determinar quando ocorreu um problema e qual a causa do problema. Estas ferramentas incluem:
Azure Análise de Armazenamento. O Azure Análise de Armazenamento fornece métricas e registos para o Armazenamento do Azure.
- As métricas de armazenamento monitorizam as métricas de transação e as métricas de capacidade da sua conta de armazenamento. Com as métricas, pode determinar o desempenho da sua aplicação de acordo com uma variedade de medidas diferentes. Veja Análise de Armazenamento Esquema da Tabela de Métricas para obter mais informações sobre os tipos de métricas controladas por Análise de Armazenamento.
- O registo de armazenamento regista cada pedido para os serviços de Armazenamento do Azure num registo do lado do servidor. O registo monitoriza os dados detalhados de cada pedido, incluindo a operação efetuada, o estado da operação e as informações de latência. Veja Análise de Armazenamento Formato de Registo para obter mais informações sobre os dados de pedido e resposta que são escritos nos registos por Análise de Armazenamento.
Portal do Azure. Pode configurar métricas e registos para a sua conta de armazenamento no portal do Azure. Também pode ver gráficos e gráficos que mostram como a sua aplicação está a funcionar ao longo do tempo e configurar alertas para notificá-lo se a sua aplicação tiver um desempenho diferente do esperado para uma métrica especificada.
Veja Monitorizar uma conta de armazenamento no portal do Azure para obter informações sobre como configurar a monitorização no portal do Azure.
AzCopy. Os registos de servidor do Armazenamento do Azure são armazenados como blobs, pelo que pode utilizar o AzCopy para copiar os blobs de registo para um diretório local para análise com o Microsoft Message Analyzer. Veja Transferir dados com o Utilitário Command-Line do AzCopy para obter mais informações sobre o AzCopy.
Microsoft Message Analyzer. O Analisador de Mensagens é uma ferramenta que consome ficheiros de registo e apresenta dados de registo num formato visual que facilita a filtragem, pesquisa e agrupar dados de registo em conjuntos úteis que pode utilizar para analisar erros e problemas de desempenho. Consulte o Guia operacional do Microsoft Message Analyzer para obter mais informações sobre o Analisador de Mensagens.
Acerca do cenário de exemplo
Neste tutorial, vamos examinar um cenário em que as métricas do Armazenamento do Azure indicam uma taxa de êxito de baixa percentagem para uma aplicação que chama o armazenamento do Azure. A métrica de taxa de êxito de baixa percentagem (mostrada como PercentSuccess no portal do Azure e nas tabelas de métricas) controla as operações com êxito, mas que devolvem um código de estado HTTP superior a 299. Nos ficheiros de registo de armazenamento do lado do servidor, estas operações são registadas com um estado de transação de ClientOtherErrors. Para obter mais detalhes sobre a métrica de êxito de baixa percentagem, veja As métricas mostram que as entradas de registo de análise ou percentagens baixas têm operações com o estado de transação de ClientOtherErrors.
As operações de Armazenamento do Azure podem devolver códigos de estado HTTP superiores a 299 como parte da respetiva funcionalidade normal. Contudo, estes erros em alguns casos indicam que poderá conseguir otimizar a sua aplicação cliente para um desempenho melhorado.
Neste cenário, vamos considerar uma taxa de sucesso de baixa percentagem abaixo dos 100%. No entanto, pode escolher um nível de métrica diferente, de acordo com as suas necessidades. Recomendamos que, durante o teste da sua aplicação, estabeleça uma tolerância de linha de base para as suas principais métricas de desempenho. Por exemplo, pode determinar, com base nos testes, que a sua aplicação deve ter uma taxa de sucesso consistente de 90%, ou 85%. Se os dados das métricas mostrarem que a aplicação está a desviar-se desse número, pode investigar o que pode estar a causar o aumento.
Para o nosso cenário de exemplo, assim que tivermos estabelecido que a métrica percentagem de taxa de sucesso é inferior a 100%, vamos examinar os registos para encontrar os erros que estão correlacionados com as métricas e utilizá-los para descobrir o que está a causar a taxa de sucesso de percentagem mais baixa. Vamos analisar especificamente os erros no intervalo 400. Em seguida, vamos investigar mais detalhadamente os erros 404 (Não Encontrados).
Algumas causas de erros de 400 intervalos
Os exemplos abaixo mostram uma amostragem de alguns erros de 400 intervalos para pedidos contra Armazenamento de Blobs do Azure e as possíveis causas. Qualquer um destes erros, bem como erros no intervalo de 300 e no intervalo 500, pode contribuir para uma taxa de sucesso de baixa percentagem.
Tenha em atenção que as listas abaixo estão longe de estar concluídas. Veja Códigos de Estado e Erro no MSDN para obter detalhes sobre erros gerais do Armazenamento do Azure e sobre erros específicos de cada um dos serviços de armazenamento.
Exemplos do Código de Estado 404 (Não Encontrado)
Ocorre quando uma operação de leitura num contentor ou blob falha porque o blob ou o contentor não é encontrado.
- Ocorre se um contentor ou blob tiver sido eliminado por outro cliente antes deste pedido.
- Ocorre se estiver a utilizar uma chamada à API que cria o contentor ou o blob depois de verificar se existe. As APIs CreateIfNotExists fazem primeiro uma chamada HEAD para verificar a existência do contentor ou blob; se não existir, é devolvido um erro 404 e, em seguida, é efetuada uma segunda chamada PUT para escrever o contentor ou blob.
Exemplos do Código de Estado 409 (Conflito)
- Ocorre se utilizar uma API Criar para criar um novo contentor ou blob, sem verificar primeiro a existência e já existir um contentor ou blob com esse nome.
- Ocorre se um contentor estiver a ser eliminado e tentar criar um novo contentor com o mesmo nome antes de a operação de eliminação estar concluída.
- Ocorre se especificar uma concessão num contentor ou blob e já existir uma concessão presente.
Exemplos do Código de Estado 412 (Falha na Condição Prévia)
- Ocorre quando a condição especificada por um cabeçalho condicional não foi cumprida.
- Ocorre quando o ID de concessão especificado não corresponde ao ID de concessão no contentor ou blob.
Gerar ficheiros de registo para análise
Neste tutorial, vamos utilizar o Analisador de Mensagens para trabalhar com três tipos diferentes de ficheiros de registo, embora possa optar por trabalhar com qualquer um destes:
- O registo do servidor, que é criado quando ativa o registo do Armazenamento do Azure. O registo do servidor contém dados sobre cada operação chamada num dos serviços de Armazenamento do Azure – blob, fila, tabela e ficheiro. O registo do servidor indica que operação foi chamada e que código de estado foi devolvido, bem como outros detalhes sobre o pedido e a resposta.
- O registo de cliente .NET, que é criado quando ativa o registo do lado do cliente a partir da sua aplicação .NET. O registo de cliente inclui informações detalhadas sobre como o cliente prepara o pedido e recebe e processa a resposta.
- O registo de rastreio de rede HTTP, que recolhe dados sobre o pedido HTTP/HTTPS e os dados de resposta, incluindo para operações no Armazenamento do Azure. Neste tutorial, vamos gerar o rastreio de rede através do Analisador de Mensagens.
Configurar o registo do lado do servidor e as métricas
Primeiro, temos de configurar o registo e as métricas do Armazenamento do Azure, para que tenhamos dados do lado do serviço para analisar. Pode configurar o registo e as métricas de várias formas, através do portal do Azure, através do PowerShell ou através de programação. Veja Ativar métricas e Ativar o registo para obter detalhes sobre como configurar o registo e as métricas.
Configurar o registo do lado do cliente do .NET
Para configurar o registo do lado do cliente para uma aplicação .NET, ative o diagnóstico .NET no ficheiro de configuração da aplicação (web.config ou app.config). Veja Registo do lado do cliente com a Biblioteca de Cliente de Armazenamento .NET e o Registo do Lado do Cliente com o SDK do Armazenamento do Microsoft Azure para Java no MSDN para obter detalhes.
O registo do lado do cliente inclui informações detalhadas sobre como o cliente prepara o pedido e recebe e processa a resposta.
A Biblioteca de Cliente de Armazenamento armazena dados de registo do lado do cliente na localização especificada no ficheiro de configuração da aplicação (web.config ou app.config).
Recolher um rastreio de rede
Pode utilizar o Analisador de Mensagens para recolher um rastreio de rede HTTP/HTTPS enquanto a aplicação cliente está em execução. O Analisador de Mensagens utiliza o Fiddler no back-end. Antes de recolher o rastreio de rede, recomendamos que configure o Fiddler para registar tráfego HTTPS não encriptado:
- Instale o Fiddler.
- Inicie o Fiddler.
- Selecionar Ferramentas | Opções do Fiddler.
- Na caixa de diálogo Opções, certifique-se de que a opção Capturar CONNECTs HTTPS e Desencriptar Tráfego HTTPS está selecionada, conforme mostrado abaixo.
Para o tutorial, recolha e guarde primeiro um rastreio de rede no Analisador de Mensagens e, em seguida, crie uma sessão de análise para analisar o rastreio e os registos. Para recolher um rastreio de rede no Analisador de Mensagens:
No Analisador de Mensagens, selecione Ficheiro | Rastreio Rápido | HTTPS não encriptados.
O rastreio começará imediatamente. Selecione Parar para parar o rastreio para que possamos configurá-lo para rastrear apenas o tráfego de armazenamento.
Selecione Editar para editar a sessão de rastreio.
Selecione a ligação Configurar à direita do fornecedor de ETW Microsoft-Pef-WebProxy .
Na caixa de diálogo Definições Avançadas , clique no separador Fornecedor .
No campo Filtro de Nome de Anfitrião , especifique os pontos finais de armazenamento, separados por espaços. Por exemplo, pode especificar os pontos finais da seguinte forma; altere
storagesample
para o nome da sua conta de armazenamento:storagesample.blob.core.windows.net storagesample.queue.core.windows.net storagesample.table.core.windows.net
Saia da caixa de diálogo e clique em Reiniciar para começar a recolher o rastreio com o filtro de nome de anfitrião implementado, para que apenas o tráfego da rede do Armazenamento do Azure esteja incluído no rastreio.
Nota
Depois de concluir a recolha do rastreio de rede, recomendamos vivamente que reverta as definições que poderá ter alterado no Fiddler para desencriptar o tráfego HTTPS. Na caixa de diálogo Opções do Fiddler, desselecione as caixas de verificação Capturar CONNECTs HTTPS e Desencriptar Tráfego HTTPS .
Consulte Utilizar as Funcionalidades de Rastreio de Rede no Technet para obter mais detalhes.
Rever dados de métricas no portal do Azure
Depois de a sua aplicação estar em execução durante um período de tempo, pode rever os gráficos de métricas que aparecem no portal do Azure para observar o desempenho do seu serviço.
Primeiro, navegue para a sua conta de armazenamento no portal do Azure. Por predefinição, é apresentado um gráfico de monitorização com a métrica Percentagem de êxito no painel da conta. Se tiver modificado anteriormente o gráfico para apresentar métricas diferentes, adicione a métrica Percentagem de êxito .
Verá agora a percentagem de êxito no gráfico de monitorização, juntamente com quaisquer outras métricas que possa ter adicionado. No cenário, vamos investigar a seguir ao analisar os registos no Analisador de Mensagens, a taxa de êxito por cento é um pouco inferior a 100%.
Para obter mais detalhes sobre como adicionar e personalizar gráficos de métricas, veja Personalizar gráficos de métricas.
Nota
Os dados das métricas podem demorar algum tempo a aparecer no portal do Azure depois de ativar as métricas de armazenamento. Isto deve-se ao facto de as métricas horárias da hora anterior não serem apresentadas no portal do Azure até que a hora atual tenha decorrido. Além disso, as métricas de minutos não são atualmente apresentadas no portal do Azure. Assim, dependendo de quando ativar as métricas, pode demorar até duas horas para ver os dados das métricas.
Utilizar o AzCopy para copiar registos do servidor para um diretório local
O Armazenamento do Azure escreve dados de registo do servidor em blobs, enquanto as métricas são escritas em tabelas. Os blobs de registos estão disponíveis no contentor conhecido $logs
da sua conta de armazenamento. Os blobs de registos têm o nome hierárquica por ano, mês, dia e hora, para que possa localizar facilmente o intervalo de tempo que pretende investigar. Por exemplo, na storagesample
conta, o contentor dos blobs de registo para 01/02/2015, das 8 às 9 horas, é https://storagesample.blob.core.windows.net/$logs/blob/2015/01/08/0800
. Os blobs individuais neste contentor são denominados sequencialmente, começando por 000000.log
.
Pode utilizar a ferramenta de linha de comandos do AzCopy para transferir estes ficheiros de registo do lado do servidor para uma localização à sua escolha no seu computador local. Por exemplo, pode utilizar o seguinte comando para transferir os ficheiros de registo para operações de blobs que ocorreram a 2 de janeiro de 2015 para a pasta C:\Temp\Logs\Server
; substitua <storageaccountname>
pelo nome da sua conta de armazenamento:
azcopy copy 'http://<storageaccountname>.blob.core.windows.net/$logs/blob/2015/01/02' 'C:\Temp\Logs\Server' --recursive
O AzCopy está disponível para transferência na página Transferências do Azure . Para obter detalhes sobre como utilizar o AzCopy, veja Transferir dados com o Utilitário Command-Line do AzCopy.
Para obter informações adicionais sobre a transferência de registos do lado do servidor, veja Transferir dados de registo do Registo de Armazenamento.
Utilizar o Microsoft Message Analyzer para analisar dados de registo
O Microsoft Message Analyzer é uma ferramenta para capturar, apresentar e analisar o tráfego de mensagens de protocolo, eventos e outras mensagens de sistema ou aplicação em cenários de resolução de problemas e diagnóstico. O Analisador de Mensagens também lhe permite carregar, agregar e analisar dados de ficheiros de registo e rastreio guardados. Para obter mais informações sobre o Analisador de Mensagens, consulte Guia operacional do Microsoft Message Analyzer.
O Analisador de Mensagens inclui recursos para o Armazenamento do Azure que o ajudam a analisar os registos de servidor, cliente e rede. Nesta secção, vamos discutir como utilizar essas ferramentas para resolver o problema de baixa percentagem de êxito nos registos de armazenamento.
Transferir e instalar o Analisador de Mensagens e os Recursos de Armazenamento do Azure
- Transfira o Analisador de Mensagens.
- Inicie o Analisador de Mensagens.
- No menu Ferramentas , selecione Gestor de Recursos. Na caixa de diálogo Gestor de Recursos , selecione Transferências e, em seguida, filtre no Armazenamento do Azure. Verá os Recursos de Armazenamento do Azure, conforme mostrado na imagem abaixo.
- Clique em Sincronizar Todos os Itens Apresentados para instalar os Recursos de Armazenamento do Azure. Os recursos disponíveis incluem:
- Regras de Cor do Armazenamento do Azure: As regras de cores do Armazenamento do Azure permitem-lhe definir filtros especiais que utilizam estilos de cor, texto e tipo de letra para realçar mensagens que contêm informações específicas num rastreio.
- Gráficos de Armazenamento do Azure: Os gráficos de Armazenamento do Azure são gráficos predefinidos que registam os dados de registo do servidor de gráficos. Tenha em atenção que, para utilizar os gráficos de Armazenamento do Azure neste momento, só pode carregar o registo do servidor para o Analysis Grid.
- Parsers de Armazenamento do Azure: Os analisadores do Armazenamento do Azure analisam os registos de cliente, servidor e HTTP do Armazenamento do Azure para os apresentar no Analysis Grid.
- Filtros de Armazenamento do Azure: Os filtros do Armazenamento do Azure são critérios predefinidos que pode utilizar para consultar os seus dados no Analysis Grid.
- Esquemas da Vista de Armazenamento do Azure: Os esquemas da vista de Armazenamento do Azure são esquemas e agrupamentos de colunas predefinidos no Analysis Grid.
- Reinicie o Analisador de Mensagens depois de instalar os recursos.
Nota
Instale todos os recursos do Armazenamento do Azure apresentados para efeitos deste tutorial.
Importar os ficheiros de registo para o Analisador de Mensagens
Pode importar todos os ficheiros de registo guardados (do lado do servidor, do lado do cliente e da rede) para uma única sessão no Microsoft Message Analyzer para análise.
- No menu Ficheiro no Microsoft Message Analyzer, clique em Nova Sessão e, em seguida, clique em Sessão em Branco. Na caixa de diálogo Nova Sessão , introduza um nome para a sua sessão de análise. No painel Detalhes da Sessão , clique no botão Ficheiros .
- Para carregar os dados de rastreio de rede gerados pelo Analisador de Mensagens, clique em Adicionar Ficheiros, navegue até à localização onde guardou o ficheiro .matp na sessão de rastreio Web, selecione o ficheiro .matp e clique em Abrir.
- Para carregar os dados de registo do lado do servidor, clique em Adicionar Ficheiros, navegue para a localização onde transferiu os registos do lado do servidor, selecione os ficheiros de registo para o intervalo de tempo que pretende analisar e clique em Abrir. Em seguida, no painel Detalhes da Sessão , defina o menu pendente Configuração do Registo de Texto para cada ficheiro de registo do lado do servidor como AzureStorageLog para garantir que o Microsoft Message Analyzer pode analisar corretamente o ficheiro de registo.
- Para carregar os dados de registo do lado do cliente, clique em Adicionar Ficheiros, navegue para a localização onde guardou os registos do lado do cliente, selecione os ficheiros de registo que pretende analisar e clique em Abrir. Em seguida, no painel Detalhes da Sessão , defina o menu pendente Configuração do Registo de Texto para cada ficheiro de registo do lado do cliente como AzureStorageClientDotNetV4 para garantir que o Microsoft Message Analyzer pode analisar corretamente o ficheiro de registo.
- Clique em Iniciar na caixa de diálogo Nova Sessão para carregar e analisar os dados de registo. Os dados de registo são apresentados no Message Analyzer Analysis Grid.
A imagem abaixo mostra uma sessão de exemplo configurada com ficheiros de registo de rastreio de servidor, cliente e rede.
Tenha em atenção que o Analisador de Mensagens carrega ficheiros de registo para a memória. Se tiver um grande conjunto de dados de registo, vai querer filtre-os para obter o melhor desempenho do Analisador de Mensagens.
Primeiro, determine o período de tempo que está interessado em rever e mantenha este período de tempo o mais pequeno possível. Em muitos casos, irá querer rever um período de minutos ou horas, no máximo. Importe o conjunto de registos mais pequeno que possa satisfazer as suas necessidades.
Se ainda tiver uma grande quantidade de dados de registo, poderá querer especificar um filtro de sessão para filtrar os dados de registo antes de os carregar. Na caixa Filtro de Sessão , selecione o botão Biblioteca para escolher um filtro predefinido; por exemplo, selecione Filtro de Tempo Global I nos filtros do Armazenamento do Azure para filtrar num intervalo de tempo. Em seguida, pode editar os critérios de filtro para especificar o carimbo de data/hora de início e de fim para o intervalo que pretende ver. Também pode filtrar um código de estado específico; por exemplo, pode optar por carregar apenas entradas de registo onde o código de estado é 404.
Para obter mais informações sobre a importação de dados de registo para o Microsoft Message Analyzer, veja Obter Dados de Mensagens no TechNet.
Utilizar o ID do pedido de cliente para correlacionar os dados do ficheiro de registo
A Biblioteca de Cliente do Armazenamento do Azure gera automaticamente um ID de pedido de cliente exclusivo para cada pedido. Este valor é escrito no registo do cliente, no registo do servidor e no rastreio de rede, para que possa utilizá-lo para correlacionar dados nos três registos no Analisador de Mensagens. Veja ID do pedido de cliente para obter informações adicionais sobre o ID do pedido de cliente.
As secções abaixo descrevem como utilizar vistas de esquema pré-configuradas e personalizadas para correlacionar e agrupar dados com base no ID do pedido de cliente.
Selecionar um esquema de vista a apresentar no Analysis Grid
Os Recursos de Armazenamento do Analisador de Mensagens incluem Esquemas de Vista de Armazenamento do Azure, que são vistas pré-configuradas que pode utilizar para apresentar os seus dados com agrupamentos e colunas úteis para diferentes cenários. Também pode criar esquemas de vista personalizados e guardá-los para reutilização.
A imagem abaixo mostra o menu Ver Esquema , disponível ao selecionar Ver Esquema no friso da barra de ferramentas. Os esquemas de vista para o Armazenamento do Azure estão agrupados no nó Armazenamento do Azure no menu. Pode procurar Azure Storage
na caixa de pesquisa para filtrar apenas os esquemas da vista de Armazenamento do Azure. Também pode selecionar o star junto a um esquema de vista para torná-lo um favorito e apresentá-lo na parte superior do menu.
Para começar, selecione Agrupado por ClientRequestID e Module. Este esquema de vista agrupa os dados de registo dos três registos primeiro pelo ID do pedido de cliente e, em seguida, pelo ficheiro de registo de origem (ou Módulo no Analisador de Mensagens). Com esta vista, pode desagregar um ID de pedido de cliente específico e ver dados dos três ficheiros de registo desse ID de pedido de cliente.
A imagem abaixo mostra esta vista de esquema aplicada aos dados de registo de exemplo, com um subconjunto de colunas apresentado. Pode ver que, para um ID de pedido de cliente específico, o Analysis Grid apresenta dados do registo do cliente, do registo do servidor e do rastreio de rede.
Nota
Os ficheiros de registo diferentes têm colunas diferentes, pelo que, quando os dados de vários ficheiros de registo são apresentados no Analysis Grid, algumas colunas podem não conter dados para uma determinada linha. Por exemplo, na imagem acima, as linhas de registo do cliente não mostram dados para as colunas Carimbo de Data/Hora, TimeElapsed, Origem e Destino , uma vez que estas colunas não existem no registo de cliente, mas existem no rastreio de rede. Da mesma forma , a coluna Carimbo de Data/Hora apresenta dados de carimbo de data/hora do registo do servidor, mas não são apresentados dados para as colunas TimeElapsed, Origem e Destino , que não fazem parte do registo do servidor.
Além de utilizar os esquemas da vista de Armazenamento do Azure, também pode definir e guardar os seus próprios esquemas de vista. Também pode selecionar outros campos pretendidos para agrupar dados e guardar o agrupamento como parte do esquema personalizado.
Aplicar regras de cor à Grelha de Análise
Os Recursos de Armazenamento também incluem regras de cor, que oferecem um meio visual para identificar diferentes tipos de erros no Analysis Grid. As regras de cor predefinidas aplicam-se a erros HTTP, pelo que aparecem apenas para o registo do servidor e o rastreio de rede.
Para aplicar regras de cores, selecione Regras de Cor no friso da barra de ferramentas. Verá as regras de cor do Armazenamento do Azure no menu. Para o tutorial, selecione Erros de Cliente (StatusCode entre 400 e 499), conforme mostrado na imagem abaixo.
Além de utilizar as regras de cor do Armazenamento do Azure, também pode definir e guardar as suas próprias regras de cor.
Agrupar e filtrar dados de registo para encontrar erros de 400 intervalos
Em seguida, vamos agrupar e filtrar os dados de registo para encontrar todos os erros no intervalo 400.
Localize a coluna StatusCode na Grelha de Análise, clique com o botão direito do rato no cabeçalho da coluna e selecione Agrupar.
Em seguida, agrupe na coluna ClientRequestId . Verá que os dados no Analysis Grid estão agora organizados pelo código de estado e pelo ID do pedido de cliente.
Apresentar a janela da ferramenta Ver Filtro se ainda não estiver apresentada. No friso da barra de ferramentas, selecione Ferramenta Windows e, em seguida, Ver Filtro.
Para filtrar os dados de registo para apresentar apenas erros de 400 intervalos, adicione os seguintes critérios de filtro à janela Ver Filtro e clique em Aplicar:
(AzureStorageLog.StatusCode >= 400 && AzureStorageLog.StatusCode <=499) || (HTTP.StatusCode >= 400 && HTTP.StatusCode <= 499)
A imagem abaixo mostra os resultados deste agrupamento e filtro. Expandir o campo ClientRequestID abaixo do agrupamento para o código de estado 409, por exemplo, mostra uma operação que resultou nesse código de estado.
Depois de aplicar este filtro, verá que as linhas do registo de cliente são excluídas, uma vez que o registo de cliente não inclui uma coluna StatusCode . Para começar, vamos rever os registos de rastreio do servidor e da rede para localizar erros 404 e, em seguida, voltaremos ao registo do cliente para examinar as operações de cliente que os levaram.
Nota
Pode filtrar na coluna StatusCode e continuar a apresentar dados dos três registos, incluindo o registo do cliente, se adicionar uma expressão ao filtro que inclua entradas de registo em que o código de estado é nulo. Para construir esta expressão de filtro, utilize:
*StatusCode >= 400 or !*StatusCode
Este filtro devolve todas as linhas do registo do cliente e apenas as linhas do registo do servidor e do registo HTTP em que o código de estado é superior a 400. Se o aplicar ao esquema de vista agrupado por ID de pedido de cliente e módulo, pode procurar ou percorrer as entradas de registo para encontrar aquelas onde os três registos estão representados.
Filtrar dados de registo para encontrar erros 404
Os Recursos de Armazenamento incluem filtros predefinidos que pode utilizar para restringir os dados de registo para encontrar os erros ou tendências que procura. Em seguida, vamos aplicar dois filtros predefinidos: um que filtra os registos de rastreio do servidor e da rede para erros 404 e outro que filtra os dados num intervalo de tempo especificado.
Apresentar a janela da ferramenta Ver Filtro se ainda não estiver apresentada. No friso da barra de ferramentas, selecione Ferramenta Windows e, em seguida, Ver Filtro.
Na janela Ver Filtro, selecione Biblioteca e pesquise
Azure Storage
para encontrar os filtros do Armazenamento do Azure. Selecione o filtro para mensagens 404 (Não Encontradas) em todos os registos.Apresente novamente o menu Biblioteca e localize e selecione o Filtro de Hora Global.
Edite os carimbos de data/hora apresentados no filtro para o intervalo que pretende ver. Isto ajudará a restringir o intervalo de dados a analisar.
O filtro deverá ser semelhante ao exemplo abaixo. Clique em Aplicar para aplicar o filtro à Grelha de Análise.
((AzureStorageLog.StatusCode == 404 || HTTP.StatusCode == 404)) And (#Timestamp >= 2014-10-20T16:36:38 and #Timestamp <= 2014-10-20T16:36:39)
Analisar os dados de registo
Agora que agrupou e filtrou os seus dados, pode examinar os detalhes dos pedidos individuais que geraram erros 404. No esquema de vista atual, os dados são agrupados pelo ID do pedido de cliente e, em seguida, pela origem de registo. Uma vez que estamos a filtrar pedidos em que o campo StatusCode contém 404, vamos ver apenas os dados de rastreio de servidor e de rede e não os dados de registo do cliente.
A imagem abaixo mostra um pedido específico em que uma operação Obter Blob produziu um erro 404 porque o blob não existia. Tenha em atenção que algumas colunas foram removidas da vista padrão para apresentar os dados relevantes.
Em seguida, vamos correlacionar este ID de pedido de cliente com os dados de registo do cliente para ver que ações o cliente estava a executar quando o erro ocorreu. Pode apresentar uma nova vista do Analysis Grid para esta sessão para ver os dados de registo do cliente, que é aberto num segundo separador:
Primeiro, copie o valor do campo ClientRequestId para a área de transferência. Pode fazê-lo ao selecionar qualquer linha, localizar o campo ClientRequestId , clicar com o botão direito do rato no valor de dados e selecionar Copiar "ClientRequestId".
No friso da barra de ferramentas, selecione Novo Visualizador e, em seguida, selecione Analysis Grid para abrir um novo separador. O novo separador mostra todos os dados nos seus ficheiros de registo, sem agrupar, filtrar ou regras de cores.
No friso da barra de ferramentas, selecione Ver Esquema e, em seguida, selecione Todas as Colunas de Cliente .NET na secção Armazenamento do Azure . Este esquema de vista mostra os dados do registo de cliente, bem como os registos de rastreio de servidor e de rede. Por predefinição, está ordenado na coluna MessageNumber .
Em seguida, procure o ID do pedido de cliente no registo do cliente. No friso da barra de ferramentas, selecione Localizar Mensagens e, em seguida, especifique um filtro personalizado no ID do pedido de cliente no campo Localizar . Utilize esta sintaxe para o filtro, especificando o seu próprio ID de pedido de cliente:
*ClientRequestId == "398bac41-7725-484b-8a69-2a9e48fc669a"
O Analisador de Mensagens localiza e seleciona a primeira entrada de registo onde os critérios de pesquisa correspondem ao ID do pedido do cliente. No registo do cliente, existem várias entradas para cada ID de pedido de cliente, pelo que poderá querer agrupá-las no campo ClientRequestId para facilitar a sua visualização em conjunto. A imagem abaixo mostra todas as mensagens no registo de cliente do ID de pedido de cliente especificado.
Ao utilizar os dados apresentados nos esquemas de vista nestes dois separadores, pode analisar os dados do pedido para determinar o que pode ter causado o erro. Também pode ver os pedidos que precederam este evento para ver se um evento anterior pode ter levado ao erro 404. Por exemplo, pode rever as entradas de registo do cliente anteriores a este ID de pedido de cliente para determinar se o blob pode ter sido eliminado ou se o erro se deveu à aplicação cliente que chama uma API CreateIfNotExists num contentor ou blob. No registo do cliente, pode encontrar o endereço do blob no campo Descrição ; nos registos de rastreio de servidor e rede, estas informações são apresentadas no campo Resumo .
Assim que souber o endereço do blob que deu o erro 404, pode investigar mais aprofundadamente. Se procurar outras mensagens associadas a operações no mesmo blob nas entradas de registo, pode verificar se o cliente eliminou a entidade anteriormente.
Analisar outros tipos de erros de armazenamento
Agora que está familiarizado com a utilização do Analisador de Mensagens para analisar os seus dados de registo, pode analisar outros tipos de erros com esquemas de vista, regras de cores e pesquisa/filtragem. As tabelas abaixo listam alguns problemas que pode encontrar e os critérios de filtro que pode utilizar para os localizar. Para obter mais informações sobre a construção de filtros e a linguagem de filtragem do Analisador de Mensagens, consulte Filtrar Dados de Mensagens.
Para Investigar... | Utilizar Expressão de Filtro... | Expressão Aplica-se ao Registo (Cliente, Servidor, Rede, Tudo) |
---|---|---|
Atrasos inesperados na entrega de mensagens numa fila | AzureStorageClientDotNetV4.Description contém "A repetir a operação falhada". | Cliente |
Aumento http em PercentThrottlingError | HTTP. Response.StatusCode == 500 || HTTP. Response.StatusCode == 503 | Rede |
Aumento em PercentTimeoutError | HTTP. Response.StatusCode == 500 | Rede |
Aumento em PercentTimeoutError (tudo) | *StatusCode == 500 | Todos |
Aumento no PercentNetworkError | AzureStorageClientDotNetV4.EventLogEntry.Level < 2 | Cliente |
Mensagens HTTP 403 (Proibido) | HTTP. Response.StatusCode == 403 | Rede |
Mensagens HTTP 404 (Não encontrado) | HTTP. Response.StatusCode == 404 | Rede |
404 (tudo) | *StatusCode == 404 | Todos |
Problema de autorização da Assinatura de Acesso Partilhado (SAS) | AzureStorageLog.RequestStatus == "SASAuthorizationError" | Rede |
Mensagens HTTP 409 (Conflito) | HTTP. Response.StatusCode == 409 | Rede |
409 (tudo) | *StatusCode == 409 | Todos |
As entradas de registo de PercentSuccess ou analítica baixa têm operações com o estado de transação de ClientOtherErrors | AzureStorageLog.RequestStatus == "ClientOtherError" | Servidor |
Aviso de Nagle | ((AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS) > (AzureStorageLog.ServerLatencyMS * 1.5)) e (AzureStorageLog.RequestPacketSize <1460) e (AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS >= 200) | Servidor |
Intervalo de tempo nos registos do Servidor e da Rede | >#Timestamp = 2014-10-20T16:36:38 e #Timestamp <= 2014-10-20T16:36:39 | Servidor, Rede |
Intervalo de tempo nos registos do Servidor | AzureStorageLog.Timestamp >= 2014-10-20T16:36:38 e AzureStorageLog.Timestamp <= 2014-10-20T16:36:39 | Servidor |
Passos seguintes
Para obter mais informações sobre a resolução de problemas de cenários ponto a ponto no Armazenamento do Azure, veja estes recursos:
- Monitorizar, diagnosticar e resolver problemas do Armazenamento do Microsoft Azure (Monitor, diagnose, and troubleshoot Microsoft Azure Storage)
- Análise de Armazenamento
- Monitorizar uma conta de armazenamento no portal do Azure
- Transferir dados com o Utilitário de Linha de Comandos AzCopy
- Guia de Funcionamento do Microsoft Message Analyzer