Share via


Analisar os registos gerados pelo sistema utilizando o Application Insights

Pode ligar as suas aplicações de tela ao Application Insights, uma funcionalidade do Azure Monitor. O Application Insights inclui ferramentas de análise avançadas para o ajudar a diagnosticar problemas e a compreender o que os utilizadores fazem realmente com as suas aplicações Pode recolher informações para o ajudar a impulsionar melhores decisões de negócio e a melhorar a qualidade das suas aplicações.

Neste início rápido, utilizamos uma aplicação de tela chamada Kudos para explorar conceitos de registos gerados pelo sistema em aplicações de tela e a aplicá-los às suas aplicações. A aplicação de amostra Kudos pertence a um conjunto de aplicações de cativação de colaboradores disponível para download a partir do Kit de Introdução à Experiência de Colaboradores.

Pré-requisitos

Nota

Para ver informações de telemetria, o seu administrador de inquilinos tem de ativar as Informações da aplicação de tela. Inicie sessão como administrador no centro de administração do Power Platform. Aceda a Definições > Definições de inquilino > Informações da aplicação de tela. No painel Informações da aplicação de tela, defina o comutador para Ativado e guarde as alterações. Para obter mais informações, consulte Definições do inquilino.

Opcional

Criar um recurso Application Insights

Antes de poder enviar registos gerados pelo sistema a partir de uma aplicação, terá de criar um recurso do Application Insights para armazenar os eventos.

  1. Inicie sessão no portal do Azure.

  2. Procurar Application Insights:

    Application Insights.

  3. Criar um recurso Application Insights:

    Adicionar um recurso do Application Insights.

  4. Introduza os valores adequados e selecione Rever + criar.

    Para mais detalhes, leia Criar um recurso do Application Insights.

    Criar um recurso.

  5. Depois de a instância do Application Insights ser criada, copie a Chave de Instrumentação na descrição geral da instância para utilização num passo seguinte.

    Copiar Chave de Instrumentação.

Ligar à sua aplicação para o Application Insights

Nota

  • Ao especificar uma chave de instrumentação, tenha em atenção que os dados podem ser enviados para todos os inquilinos. Os eventos de rastreio são enviados para o recurso App Insights que corresponde à chave de instrumentação definida para a sua aplicação, mesmo que a instância do App Insights de destino esteja num inquilino diferente do da aplicação.
  • Tenha atenção ao importar ficheiros .msapp existentes, porque podem estar presentes chaves de instrumentação para o App Insights. Abra manualmente a aplicação após a importação para verificar se está a ser utilizada a chave de instrumentação do App Insights correta.
  1. Inicie sessão no Power Apps.

  2. Selecione Aplicações no painel de navegação esquerdo. Na lista de aplicações, selecione a aplicação Kudos e, em seguida, selecione Editar:

    Editar aplicação Kudos.

    Nota

    Pode também criar uma nova aplicação ou editar qualquer aplicação existente.

  3. Selecione o objeto Aplicação na vista de árvore de navegação e cole a Chave de Instrumentação:

    Adicionar Chave de Instrumentação.

  4. Guarde e Publique a sua aplicação.

  5. Reproduza a aplicação publicada e navegue pelos diferentes ecrãs.

À medida que navega pelos ecrãs da aplicação, os eventos são registados automaticamente no Application Insights, incluindo os detalhes de utilização como:

  • Local a partir do qual a aplicação é acedida
  • Que dispositivos são utilizados
  • Os tipos de browser utilizados

Importante

Tem de reproduzir a aplicação publicada para enviar eventos para o Application Insights. Os eventos não são enviados para o Application Insights quando pré-visualiza a aplicação no Power Apps Studio.

Ver eventos no Application Insights

  1. Inicie sessão no portal do Azure e abra o recurso do Application Insights que criou anteriormente.

  2. Desloque-se para baixo no painel de navegação esquerdo e selecione Utilizadores na secção Utilização.

    Nota

    A vista Utilizadores mostra os detalhes de utilização da aplicação como:

    • Número de utilizadores que viram a aplicação
    • Número de sessões de utilizador
    • Número de eventos registados
    • Sistemas operativos e detalhes da versão do browser dos utilizadores
    • Região e localização dos utilizadores

    Saiba mais informações sobre utilizadores, sessões e análises de eventos no Application Insights.

  3. Selecione uma das sessões de utilizador para aprofundar detalhes específicos. Pode ver informações como o comprimento da sessão e os ecrãs visitados:

    Detalhes de utilização para utilizadores.

  4. Selecione a vista Eventos no painel de navegação esquerdo, na secção Utilização. Pode ver um resumo de todos os ecrãs visualizados em todas as sessões da aplicação:

    Detalhes do evento para a aplicação.

