Azure Communication Services 이메일 로그
Azure Communication Services는 Communication Services 솔루션을 모니터링하고 디버깅하는 데 사용할 수 있는 로깅 기능을 제공합니다. 이러한 기능은 Azure Portal을 통해 구성할 수 있습니다.
필수 조건
Azure Communications Services는 Azure Monitor 로그 개요 및 Azure Monitor 메트릭을 통해 모니터링 및 분석 기능을 제공합니다. 각 Azure 리소스에는 다음 기준을 정의하는 자체 진단 설정이 필요합니다.
- 설정에 정의된 대상으로 전송된 로그 및 메트릭 데이터의 범주입니다. 사용 가능한 범주는 리소스 종류에 따라 달라집니다.
- 로그를 보낼 하나 이상의 대상입니다. 현재 대상에는 Log Analytics 작업 영역, Event Hubs 및 Azure Storage가 포함됩니다.
- 단일 진단 설정으로 각 대상 중 하나만 정의할 수 있습니다. 데이터를 2개 이상의 특정 대상 유형(예: 두 개의 다른 Log Analytics 작업 영역)으로 보내려면 여러 개의 설정을 만듭니다. 각 리소스에는 최대 5개의 진단 설정이 있을 수 있습니다.
Important
설문 조사 데이터를 받아 분석하려면 Azure Monitor에서 진단 설정을 사용하도록 설정하여 설문 조사의 로그 데이터를 Log Analytics 작업 영역이나 Event Hubs 또는 Azure Storage 계정으로 보내야 합니다. 통화 자동화 데이터를 이러한 옵션 중 하나로 보내지 않으면 설문 조사 데이터가 저장되지 않고 손실됩니다. 다음은 Communications Services에 대한 로그 및 메트릭 만들기를 시작하기 위해 Azure Monitor 리소스를 구성하기 위한 지침입니다. 모든 Azure 리소스에서 진단 설정 사용에 대한 자세한 설명은 진단 설정에서 로깅 사용을 참조하세요.
참고 항목
진단 설정 이름에서 "이메일 서비스 전달 상태 업데이트 로그", "이메일 서비스 메일 보내기 로그", "이메일 서비스 사용자 참여 로그"를 선택하여 이메일 로그를 사용하도록 설정합니다.
리소스 로그 범주
Communication Services는 사용할 수 있는 다음 유형의 로그를 제공합니다.
- 사용량 로그 - 요금이 청구된 각 서비스 제품과 연결된 사용량 데이터를 제공합니다.
- Email 보내기 메일 작업 로그 - Email 서비스 보내기 메일 요청과 관련된 자세한 정보를 제공합니다.
- Email 상태 업데이트 작업 로그 - Email 서비스 보내기 메일 요청과 관련된 메시지 및 수신자 수준 배달 상태 업데이트를 제공합니다.
- Email User Engagement 운영 로그 - Email 서비스에서 보낸 메시지에 대한 '열기' 및 '클릭' 사용자 참여 메트릭과 관련된 정보를 제공합니다.
사용량 로그 스키마
속성 | 설명 |
---|---|
Timestamp |
로그가 생성된 시간의 타임스탬프(UTC)입니다. |
Operation Name |
로그 레코드와 연결된 작업입니다. |
Operation Version |
operationName이 API를 사용하여 수행된 경우 작업과 연결된 api-version 입니다. 이 작업에 해당하는 API가 없으면, 버전은 작업과 연결된 속성이 나중에 변경될 경우, 해당 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 이 범주는 특정 리소스에 대해 로그를 사용하거나 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 속성 Blob에 표시되는 속성은 특정 로그 범주 및 리소스 종류 내에서 동일합니다. |
Correlation ID |
상관 관계가 있는 이벤트의 ID입니다. 여러 테이블 간의 상관 관계가 지정된 이벤트를 식별하는 데 사용할 수 있습니다. |
Properties |
다양한 Communication Services 모드에 적용 가능한 기타 데이터입니다. |
Record ID |
지정된 사용량 레코드의 고유 ID입니다. |
Usage Type |
사용 모드입니다. (예: 채팅, PSTN, NAT 등) |
Unit Type |
지정된 사용 모드의 사용량 기준이 되는 단위 유형입니다 (예: 분, 메가바이트, 메시지 등). |
Quantity |
이 레코드에 사용된 단위 수입니다. |
Email 보내기 메일 작업 로그
이메일 메일 보내기 작업 로그는 시간이 지남에 따라 API 요청 추세에 대한 중요한 인사이트를 제공할 있습니다. 이 데이터는 전송된 총 이메일 수, 이메일 크기, 첨부 파일이 포함된 이메일 수와 같은 주요 이메일 분석을 검색하는 데 도움이 됩니다. 이 정보는 거의 실시간으로 빠르게 분석되고 사용자 친화적인 방식으로 시각화되어 더 나은 의사 결정을 내릴 수 있도록 해줍니다.
속성 | 설명 |
---|---|
TimeGenerated |
로그가 생성된 시간의 타임스탬프(UTC)입니다. |
Location |
작업이 처리된 지역입니다. |
OperationName |
로그 레코드와 연결된 작업입니다. |
OperationVersion |
operationName 이 API를 사용하여 수행된 경우 작업과 연결된 api-version 입니다. 이 작업에 해당하는 API가 없으면, 버전은 작업과 연결된 속성이 나중에 변경될 경우, 해당 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 이 범주는 특정 리소스에 대해 로그를 사용하거나 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 속성 Blob에 표시되는 속성은 특정 로그 범주 및 리소스 종류 내에서 동일합니다. |
CorrelationID |
상관 관계가 있는 이벤트의 ID입니다. 여러 테이블 간의 상관 관계가 지정된 이벤트를 식별하는 데 사용할 수 있습니다. 모든 Email 작업 로그의 경우 CorrelationId는 성공적인 SendMail 요청에서 반환되는 MessageId에 매핑됩니다. |
Size |
이메일 본문, 제목, 머리글 및 첨부 파일의 총 크기(MB)를 나타냅니다. |
ToRecipientsCount |
받는 사람 줄에 있는 고유 이메일 주소의 총 수입니다. |
CcRecipientsCount |
참조 줄에 있는 고유 이메일 주소의 총 수입니다. |
BccRecipientsCount |
숨은 참조 줄에 있는 고유 이메일 주소의 총 수입니다. |
UniqueRecipientsCount |
수신자, 참조 및 숨은 참조 주소 필드의 중복 제거된 총 수신자 수입니다. |
AttachmentsCount |
첨부 파일의 총 수입니다. |
TrafficSource |
이메일 요청이 시작된 클라이언트의 이름입니다. |
샘플
{
"OperationType":"SendMail",
"OperationCategory":"EmailSendMailOperational",
"Size":0.026019,
"ToRecipientsCount":2,
"CcRecipientsCount":3,
"BccRecipientsCount":1,
"UniqueRecipientsCount":6,
"AttachmentsCount":0,
"TrafficSource":"Email .NET SDK"
}
Email 상태 업데이트 운영 로그
Email 상태 업데이트 작업 로그는 sendmail API 요청에 대한 메시지 수준 및 받는 사람 수준 배달 상태 업데이트에 대한 심층적인 인사이트를 제공합니다.
- 메시지 수준 상태 업데이트는 장기 실행 전자 메일 보내기 작업의 상태를 제공합니다(GET API 호출을 통해 수신하는 상태 업데이트와 유사). 이러한 업데이트는 전체 메시지에 대한 것으로 해당 메시지 요청의 특정 받는 사람에게는 적용되지 않으므로
RecipientId
속성이 없는 것으로 표시됩니다.DeliveryStatus
속성에는 메시지 수준 배달 상태가 포함됩니다. 이 유형의 이벤트에 대한DeliveryStatus
(으)로 가능한 값은Dropped
,OutForDelivery
및Queued
입니다. - 받는 사람 수준 상태 업데이트는 전자 메일이 단일 메시지로 전송된 각 개별 받는 사람에 대한 전자 메일 배달 상태를 제공합니다. 여기에는 받는 사람의 이메일 주소가 있는
RecipientId
속성이 포함됩니다. 받는 사람 수준 배달 상태는DeliveryStatus
속성에 제공됩니다. 이 유형의 이벤트에 대한DeliveryStatus
(으)로 가능한 값은Delivered
,Expanded
,Failed
,Quarantined
,FilteredSpam
,Suppressed
및Bounced
입니다. 이러한 로그를 추적하여 이메일 전달 프로세스에 대한 완전한 가시성을 보장하고 발생할 수 있는 문제를 신속하게 식별하고 필요에 따라 정정 작업을 수행할 수 있습니다.
속성 | 설명 |
---|---|
TimeGenerated |
로그가 생성된 시간의 타임스탬프(UTC)입니다. |
Location |
작업이 처리된 지역입니다. |
OperationName |
로그 레코드와 연결된 작업입니다. |
OperationVersion |
operationName 이 API를 사용하여 수행된 경우 작업과 연결된 api-version 입니다. 이 작업에 해당하는 API가 없으면, 버전은 작업과 연결된 속성이 나중에 변경될 경우, 해당 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 이 범주는 특정 리소스에 대해 로그를 사용하거나 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 속성 Blob에 표시되는 속성은 특정 로그 범주 및 리소스 종류 내에서 동일합니다. |
CorrelationID |
상관 관계가 있는 이벤트의 ID입니다. 여러 테이블 간의 상관 관계가 지정된 이벤트를 식별하는 데 사용할 수 있습니다. 모든 Email 작업 로그의 경우 CorrelationId는 성공적인 SendMail 요청에서 반환되는 MessageId에 매핑됩니다. |
RecipientId |
대상 수신자의 이메일 주소입니다. 받는 사람 수준 이벤트에만 존재합니다. 메시지 수준 이벤트인 경우 속성은 비어 있습니다. |
DeliveryStatus |
메시지의 터미널 상태입니다. 메시지 수준 이벤트에 사용할 수 있는 값은 다음과 Dropped OutForDelivery Queued 같습니다. 받는 사람 수준 이벤트에 사용할 수 있는 값은 다음과 Delivered FilteredSpam Bounced Expanded Failed Quarantined Suppressed 같습니다. |
SmtpStatusCode |
메일 보내기 요청에 대한 응답으로 수신자 이메일 서버에서 반환된 SMTP 상태 코드입니다. |
EnhancedSmtpStatusCode |
수신자 이메일 서버에서 반환된 향상된 SMTP 상태 코드입니다. |
SenderDomain |
이메일을 보내는 데 사용되는 SenderAddress의 도메인 부분입니다. |
SenderUsername |
이메일을 보내는 데 사용되는 SenderAddress의 사용자 이름 부분입니다. |
IsHardBounce |
배달 실패가 영구적 또는 임시적 문제로 인한 것인지 여부를 의미합니다. IsHardBounce == true는 영구적인 사서함 문제로 인해 이메일이 배달되지 않음을 의미합니다. |
샘플
{
"OperationType":"DeliveryStatusUpdate",
"OperationCategory":"EmailStatusUpdateOperational",
"RecipientId":"user@email.com",
"DeliveryStatus":"Delivered",
"SenderDomain":"contoso.com",
"SenderUsername":"donotreply",
"IsHardBounce":false
}
Email User Engagement 작업 로그
이메일 사용자 참여 작업 로그는 이메일 시스템의 이메일 참여 추세에 대한 인사이트를 제공합니다. 이 데이터는 공개율, 클릭률 및 구독 취소율과 같은 주요 이메일 메트릭을 추적하고 분석하는 데 도움이 됩니다. 이러한 로그를 저장하고 분석할 수 있으므로 이메일 시스템의 성능에 대한 심층적인 인사이트를 얻고 그에 따라 전략을 조정할 수 있습니다. 전반적으로 이메일 사용자 참여 작업 로그는 이메일 시스템의 성능을 개선하고, 이메일 캠페인을 사전에 측정 및 최적화하고, 시간이 지남에 따라 사용자 참여를 개선하기 위한 강력한 도구를 제공합니다.
속성 | 설명 |
---|---|
TimeGenerated |
로그가 생성된 시간의 타임스탬프(UTC)입니다. |
Location |
작업이 처리된 지역입니다. |
OperationName |
로그 레코드와 연결된 작업입니다. |
OperationVersion |
operationName 이 API를 사용하여 수행된 경우 작업과 연결된 api-version 입니다. 이 작업에 해당하는 API가 없으면, 버전은 작업과 연결된 속성이 나중에 변경될 경우, 해당 작업의 버전을 나타냅니다. |
Category |
이벤트의 로그 범주입니다. 이 범주는 특정 리소스에 대해 로그를 사용하거나 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 속성 Blob에 표시되는 속성은 특정 로그 범주 및 리소스 종류 내에서 동일합니다. |
CorrelationID |
상관 관계가 있는 이벤트의 ID입니다. 여러 테이블 간의 상관 관계가 지정된 이벤트를 식별하는 데 사용할 수 있습니다. 모든 Email 작업 로그의 경우 CorrelationId는 성공적인 SendMail 요청에서 반환되는 MessageId에 매핑됩니다. |
RecipientId |
대상 수신자의 이메일 주소입니다. 메시지 수준 이벤트인 경우 속성은 비어 있습니다. |
EngagementType |
추적할 사용자 참여 유형입니다. |
EngagementContext |
컨텍스트는 사용자가 상호 작용한 내용을 나타냅니다. |
UserAgent |
클라이언트의 사용자 에이전트 문자열입니다. |
샘플
{
"OperationType": "UserEngagementUpdate",
"OperationCategory": "EmailUserEngagementOperational",
"EngagementType": "View",
"UserAgent": "Mozilla/5.0"
}
{
"OperationType":"UserEngagementUpdate",
"OperationCategory":"EmailUserEngagementOperational",
"EngagementType":"Click",
"EngagementContext":"https://www.contoso.com/support?id=12345",
"UserAgent":"Mozilla/5.0"
}