Azure Communication Services のメール ログ

Azure Communication Services には、Communication Services ソリューションの監視とデバッグに使用できるログ機能が用意されています。 これらの機能は、Azure portal で構成することができます。

前提条件

Azure Communication Services では、Azure Monitor ログの概要Azure Monitor メトリックを介して、監視と分析の機能を提供しています。 各 Azure リソースには、次の条件を定義する独自の診断設定が必要です。

  • 設定で定義されている送信先に送信されるログとメトリック データのカテゴリ。 使用できるカテゴリは、リソースの種類によって異なります。
  • ログを送信する 1 つ以上の送信先。 現在の送信先には、Log Analytics ワークスペース、Event Hubs、Azure Storage が含まれます。
  • 1 つの診断設定では、各宛先を 1 つだけ定義することができます。 特定の種類の複数の送信先 (たとえば、2 つの異なる Log Analytics ワークスペース) にデータを送信する場合は、複数の設定を作成します。 各リソースには、最大 5 つの診断設定を作成できます。

重要

アンケート データを受信して分析するには、Azure Monitor で [診断設定] を有効にして、アンケートのログ データを Log Analytics ワークスペース、Event Hubs、または Azure ストレージ アカウントに送信する必要があります。 これらのオプションのいずれかに通話オートメーション データを送信しない場合、アンケート データは保存されず、失われます。Communications Services のログとメトリックの作成を開始するように Azure Monitor リソースを構成する手順について、次で説明します。 すべての Azure リソースで診断設定を使用する方法の詳細については、診断設定のログ記録の有効化に関する記事を参照してください

Note

メールのログを有効にするには、[診断設定の名前] で、[メール サービスの配信状態の更新ログ]、[メール サービスのメール ログの送信]、[メール サービスのユーザー エンゲージメント ログ] を選択してください

メールの診断設定のスクリーンショット。

リソース ログのカテゴリ

Communication Services には、有効にできる次のログが用意されています。

  • 利用状況ログ - 課金の対象となる各サービス内容に関連付けられた利用状況データを提供します。
  • メール送信操作ログ - メール サービスのメール送信要求に関連する詳細情報を提供します。
  • メール状態更新操作ログ - メール サービス送信メール要求に関連するメッセージと受信者レベルの配信状態の更新を提供します。
  • メール ユーザー エンゲージメントの操作ログ - サービスから送信されたメッセージの "開く" と "クリック" のユーザー エンゲージメント メトリックに関連する情報を提供します。

利用状況ログのスキーマ

プロパティ 説明
Timestamp ログが生成された時刻のタイムスタンプ (UTC)。
Operation Name ログ レコードに関連付けられている操作。
Operation Version API を使用して operationName が実行された場合は、操作に関連付けられている api-version。 この操作に対応する API がない場合、その操作に関連付けられているプロパティが今後変更される場合に備えて、バージョンはその操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、特定のリソースのログを有効または無効にできるものに細分化されます。 イベントのプロパティ BLOB 内に表示されるプロパティは、特定のログ カテゴリとリソースの種類内のものと同じです。
Correlation ID 相関性があるイベントの ID。 複数のテーブル間で相関性のあるイベントを特定する際に使用できます。
Properties Communication Services の各種モードに該当するその他のデータ。
Record ID 特定の利用状況レコードの一意の ID。
Usage Type 使用モード (チャット、PSTN、NAT など)。
Unit Type 特定の使用モードに関する使用量の基準となる単位の種類 (分、メガバイト、メッセージ数など)。
Quantity そのレコードに関して使用または消費された単位の数。

メール送信操作ログ

"メール送信操作ログ" は、時間の経過に伴う API 要求の傾向に関する貴重な分析情報を示します。 このデータを使うと、送信されたメールの合計数、メール サイズ、添付ファイルを含む電子メールの数など、重要なメール分析を検出できます。 この情報は、ほぼリアルタイムで迅速に分析されるとともにユーザーフレンドリな方法で視覚化されて、より的確な意思決定に役立ちます。

プロパティ 説明
TimeGenerated ログが生成された時刻のタイムスタンプ (UTC)。
Location 操作が処理されたリージョン。
OperationName ログ レコードに関連付けられている操作。
OperationVersion API を使用して operationName が実行された場合は、その操作に関連付けられている api-version。 この操作に対応する API がない場合、その操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンはその操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、特定のリソースのログを有効または無効にできるものに細分化されます。 イベントのプロパティ BLOB 内に表示されるプロパティは、特定のログ カテゴリとリソースの種類内のものと同じです。
CorrelationID 相関性があるイベントの ID。 複数のテーブル間で相関性のあるイベントを特定する際に使用できます。 すべてのメール操作ログに対して、CorrelationId は、MessageId にマップされ、成功した SendMail 要求から返されます。
Size メール本文、件名、ヘッダー、添付ファイルの合計サイズをメガバイト単位で表します。
ToRecipientsCount [To] 行の一意のメール アドレスの合計数。
CcRecipientsCount [Cc] 行の一意のメール アドレスの合計数。
BccRecipientsCount [Bcc] 行の一意のメール アドレスの合計数。
UniqueRecipientsCount これは、宛先、CC、BCC のアドレス フィールドでの重複分を除いた受信者の合計数です。
AttachmentsCount 添付ファイルの合計数。
TrafficSource メール要求の送信元クライアントの名前。