Gorjeta

Estão disponíveis mais funcionalidades do Application Insights como:

Criar eventos de rastreio personalizados

Pode escrever rastreios personalizados diretamente para o Application Insights e começar a analisar as informações específicas do seu cenário. A função Rastreio permite-lhe recolher:

  • Informações de utilização granulares para os controlos nos ecrãs
  • Que utilizadores específicos estão a aceder à sua aplicação
  • Que erros ocorrem

O rastreio também pode ajudar a diagnosticar problemas, porque pode enviar um registo de informações à medida que os utilizadores navegam através da sua aplicação e executam diferentes ações. As mensagens de rastreio enviadas para o Application Insights têm um de três níveis de gravidade:

  • Informações
  • Aviso
  • Error

Consoante o cenário, pode optar por enviar uma mensagem de rastreio com a gravidade adequada. Pode consultar os dados e tomar ações específicas com base no nível de gravidade.

Nota

Se estiver a registar dados pessoais, tenha em atenção as suas obrigações no que diz respeito a diversas leis e regulamentações de privacidade. Consulte o Centro de Confiança da Microsoft e o Portal de Confiança do Serviço para mais informações.

Agora, crie um novo componente na sua aplicação para recolher comentários em cada ecrã e escrever os eventos no Application Insights.

  1. Inicie sessão no Power Apps.

  2. Selecione Aplicações no painel de navegação esquerdo. Na lista de aplicações, selecione a aplicação Kudos e, em seguida, selecione Editar.

    Nota

    Pode também criar uma nova aplicação ou editar uma aplicação existente.

  3. Selecione a opção Componentes na Vista de árvore:

    Componentes.

  4. Selecione Novo componente e, em seguida, redimensione a largura para 200 e altura para 75:

    Altura e largura.

  5. Selecione Inserir no menu e selecione Ícones para adicionar Emoji - Descontente e Emoji - Sorriso:

    Adicionar ícones.

  6. Selecione Nova propriedade personalizada para criar uma propriedade personalizada:

    Criar propriedade personalizada.

  7. Introduza a propriedade Name e Display name, tal como FeedbackSceen.

  8. Introduza a propriedade Description.

  9. Selecione Tipo de propriedade como Entrada e Tipo de dados como Ecrã:

    Propriedade personalizada.

    Nota

    A propriedade de entrada permite capturar o nome do ecrã e o respetivo componente para poder registar estas informações no Application Insights.

  10. Selecione o componente na Vista de Árvore, selecione Mais ações () e, em seguida, selecione Mudar o nome para mudar o nome do componente para um nome significativo, tal como FeedbackComponent.

    Mudar o nome do componente e dos ícones.

  11. Selecione os ícones, selecione Mais ações () e, em seguida, selecione Mudar o nome para mudar o nome dos ícones para nomes significativos, tais como FrownIcon e SmileIcon.

  12. Selecione FrownIcon, selecione a propriedade OnSelect e introduza a seguinte expressão na barra de fórmulas:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Fórmula de ícone Descontente.

    Nota

    A expressão de fórmula envia UserName, UserEmail, Screen e Feedback (com o valor -1) para Application Insights.

  13. Selecione SmileIcon, selecione a propriedade OnSelect e introduza a seguinte expressão na barra de fórmulas:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Adicione o componente a um dos ecrãs na sua aplicação:

    Adicionar componente de comentários.

  15. Selecione Guardar e, em seguida, selecione Publicar para guardar e publicar a sua aplicação.

  16. Reproduza a aplicação publicada e envie comentários de sorriso e descontente a partir dos seus ecrãs.

    Importante

    Tem de reproduzir a aplicação publicada para enviar eventos para o Application Insights. Os eventos não são enviados para o Application Insights quando pré-visualiza a aplicação no Power Apps Studio.

    Reproduzir aplicação publicada.

Analisar dados no Application Insights

Pode agora começar a analisar os dados que enviou através da função Rastreio a partir da sua aplicação no Application Insights.

  1. Inicie sessão no portal do Azure e abra o recurso do Application Insights que criou anteriormente:

    Selecionar Application Insights.

  2. Selecione Registos em Monitorização no painel de navegação esquerdo:

    Selecionar Registos.

  3. Introduza a consulta seguinte e selecione Executar para ver os comentários recebidos da sua aplicação:

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Ver comentários da aplicação.

  4. Selecione uma linha nos resultados e expanda o campo customDimensions.

    Os valores para Screen, UserName, UserEmail e FeedbackValue para o evento OnSelect do ícone de sorriso e descontente no seu componente foram registados. Os valores também são registados para cada evento enviado para o Application Insights, tais como appId, appName e appSessionId.

    Expandir dimensões personalizadas.

  5. Com a seguinte consulta de exemplo, poderá expandir as propriedades das dimensões personalizadas JSON e projetar as colunas na vista de resultados.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    Expandir a consulta customDimensions.

    Gorjeta

    As consultas de registo são muito poderosas. Pode utilizá-los para associar várias tabelas, agregar grandes quantidades de dados e executar operações complexas. Saiba mais sobre consultas de registo.

