Azure Communication Services SMS 로그

Azure Communication Services는 Communication Services 솔루션을 모니터링하고 디버깅하는 데 사용할 수 있는 로깅 기능을 제공합니다. 이러한 기능은 Azure Portal을 통해 구성할 수 있습니다.

Important

다음은 Azure Monitor를 통해 사용하도록 설정된 로그를 참조합니다(FAQ 참조). Communications Services에 이러한 로그를 사용하도록 설정하려면 진단 설정에서 로깅 사용을 참조하세요.

필수 구성 요소

Azure Communications Services는 Azure Monitor 로그 개요Azure Monitor 메트릭을 통해 모니터링 및 분석 기능을 제공합니다. 각 Azure 리소스에는 다음 기준을 정의하는 자체 진단 설정이 필요합니다.

  • 설정에 정의된 대상으로 전송된 로그 및 메트릭 데이터의 범주입니다. 사용 가능한 범주는 리소스 종류에 따라 달라집니다.
  • 로그를 보낼 하나 이상의 대상입니다. 현재 대상에는 Log Analytics 작업 영역, Event Hubs 및 Azure Storage가 포함됩니다.
  • 단일 진단 설정으로 각 대상 중 하나만 정의할 수 있습니다. 데이터를 2개 이상의 특정 대상 유형(예: 두 개의 다른 Log Analytics 작업 영역)으로 보내려면 여러 개의 설정을 만듭니다. 각 리소스에는 최대 5개의 진단 설정이 있을 수 있습니다.

다음은 Communications Services에 대한 로그 및 메트릭 만들기를 시작하도록 Azure Monitor 리소스를 구성하기 위한 지침입니다. 모든 Azure 리소스에서 진단 설정 사용에 대한 자세한 설명은 진단 설정에서 로깅 사용을 참조하세요.

참고 항목

진단 설정 이름 아래에서 “SMS 작동”을 선택하여 SMS에 대한 로그를 사용하도록 설정합니다.

개요

SMS 운영 로그는 SMS API 요청에 대한 인사이트를 제공하는 이벤트 및 활동의 레코드입니다. 성공적으로 배달, 차단 또는 전송 실패 여부에 대한 메시지 상태에 대한 세부 정보를 포함하여 SMS 기본 형식의 성능 및 기능에 대한 세부 정보를 캡처했습니다. SMS 운영 로그에는 추세 및 패턴을 식별하고, 실패한 메시지 배달과 같은 성능에 영향을 줄 수 있는 문제를 해결하거나, 문제를 제공하는 데 도움이 되는 정보가 포함되어 있습니다. 로그에는 다음 세부 정보가 포함됩니다.

  • 전송된 메시지
  • 수신된 메시지
  • 배달된 메시지
  • 옵트인 및 옵트아웃된 메시지

리소스 로그 범주

Communication Services는 사용할 수 있는 다음 유형의 로그를 제공합니다.

  • 사용량 로그 - 요금이 청구된 각 서비스 제품과 연결된 사용량 데이터를 제공합니다.
  • SMS 작업 로그 - SMS 서비스와 관련된 기본 정보를 제공합니다.

사용량 로그 스키마

속성 설명
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 이 레코드에 사용된 단위 수입니다.

SMS 작업 로그

속성 설명
TimeGenerated 로그가 생성된 시간의 타임스탬프(UTC)입니다.
OperationName 로그 레코드와 연결된 작업입니다.
CorrelationID 상관 관계가 있는 이벤트의 ID입니다. 여러 테이블 간의 상관 관계가 지정된 이벤트를 식별하는 데 사용할 수 있습니다.
OperationVersion operationName이 API를 사용하여 수행된 경우 작업과 연결된 api-version입니다. 이 작업에 해당하는 API가 없으면, 버전은 작업과 연결된 속성이 나중에 변경될 경우, 해당 작업의 버전을 나타냅니다.
Category 이벤트의 로그 범주입니다. 범주는 특정 리소스에 대해 로그를 사용하거나 사용하지 않도록 설정할 수 있는 세분성입니다. 이벤트의 속성 Blob에 표시되는 속성은 특정 로그 범주 및 리소스 종류 내에서 동일합니다.
ResultType 작업의 상태입니다.
ResultSignature 작업의 하위 상태입니다. 이 작업이 REST API 호출에 해당하는 경우 이 필드는 해당 REST 호출의 HTTP 상태 코드입니다.
ResultDescription 이 작업에 대한 정적 텍스트 설명입니다.
DurationMs 밀리초 단위의 작업 기간입니다.
CallerIpAddress 작업이 공용 IP 주소를 사용하는 엔터티에서 시작되는 API 호출에 해당하는 경우 호출자 IP 주소입니다.
Level 이벤트의 심각도 수준입니다.
URI 요청의 URI입니다.
OutgoingMessageLength 보내는 메시지의 문자 수입니다.
IncomingMessageLength 들어오는 메시지의 문자 수입니다.
DeliveryAttempts 이 메시지를 보내려고 시도한 횟수입니다.
PhoneNumber SMS 메시지를 전송하는 전화 번호입니다.
SdkType 요청에 사용되는 SDK 유형입니다.
PlatformType 요청에 사용되는 플랫폼 유형입니다.
Method 요청에 사용되는 메서드입니다.
NumberType SMS 메시지를 보내는 번호의 유형입니다. LongCodeNumber 또는 ShortCodeNumber 또는 DynamicAlphaSenderID일 수 있습니다.
MessageID 보내는 메시지와 들어오는 모든 메시지에 대해 생성된 고유한 messageId를 나타냅니다. SMS API 응답 개체에서 찾을 수 있습니다.
Country SMS 메시지가 전송되거나 수신된 국가/지역을 나타냅니다.