サンプル

{
  "OperationType":"SendMail", 
  "OperationCategory":"EmailSendMailOperational",
  "Size":0.026019,
  "ToRecipientsCount":2,
  "CcRecipientsCount":3, 
  "BccRecipientsCount":1, 
  "UniqueRecipientsCount":6, 
  "AttachmentsCount":0,
  "TrafficSource":"Email .NET SDK"
}

メールの状態の更新操作ログ

"メールの状態の更新操作ログ" は、sendmail API 要求のメッセージ レベルと受信者レベルの配信状態の更新に関する詳細な分析情報を示します。

  • メッセージ レベルの状態の更新では、実行時間の長いメール送信操作の状態が提供されます (GET API の呼び出しを通じて受信する状態の更新と同様)。 これらの更新はメッセージ全体を対象としており、そのメッセージ要求の特定の受信者には適用できないため、RecipientId プロパティが存在しないことでマークされます。 DeliveryStatus プロパティには、メッセージ レベルの配信状態が含まれています。 この種類のイベント場合、DeliveryStatus に使用可能な値は、DroppedOutForDelivery、および Queued です。
  • 受信者レベルの状態の更新では、1 つのメッセージでメールが送信された各受信者のメール配信の状態が提供されます。 これには、受信者のメール アドレスを含む RecipientId プロパティが含まれます。 受信者レベルの配信状態は、DeliveryStatus プロパティで提供されます。 この種類のイベント場合、DeliveryStatus に使用可能な値は、DeliveredExpandedFailedQuarantinedFilteredSpamSuppressed、および Bounced です。 これらのログを追跡すると、メール配信プロセスの完全な可視化を確実に行うことができるため、発生する可能性のある問題をすばやく特定し、必要に応じて是正措置を取ることができます。
プロパティ 説明
TimeGenerated ログが生成された時刻のタイムスタンプ (UTC)。
Location 操作が処理されたリージョン。
OperationName ログ レコードに関連付けられている操作。
OperationVersion API を使用して operationName が実行された場合は、その操作に関連付けられている api-version。 この操作に対応する API がない場合、その操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンはその操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、特定のリソースのログを有効または無効にできるものに細分化されます。 イベントのプロパティ BLOB 内に表示されるプロパティは、特定のログ カテゴリとリソースの種類内のものと同じです。
CorrelationID 相関性があるイベントの ID。 複数のテーブル間で相関性のあるイベントを特定する際に使用できます。 すべてのメール操作ログに対して、CorrelationId は、MessageId にマップされ、成功した SendMail 要求から返されます。
RecipientId 対象の受信者のメール アドレス。 これは受信者レベルのイベントにのみ存在します。 これがメッセージ レベルのイベントの場合、プロパティは空になります。
DeliveryStatus メッセージのターミナルの状態。 メッセージ レベルのイベントの場合に使用可能な値は、DroppedOutForDeliveryQueued です。 受信者レベルのイベントの場合に使用可能な値は、DeliveredExpandedFailedQuarantinedFilteredSpamSuppressedBounced です。
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
}

User Engagement の操作ログをメールで送信する

"User Engagement の操作ログをメールで送信する" は、メール システムのメール エンゲージメントの傾向に関する分析情報を示します。 このデータを使うと、開封率、クリックスルー率、購読解除率など、重要なメール メトリックを追跡して分析できます。 これらのログは、保存と分析が可能です。これにより、メール システムのパフォーマンスに関するより詳細な分析情報を得るとともに、それに応じて戦略を調整することができます。 全体として、"User Engagement の操作ログをメールで送信する" は、メール システムのパフォーマンスを向上させ、メール キャンペーンを事前に測定して最適化し、時間の経過と共にユーザー エンゲージメントを向上させる強力なツールとなります。

プロパティ 説明
TimeGenerated ログが生成された時刻のタイムスタンプ (UTC)。
Location 操作が処理されたリージョン。
OperationName ログ レコードに関連付けられている操作。
OperationVersion API を使用して operationName が実行された場合は、その操作に関連付けられている api-version。 この操作に対応する API がない場合、その操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンはその操作のバージョンを表します。
Category イベントのログ カテゴリ。 カテゴリは、特定のリソースのログを有効または無効にできるものに細分化されます。 イベントのプロパティ BLOB 内に表示されるプロパティは、特定のログ カテゴリとリソースの種類内のものと同じです。
CorrelationID 相関性があるイベントの ID。 複数のテーブル間で相関性のあるイベントを特定する際に使用できます。 すべてのメール操作ログに対して、CorrelationId は、MessageId にマップされ、成功した SendMail 要求から返されます。
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"
}