Monitorizar erros não processados (experimental)

[Esta secção contém documentação de pré-lançamento e está sujeita a alterações.]

Importante

  • Esta é uma funcionalidade experimental.
  • As funcionalidades experimentais não se destinam à produção e poderão ter funcionalidades restritas. Estas funcionalidades estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.

Não é possível antecipar e efetuar os planos para todos os erros que possam ocorrer durante a execução da aplicação. Os erros de fórmula do Power Fx não processados são reportados aos utilizadores como mensagens de faixa. Também podem ser reportados ao Application Insights para o ajudarem a compreender a frequência e a severidade, sem dependerem dos utilizadores da aplicação para reportarem os problemas. Também pode configurar alertas em tempo real quando ocorrerem erros de runtime para adotar uma abordagem mais proativa.

Ativar a transmissão de erros para o Application Insights

Tem de ativar a definição que permite que o Power Apps transmita erros de runtime não processados para o Azure Application Insights.

Aviso

A ativação desta definição poderá incorrer em custos adicionais relacionados com o armazenamento de registos do Application Insights.

Para ativar a transmissão de erros, vá para Definições > Caraterísticas futuras > Experimental > Transmitir erros para o Azure Application Insights enquanto mantém a sua aplicação de tela aberta para edição. Guarde e publique a sua aplicação.

Transmitir erros para a definição do Azure Application Insights.

Eventos de erro no Application Insights

Os erros do Power Fx não processados e experienciados pelos utilizadores no runtime da aplicação são reportados à tabela rastreios . É possível identificar e distinguir erros não processados de outros eventos de erro através da mensagem de evento "Erro não processado". A dimensão "severityLevel" destes eventos é 3 (TraceSeverity.Error).

São fornecidas mensagens de erro detalhadas na dimensão "erros" da propriedade customDimension. Nas situações em que ocorreram vários erros durante a mesma operação, os erros são consolidados na dimensão "erros" de um único evento de rastreio. As mensagens de erro são iguais às reportadas no Monitor durante uma sessão de depuração em direto.

A seguinte consulta de amostra identifica erros não processados e expande todas as mensagens de erro incluídas no evento de rastreio:

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Saída de amostra para consulta de exemplo.

Rastreio da correlação (experimental)

[Esta secção contém documentação de pré-lançamento e está sujeita a alterações.]

Importante

  • Esta é uma funcionalidade experimental.
  • As funcionalidades experimentais não se destinam à produção e poderão ter funcionalidades restritas. Estas funcionalidades estão disponíveis antes do lançamento oficial, para que os clientes possam ter acesso antecipadamente e enviar comentários.

As ligações a dados e a serviços externos são fundamentais para a maior parte das aplicações. O rastreio de correlação gera e propaga informações de contexto para aderirem a registos gerados pelo sistema numa aplicação de tela com as suas ligações, sujeitas a determinadas limitações. Por exemplo, a sua aplicação poderá chamar um conector personalizado que, por sua vez, chama uma Função do Azure ou outra API REST. O rastreio de correlação permite-lhe correlacionar ações tomadas na aplicação com as chamadas da API subjacentes entre camadas. Isto pode ser útil na resolução de problemas.

O rastreio da correlação da aplicação de tela é uma implementação do rastreio de contexto e segue a especificação W3C.

Ativar o rastreio de correlação

Aviso

A ativação desta definição poderá incorrer em custos adicionais relacionados com o armazenamento de registos do Application Insights.

Para ativar a funcionalidade de rastreio de correlação, aceda a Definições > Caraterísticas futuras > Experimental > Ativar o rastreio de correlação do Azure Application Insights mantendo a sua aplicação aberta para edição. Guarde e publique a sua aplicação.

Ativar o rastreio de correlação do Azure Application Insights.

Limitações

  • O rastreio de correlação só está disponível para conectores personalizados. Os outros tipos de conector não são suportados.
  • Os pedidos HTTP só são capturados no Application Insights se o serviço ligado também estiver ligado ao Application Insights.

Utilizar o rastreio de correlação

Quando ativado, o rastreio de correlação adiciona um novo evento de registo gerado pelo sistema na tabela dependências da instância ddo Application Insights da aplicação de tela. Este evento é registado no momento em que uma resposta a uma chamada de rede é recebida. Os eventos de dependência capturam detalhes da chamada de rede, incluindo os cabeçalhos de pedido e de resposta, o código do estado da resposta e a duração da chamada.