SMS 전송 로그 예제


    [
      {
        "TimeGenerated": "2022-09-26T15:58:30.100Z",
        "OperationName": "SMSMessagesSent",
        "CorrelationId": "dDRmubfpNZZZZZnxBtw3Q.0",
        "OperationVersion": "2020-07-20-preview1",
        "Category":"SMSOperational",
        "ResultType": "Succeeded",
        "ResultSignature": 202,
        "DurationMs": 130,
        "CallerIpAddress": "127.0.0.1",
        "Level": "Informational",
        "URI": "https://sms-e2e-prod.communication.azure.com/sms?api-version=2020-07-20-preview1",
        "OutgoingMessageLength": 151,
        "IncomingMessageLength": 0,
        "DeliveryAttempts": 0,
        "PhoneNumber": "+18445791704",
        "NumberType": "LongCodeNumber",
        "SdkType": "azsdk-net-Communication.Sms",
        "PlatformType": "Microsoft Windows 10.0.17763",
        "Method": "POST",
        "MessageId": "Outgoing_20230118181300ff00e5c9-876d-4958-86e3-4637484fe5bd_noam",
        "Country": "US"
      }
    ]

SMS 배달 보고서 로그 예제


    [
      {
        "TimeGenerated": "2022-09-26T15:58:30.200Z",
        "OperationName": "SMSDeliveryReportsReceived",
        "CorrelationId": "tl8WpUTESTSTSTccYadXJm.0",
        "Category":"SMSOperational",
        "ResultType": "Succeeded",
        "ResultSignature": 200,
        "DurationMs": 130,
        "CallerIpAddress": "127.0.0.1",
        "Level": "Informational",
        "URI": "https://global.smsgw.prod.communication.microsoft.com/rtc/telephony/sms/DeliveryReport",
        "OutgoingMessageLength": 0,
        "IncomingMessageLength": 0,
        "DeliveryAttempts": 1,
        "PhoneNumber": "+18445791704",
        "NumberType": "LongCodeNumber",
        "SdkType": "",
        "PlatformType": "",
        "Method": "POST",
        "MessageId": "Outgoing_20230118181300ff00e5c9-876d-4958-86e3-4637484fe5bd_noam",
        "Country": "US"
      }
    ]

SMS 수신 로그 예제


    [
      {
        "TimeGenerated": "2022-09-27T15:58:30.200Z",
        "OperationName": "SMSMessagesReceived",
        "CorrelationId": "e2KFTSTSTI/5PTx4ZZB.0",
        "Category":"SMSOperational",
        "ResultType": "Succeeded",
        "ResultSignature": 200,
        "DurationMs": 130,
        "CallerIpAddress": "127.0.0.1",
        "Level": "Informational",
        "URI": "https://global.smsgw.prod.communication.microsoft.com/rtc/telephony/sms/inbound",
        "OutgoingMessageLength": 0,
        "IncomingMessageLength": 110,
        "DeliveryAttempts": 0,
        "PhoneNumber": "+18445791704",
        "NumberType": "LongCodeNumber",
        "SdkType": "",
        "PlatformType": "",
        "Method": "POST",
        "MessageId": "Incoming_2023011818121211c6ee31-63fe-477c-8d51-f800543c6694",
        "Country": "US"
      }
    ]

(FAQ도 참조)