Получение телеметрии с Application Insights
В этой статье описывается, как можно записывать данные телеметрии из вашего агента Copilot Studio для использования в Azure Application Insights.
В дополнение к встроенным функциям аналитики в Copilot Studio вы можете отправлять данные телеметрии в Application Insights. Телеметрия позволяет получить представление об агенте путем отслеживания:
- Зарегистрированные сообщения и события, отправленные в агент и из него
- Темы, которые будут вызываться во время разговоров пользователей
- Пользовательские события телеметрии, которые можно отправлять из ваших тем
Внимание
Application Insights — это функция Azure Monitor, расширяемый инструмент управления производительностью приложений (APM), который позволяет отслеживать ваши активные приложения. Требуется подписка на Microsoft Azure.
Подключение агента Copilot Studio к Application Insights
Чтобы подключить агент к Application Insights, сначала необходимо добавить свой ключ инструментирования в конфигурацию агента.
Перейдите на страницу Параметры для агента и выберите Дополнительно.
В разделе Application Insights заполните параметр Строка подключения. См. раздел Документация по Azure Monitor, чтобы узнать, как найти строку подключения.
Или же вы можете включить один из следующих параметров.
Регистрация действий: если включен, регистрируются сведения о входящих/исходящих сообщениях и событиях.
Регистрация конфиденциальных свойств действий: если включен, значения некоторых свойств, которые могут считаться конфиденциальными для входящих/исходящих сообщений и событий, включаются в журналы. Свойства, которые считаются потенциально конфиденциальными, — это идентификатор пользователя, имя, текст и речь (свойства текста и речи применяются только к сообщениям).
Анализ телеметрии бота с помощью Application Insights
После того как вы подключили бот к Application Insights, данные телеметрии регистрируются при взаимодействии пользователей с ботом, в том числе при тестировании в Copilot Studio. Чтобы просмотреть зарегистрированные данные телеметрии, перейдите в раздел Журналы ресурса Application Insights в Azure.
Здесь вы можете использовать запросы Kusto для запроса и анализа ваших данных. См. примеры запросов.
Примеры запросов
Запрос может быть таким же простым, как указание одной таблицы, например customEvents
, которая показывает все пользовательские события телеметрии, зарегистрированные из 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
Внимание
Данные в некоторых полях различаются и более или менее применимы в зависимости от используемого канала. Например, вы получите правильное количество уникальных пользователей в запросе только в том случае, если они являются пользователями, прошедшими проверку подлинности, и их идентификаторы пользователей совпадают в разговорах. В анонимных сценариях, где для каждой беседы генерируется случайный идентификатор пользователя, поле идентификатора пользователя менее полезно.
Исключение телеметрии из тестовых бесед ваших запросов
Бот регистрирует данные телеметрии для всех разговоров, включая те, которые происходят внутри Copilot Studio во время тестирования. Если вы хотите исключить данные телеметрии, собранные во время тестирования, вы можете расширить свой запрос с помощью пользовательской аналитики designMode
, которая фиксируется для всех событий, и использовать условие where в вашем запросе.
В следующем примере показаны все настраиваемые события, за исключением событий, захваченных тестовым холстом.
customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"
Пользовательские измерения
Большая часть конкретных данных об деятельности, полученных от 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 |