Capturar telemetria com o Application Insights

Este artigo discute como você pode capturar dados de telemetria do seu copiloto do Microsoft Copilot Studio para uso no Azure Application Insights.

Além dos recursos analíticos nativos no Microsoft Copilot Studio, você pode enviar dados de telemetria para o Application Insights. A telemetria oferece insights sobre seu copiloto rastreando:

  • Mensagens e eventos registrados enviados do copiloto e para ele
  • Tópicos a serem acionados durante as conversas com usuários
  • Eventos de telemetria personalizados que podem ser enviados dos seus tópicos

Importante

O Application Insights é um recurso do Azure Monitor, uma ferramenta extensível de gerenciamento de desempenho de aplicativos (APM) que permite monitorar seus aplicativos ativos. Requer uma assinatura para o Microsoft Azure.

Conectar seu copiloto do Copilot Studio ao Application Insights

Para conectar seu copiloto Application Insights, primeiro você deve adicionar sua chave de instrumentação ao projeto.

  1. Navegue até a página de Detalhes do copiloto em Configurações.

  2. Alterne para a guia Avançado.

  3. Na seção Application Insights, preencha a configuração Cadeia de conexão. Veja a documentação do Azure Monitor para descobrir como localizar sua cadeia de conexão.

  4. Opcionalmente, você pode habilitar uma das seguintes configurações.

    • Atividades de log: Se habilitado, detalhes de mensagens e eventos recebidos/enviados são registrados.

    • Propriedades de atividade sensíveis ao log: se ativadas, os valores de determinadas propriedades que podem ser consideradas sensíveis em mensagens e eventos de entrada/saída são incluídos nos logs. As propriedades que são consideradas potencialmente confidenciais são userid, name, text e speak (as propriedades text e speak aplicam-se apenas a mensagens).

Analisar a telemetria do bot com o Application Insights

Após você conectar seu bot ao Application Insights, os dados de telemetria são registrados quando os usuários interagem com o bot, incluindo testes no Microsoft Copilot Studio. Para ver os dados de telemetria registrados, navegue até a seção Logs do seu recurso do Application Insights no Azure.

Aqui, você pode usar consultas do Kusto para consultar e analisar dados. Veja consultas de exemplo.

Consultas de exemplo

Uma consulta pode ser tão simples quanto especificar uma única tabela, como customEvents, que mostra todos os eventos de telemetria personalizados registrados do Microsoft Copilot Studio. Mas você também pode usar consultas do Kusto para restringir ainda mais seus resultados, incluindo;

  • Adicionar um intervalo de tempo
  • Estender seus resultados usando dimensões personalizadas As dimensões personalizadas são propriedades personalizadas que são registradas junto com os campos predefinidos, como o carimbo de data/hora ou o nome do evento
  • Uma cláusula where para limitar os dados retornados com base em uma condição
  • Usar mais funções do Kusto internas para determinar quais e como as informações são mostradas

A consulta de exemplo abaixo resulta em um gráfico de linhas que mostra quantos usuários diferentes se comunicaram com seu bot por dia nos últimos 14 dias.

let queryStartDate = ago(14d);
let queryEndDate = now();
let groupByInterval = 1d;
customEvents
| where timestamp > queryStartDate
| where timestamp < queryEndDate
| summarize uc=dcount(user_Id) by bin(timestamp, groupByInterval)
| render timechart

Importante

Os dados dentro de alguns campos variam e são mais ou menos aplicáveis, dependendo do canal que está sendo usado. Por exemplo, você só obterá uma contagem correta de usuários únicos na consulta se eles forem usuários autenticados e as IDs de usuário forem consistentes nas conversas. Em cenários anônimos em que uma ID de usuário aleatória é gerada por conversa, o campo de ID de usuário é menos útil.

Excluir a telemetria de conversas de teste das suas consultas

Seu bot registra a telemetria de todas as conversas, incluindo aquelas que acontecem na tela de teste do Microsoft Copilot Studio. Se quiser excluir a telemetria coletada durante o teste, você poderá estender sua consulta com a dimensão personalizada designMode que é capturada em todos os eventos e usar uma cláusula where na sua consulta.

O exemplo a seguir mostra todos os eventos personalizados, excluindo aqueles capturados por meio da tela de teste.

customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"

Dimensões Personalizadas

Grande parte dos dados de atividades específicos recebidos do Microsoft Copilot Studio são armazenados no campo customDimensions. Você pode ver um campo de dimensão personalizada sendo usado em uma consulta para excluir a telemetria das conversas de teste.

Campo Descrição Valores de exemplo
tipo Tipo de atividade message, conversationUpdate, event, invoke
channelId Identificador do canal emulator, directline, msteams, webchat
fromId Identificador De <id>
fromName Nome de usuário do cliente John Bonham, Keith Moon, Steve Smith, Steve Gadd
localidade Localidade de origem do cliente en-us, zh-cn, en-GB, de-de, zh-CN
recipientId Identificador do destinatário <id>
recipientName Nome do destinatário John Bonham, Keith Moon, Steve Smith, Steve Gadd
texto Texto na mensagem find a coffee shop
designMode A conversa aconteceu dentro da tela de teste True / False