Поделиться через


Получение телеметрии с Application Insights

В этой статье обсуждается, как можно собирать данные телеметрии с помощью вашего помощника Microsoft Copilot Studio для использования в Azure Application Insights.

В дополнение к встроенным функциям аналитики в Microsoft Copilot Studio вы можете отправлять данные телеметрии в Application Insights. Телеметрия предлагает аналитику для вашего помощника, с отслеживанием следующих параметров:

  • Зарегистрированные сообщения и события, отправляемые помощнику и от него
  • Темы, которые будут вызываться во время разговоров пользователей
  • Пользовательские события телеметрии, которые можно отправлять из ваших тем

Внимание

Application Insights — это функция Azure Monitor, расширяемый инструмент управления производительностью приложений (APM), который позволяет отслеживать ваши активные приложения. Требуется подписка на Microsoft Azure.

Подключите помощника Copilot Studio к Application Insights

Чтобы подключить помощника к Application Insights, вам сначала необходимо добавить в проект свой ключ инструментирования.

  1. Перейдите на страницу Сведения о помощнике в разделе Параметры.

  2. Перейдите на вкладку Расширенные.

  3. В разделе Application Insights заполните параметр Строка подключения. См. раздел Документация по Azure Monitor, чтобы узнать, как найти строку подключения.

  4. Или же вы можете включить один из следующих параметров.

    • Регистрация событий: если эта функция включена, регистрируются сведения о входящих/исходящих сообщениях и событиях.

    • Регистрировать конфиденциальные свойства активности: если включено, значения определенных свойств, которые могут считаться конфиденциальными во входящих/исходящих сообщениях и событиях, включаются в журналы. Свойства, которые считаются потенциально конфиденциальными, — это идентификатор пользователя, имя, текст и речь (свойства текста и речи применяются только к сообщениям).

Анализ телеметрии бота с помощью Application Insights

После того как вы подключили бот к Application Insights, данные телеметрии регистрируются при взаимодействии пользователей с ботом, в том числе при тестировании в Microsoft Copilot Studio. Чтобы просмотреть зарегистрированные данные телеметрии, перейдите в раздел Журналы ресурса Application Insights в Azure.

Здесь вы можете использовать запросы Kusto для запроса и анализа ваших данных. См. примеры запросов.

Примеры запросов

Запрос может быть таким же простым, как указание одной таблицы, например customEvents, которая показывает все пользовательские события телеметрии, зарегистрированные из Microsoft Copilot Studio. Но вы также можете использовать запросы Kusto, чтобы еще больше сузить результаты, в том числе:

  • Добавить временной интервал
  • Расширение результатов с помощью пользовательских аналитик. Пользовательские аналитики — это настраиваемые свойства, которые регистрируются вместе с предварительно созданными полями, такими как отметка времени или название события
  • Условие where для ограничения данных, возвращаемых на основе условия
  • Использование дополнительных встроенных функций Kusto для определения того, какая информация и как отображается

Приведенный ниже пример запроса приводит к созданию линейной диаграммы, которая показывает, сколько отдельных пользователей общались с вашим ботом в день за последние 14 дней.

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

Внимание

Данные в некоторых полях различаются и более или менее применимы в зависимости от используемого канала. Например, вы получите правильное количество уникальных пользователей в запросе только в том случае, если они являются пользователями, прошедшими проверку подлинности, и их идентификаторы пользователей совпадают в разговорах. В анонимных сценариях, где для каждой беседы генерируется случайный идентификатор пользователя, поле идентификатора пользователя менее полезно.

Исключение телеметрии из тестовых бесед ваших запросов

Ваш бот регистрирует телеметрию для всех разговоров, включая те, которые происходят в тестовом холсте Microsoft Copilot Studio. Если вы хотите исключить данные телеметрии, собранные во время тестирования, вы можете расширить свой запрос с помощью пользовательской аналитики designMode, которая фиксируется для всех событий, и использовать условие where в вашем запросе.

В следующем примере показаны все настраиваемые события, за исключением событий, захваченных тестовым холстом.

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

Пользовательские измерения

Большая часть конкретных данных об деятельности, полученных от Microsoft Copilot Studio, хранится в поле customDimensions. Видно , что поле пользовательской аналитики используется в запросе для исключения телеметрии из тестовых бесед.

Поле Описание: Примеры значений
type Тип действия message, conversationUpdate, event, invoke
channelId Идентификатор канала emulator, directline, msteams, webchat
fromId Идентификатор from <id>
fromName Имя пользователя from клиента John Bonham, Keith Moon, Steve Smith, Steve Gadd
locale Региональный стандарт клиента en-us, zh-cn, en-GB, de-de, zh-CN
recipientId Идентификатор получателя <id>
recipientName Имя получателя. John Bonham, Keith Moon, Steve Smith, Steve Gadd
text Текст в сообщении find a coffee shop
designMode Разговор произошел на тестовом холсте True / False