Application Insights를 사용하여 원격 분석 포착
이 문서에서는 Azure Copilot Studio 에서 사용하기 위해 에이전트에서 Application Insights 원격 분석 데이터를 캡처하는 방법을 설명합니다.
Copilot Studio 내의 기본 분석 기능 외에도 원격 분석 데이터를 Application Insights로 보낼 수 있습니다. 원격 분석은 다음을 추적하여 에이전트에 대한 인사이트를 제공합니다.
- 에이전트와 주고받은 기록된 메시지 및 이벤트
- 사용자 대화 중에 트리거되는 토픽
- 토픽에서 보낼 수 있는 사용자 지정 원격 분석 이벤트
중요
Application Insights는 라이브 응용 프로그램을 모니터링하기 위한 확장 가능한 APM(Application Performance Management) 도구인 Azure Monitor의 기능입니다. 이를 사용하려면 Microsoft Azure 구독이 필요합니다.
Copilot Studio 에이전트를 Application Insights에 연결
에이전트 Application Insights를 연결하려면 먼저 에이전트의 구성에 계측 키를 추가해야 합니다.
에이전트의 설정 페이지로 이동하여 고급을 선택하세요.
Application Insights 섹션 내에서 연결 문자열 설정을 채웁니다. 연결 문자열을 찾는 방법을 알아보려면 Azure Monitor 설명서를 참조하세요.
선택적으로 다음 설정 중 하나를 사용하도록 선택할 수 있습니다.
로그 활동: 활성화되면 수신/발신 메시지 및 이벤트의 세부 정보가 기록됩니다.
민감한 활동 속성 기록: 사용하도록 설정하면 수신/발신 메시지 및 이벤트에 대해 민감한 것으로 간주될 수 있는 특정 속성의 값이 로그에 포함됩니다. 잠재적으로 민감한 것으로 간주되는 속성은 사용자 ID, 이름, 텍스트 및 음성입니다(텍스트 및 음성 속성은 메시지에만 적용됨).
Application Insights로 봇 원격 분석
봇을 Application Insights에 연결한 후 Copilot Studio 내의 테스트를 포함하여 사용자가 봇과 상호 작용할 때 원격 분석 데이터가 기록됩니다. 기록된 원격 분석 데이터를 보려면 Azure에서 Application Insights 리소스의 로그 섹션으로 이동합니다.
여기에서 Kusto 쿼리를 사용하여 데이터를 쿼리하고 분석할 수 있습니다. 예제 쿼리를 참조하세요.
예제 쿼리
쿼리는 Copilot Studio에서 기록된 모든 사용자 지정 원격 측정 이벤트를 표시하는 customEvents
와 같은 단일 테이블을 지정하는 것처럼 간단할 수 있습니다. 그러나 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
중요
일부 필드 내의 데이터는 사용 중인 채널에 따라 다르며 적용 가능 여부가 다소 다릅니다. 예를 들어 인증된 사용자이고 대화에서 사용자 ID가 일치하는 경우 쿼리에서 고유 사용자의 정확한 수를 얻을 수 있습니다. 대화마다 임의의 사용자 ID가 생성되는 익명의 시나리오에서는 사용자 ID 필드가 덜 유용합니다.
쿼리의 테스트 대화에서 원격 분석 제외
봇은 테스트 중에 발생하는 Copilot Studio 대화를 포함하여 모든 대화에 대한 원격 분석을 기록합니다. 테스트 중에 수집된 원격 분석을 제외하려면 모든 이벤트에서 캡처되는 designMode
사용자 지정 차원으로 쿼리를 확장하고 쿼리에서 where 절을 사용할 수 있습니다.
다음 예는 테스트 캔버스를 통해 캡처된 이벤트를 제외한 모든 사용자 지정 이벤트를 보여줍니다.
customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"
사용자 지정 차원
Copilot Studio에서 받은 특정 활동 데이터의 대부분은 customDimensions
필드에 저장됩니다. 테스트 대화에서 원격 분석을 제외하기 위해 쿼리에서 사용되는 사용자 지정 차원 필드를 볼 수 있습니다.
필드 | Description | 샘플 값 |
---|---|---|
type | 활동의 유형 | message , conversationUpdate , event , invoke |
channelId | 채널 식별자 | emulator , directline , msteams , webchat |
fromId | 식별자에서 | <id> |
fromName | 클라이언트의 사용자 이름 | 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 |