Evento de amostra registado na tabela de dependências.

Se o serviço ligado também estiver ligado ao Application Insights, é gerado um evento de registo gerado pelo sistema que recolhe o pedido na tabela pedidos da instância do Application Insights do serviço. Alguns serviços do Azure, tais como as Funções do Azure, podem ser ligados sem qualquer codificação a partir do portal do Azure. Tanto a aplicação de tala como várias aplicações e serviços ligados podem ser ligados à mesma instância da Application Insights.

Evento de amostra registado na tabela de pedidos.

As chamadas de rede para conectores suportados podem ser associadas a outros registos gerados pelo sistema na dimensão "operation_Id". A seguinte consulta de amostra apresenta uma chamada de rede a ser feita juntamente com eventos de rastreio emitidos durante uma sessão da aplicação.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Saída de amostra para a consulta de exemplo anterior.

Exportar dados para o Power BI

Pode exportar os resultados da consulta e os dados do Application Insights para o Power BI para análise e apresentação de dados.

  1. Inicie sessão no portal do Azure e abra o recurso do Application Insights que criou anteriormente:

  2. Selecione Registos em Monitorização no painel de navegação esquerdo:

  3. Na janela de consulta da análise de registo, selecione o menu Exportar.

  4. Selecione a opção Exportar para Power BI (M query) para fazer download de um ficheiro de consulta do Power BI:

    Exportar consulta do Power BI.

  5. Abra o ficheiro transferido num editor de texto e copie a consulta para a área de transferência.

  6. Abrir Power BI.

  7. Selecione o menu Obter Dados no friso Base e, em seguida, selecione Consulta em branco:

    Power BI consulta em branco.

  8. Na janela da consulta, selecione Editor Avançado. Cole a consulta na janela, selecione Concluído e, em seguida, selecione Fechar e Aplicar:

    Consulta avançada do Power BI.

Também pode criar gráficos e visualizações no Power BI para representar os comentários recebidos na sua aplicação, bem como tomar decisões e ações baseadas nos dados.

Gráficos e visualizações.

Contexto e dimensões do evento de Rastreio Predefinido

Também é adicionado um conjunto de dimensões predefinidas à propriedade customDimensions em cada evento de Rastreio. Estas dimensões podem ser utilizadas para identificar a aplicação e as sessões das aplicações onde os eventos ocorreram. Se registar dados personalizados adicionais através da função Rastreio, também serão apresentados nas dimensões personalizadas.

Nome da Dimensão Representa
ms-appId O ID da Aplicação da aplicação que enviou o evento.
ms-appname O nome da Aplicação da aplicação que enviou o evento.
ms-appSessionId O ID de sessão da aplicação. Este valor poderá não ser preenchido em alguns cenários. Quando disponível, este valor substitui a dimensão sessionID do Application Insights padrão.
ms-tenantID O identificador exclusivo do inquilino em que a aplicação foi publicada.
ms-environmentId O nome do ambiente em que a aplicação foi publicada.
ID de Utilizador Um identificador exclusivo para o utilizador associado à sessão.
ms-duration Um valor imputado que mede o tempo que demora um utilizador a navegar de um ecrã para outro. Este valor substitui a dimensão da duração da PageView do Application Insights padrão.
sessionId Um ID de sessão que pode ser utilizado para correlacionar todos os eventos associados a uma única sessão de aplicação. Este valor está sempre presente e é recomendado para compreender a contagem de sessão exclusiva. Este valor é obtido do ID de sessão do leitor e é mostrado quando vê os detalhes da sessão enquanto reproduz a aplicação. O ID de Sessão poderá, por vezes, obter um valor predefinido, aleatório e exclusivo gerado pelo Application Insights. Este valor predefinido não é fiável e não está correlacionado com quaisquer parâmetros específicos da aplicação.
Duração Um valor imputado que mede o tempo que demora um utilizador a navegar de um ecrã para outro. Este valor é igual à duração reportada pela dimensão ms-duration.
ms-isTest Indica se a sessão está associada ao executador de teste do Test Studio.
ms-currentScreenName O nome da página na qual um utilizador está a navegar (presente para eventos de navegação de página).
ms-targetScreenName O nome da página para a qual um utilizador está a navegar (presente para eventos de navegação de página).

Cenários não suportados

O Application Insights não suporta os seguintes cenários.

  • Os eventos de jogador offline não são capturados.
  • Os eventos da aplicação móvel (tanto iOS como Android) não são capturados quando a aplicação está suspensa.
  • O GCC e clouds não públicas não são suportados.

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).