Azure Communication Services 통화 자동화 로그
Azure Communication Services는 Communication Services 솔루션을 모니터링하고 디버깅하는 데 사용할 수 있는 로깅 기능을 제공합니다. 이러한 기능은 Azure Portal을 통해 구성합니다.
필수 조건
Azure Communications Services는 Azure Monitor 로그 및 Azure Monitor 메트릭을 통해 모니터링 및 분석 기능을 제공합니다. 각 Azure 리소스에는 다음 기준을 정의하는 자체 진단 설정이 필요합니다.
설정이 정의하는 대상으로 전송되는 로그 및 메트릭 데이터의 범주입니다. 사용 가능한 형식은 리소스 종류에 따라 다릅니다.
로그를 보낼 하나 이상의 대상입니다. 현재 대상에는 Log Analytics 작업 영역, Azure Event Hubs 및 Azure Storage가 포함됩니다.
단일 진단 설정은 각 대상 유형 중 하나만 정의할 수 있습니다. 데이터를 2개 이상의 대상 유형(예: 두 개의 Log Analytics 작업 영역)으로 보내려면 여러 개의 설정을 만듭니다. 각 리소스에는 최대 5개의 진단 설정이 있을 수 있습니다.
Important
설문 조사 데이터를 받고 분석하려면 Azure Monitor에서 진단 설정을 사용하도록 설정하여 설문 조사의 로그 데이터를 Log Analytics 작업 영역, 이벤트 허브 또는 Azure Storage 계정으로 보내야 합니다. 이러한 옵션 중 하나에 통화 자동화 데이터를 보내지 않으면 설문 조사 데이터가 저장되지 않고 손실됩니다.
다음은 Communications Services 인스턴스에 대한 로그 및 메트릭 만들기를 시작하도록 Azure Monitor 리소스를 구성하기 위한 지침입니다. 모든 Azure 리소스에서 진단 설정 사용에 대한 자세한 설명은 진단 설정에서 로깅 사용을 참조하세요.
진단 설정 이름 아래에서 통화 자동화에 대한 로그를 사용하도록 설정하려면 작업 통화 자동화 로그와 통화 자동화 이벤트 요약 로그를 선택합니다.
리소스 로그 범주
Communication Services는 사용할 수 있는 다음 유형의 로그를 제공합니다.
- 사용량 로그: 요금이 청구된 각 서비스 제품과 연결된 사용량 데이터를 제공합니다.
- 통화 자동화 운영 로그: 통화 자동화 API 요청에 대한 운영 정보를 제공합니다. 이러한 로그를 사용하여 오류 지점을 식별하고 호출에서 이루어진 모든 요청을 쿼리할 수 있습니다(상관 관계 ID 또는 서버 호출 ID 사용).
- 통화 자동화 미디어 요약 로그: 미디어 작업의 결과에 대한 정보를 제공합니다. 이러한 로그는 통화 자동화 API를 사용하여 미디어 요청을 수행할 때 비동기적으로 제공됩니다. 이러한 로그를 사용하여 사용자가 애플리케이션과 상호 작용하는 방법에 대한 오류 지점 및 가능한 패턴을 식별할 수 있습니다.
사용 현황 로그 스키마
속성 | 설명 |
---|---|
Timestamp |
로그가 생성된 시점의 타임스탬프(UTC)입니다. |
OperationName |
로그 레코드와 연결된 작업입니다. |
OperationVersion |
OperationName 작업이 API를 통해 수행된 경우 작업과 연결된 api-version 값입니다. 이 작업에 해당하는 API가 없으면 나중에 작업과 관련된 속성이 변경될 경우 버전이 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 범주는 리소스에 대한 로그를 사용 또는 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 properties Blob 내에 나타나는 속성은 로그 범주 및 리소스 종류 내에서 동일합니다. |
CorrelationID |
상관 관계가 있는 이벤트의 ID입니다. 이 속성을 사용하여 여러 테이블 간의 상관 관계가 있는 이벤트를 식별할 수 있습니다. |
Properties |
다양한 Communication Services 모드에 적용할 수 있는 기타 데이터입니다. |
RecordID |
사용량 레코드에 대한 고유 ID입니다. |
UsageType |
사용량 모드(예: 채팅, PSTN, NAT)입니다. |
UnitType |
사용량의 기준이 되는 단위 유형(예: 분, 메가바이트 또는 메시지 수)입니다. |
Quantity |
이 레코드에 사용된 단위 수입니다. |
자동화 운영 로그 호출
속성 | 설명 |
---|---|
TimeGenerated |
로그가 생성된 시점의 타임스탬프(UTC)입니다. |
OperationName |
로그 레코드와 연결된 작업입니다. |
CorrelationID |
호출을 식별하고 고유한 호출에 대한 이벤트를 상호 연결하는 식별자입니다. |
OperationVersion |
operationName 작업이 API를 통해 수행된 경우 작업과 연결된 api-version 버전입니다. 이 작업에 해당하는 API가 없으면 나중에 작업과 관련된 속성이 변경될 경우 버전이 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 범주는 리소스에 대한 로그를 사용 또는 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 properties Blob 내에 나타나는 속성은 로그 범주 및 리소스 종류 내에서 동일합니다. |
ResultType |
작업의 상태입니다. |
ResultSignature |
작업의 하위 상태입니다. 이 작업이 REST API 호출에 해당하는 경우 이 필드는 해당 REST 호출의 HTTP 상태 코드입니다. |
DurationMs |
밀리초 단위의 작업 기간입니다. |
CallerIpAddress |
작업이 공용 IP 주소를 사용하는 엔터티에서 시작되는 API 호출에 해당하는 경우 호출자 IP 주소입니다. |
Level |
이벤트의 심각도 수준입니다. |
URI |
요청의 URI입니다. |
CallConnectionId |
사용 가능한 경우 호출 연결을 나타내는 ID입니다. 이 ID는 참가자마다 다르며 통화에 대한 연결을 식별하는 데 사용됩니다. |
ServerCallId |
사용자를 식별하는 고유 ID입니다. |
SDKVersion |
요청에 사용되는 SDK 버전입니다. |
SDKType |
요청에 사용되는 SDK 유형입니다. |
SubOperationName |
미디어 작업의 하위 유형(재생, 인식)을 식별하는 데 사용되는 이름입니다. |
operationID |
비동기 이벤트의 상관 관계를 지정하는 데 사용되는 ID입니다. |
다음은 통화 자동화 운영 로그의 예입니다.
[
{
"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
"Level": "Informational",
"CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"OperationName": "Play",
"OperationVersion": "3/6/23",
"URI": "ccts-media-synthetics-prod.communication.azure.com",
"ResultType": "Succeeded",
"ResultSignature": "202",
"DurationMs": "82",
"CallerIpAddress": "40.88.50.228",
"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
"ServerCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEyLTAxLmNvbnYuc2t5cGUuY29tL2NvbnYvZzRoWlVoS1ZEVUtma19HenRDZ1JTQT9pPTEyJmU9NjM4MjA1NDc4MDg5MzEzMjIz",
"SdkVersion": "",
"SdkType": "unknown",
"SubOperationName": "File",
"OperationId": "5fab0875-3211-4879-8051-c688d0854c4d",
}
통화 자동화 미디어 요약 로그
속성 | 설명 |
---|---|
TimeGenerated |
이벤트의 타임스탬프(UTC)입니다. |
level |
이벤트의 심각도 수준입니다. Informational , Warning , Error 또는 Critical 중 하나여야 합니다. |
resourceId |
이벤트를 내보낸 리소스의 리소스 ID입니다. |
durationMs |
밀리초 단위의 작업 기간입니다. |
callerIpAddress |
|
correlationId |
Skype 체인 ID입니다. |
operationName |
이 이벤트가 나타내는 작업의 이름입니다. |
operationVersion |
|
resultType |
이벤트의 상태입니다. 일반적인 값은 Completed , Canceled 및 Failed 입니다. |
resultSignature |
작업의 하위 상태입니다. 이 작업이 REST API 호출에 해당하는 경우 이 필드는 해당 REST 호출의 HTTP 상태 코드입니다. |
operationId |
비동기 이벤트의 상관 관계를 지정하는 데 사용되는 작업 ID입니다. |
recognizePromptSubOperationName |
작업의 하위 형식입니다. 가능한 값으로는 File , TextToSpeech 및 SSML 이 포함됩니다. |
playInLoop |
재생 작업에 대해 루프가 요청된 경우 True 입니다. 그렇지 않으면 False 입니다. |
playToParticipant |
재생 작업에 대상이 있는 경우 True 입니다. 모두 재생 작업이었다면 False 입니다. |
interrupted |
프롬프트가 중단되면 True 입니다. 그렇지 않으면 False 입니다. |
resultCode |
작업의 결과 코드입니다. |
resultSubcode |
작업의 결과 하위 코드입니다. |
resultMessage |
작업의 결과 메시지입니다. |
다음은 통화 자동화 미디어 요약 로그의 예입니다.
[
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"Level": "Informational",
"CorrelationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"ResultType": "Completed",
"OperationName": "Play",
"OperationId": "7bef24d5-eb95-4ee6-bbab-0b7d45d91288",
"PlayInLoop": "FALSE",
"PlayToParticipant": "TRUE",
"PlayInterrupted": "FALSE",
"RecognizePromptSubOperationName": "",
"ResultCode": "200",
"ResultSubcode": "0",
"ResultMessage": "Action completed successfully."
}
다음 단계
- 통화 자동화 로그 및 메트릭을 모니터링하는 인사이트 대시보드에 대해 알아보세요.