Azure Communication Services には、Communication Services ソリューションの監視とデバッグに使用できるログ機能が用意されています。 これらの機能は、Azure portal を使用して構成します。
前提条件
Azure Communication Services には、Azure Monitor ログ と Azure Monitor メトリック を介した監視と分析の機能が提供されます。 各 Azure リソースには、次の条件を定義する独自の診断設定が必要です。
設定が定義する宛先に送信されるログデータとメトリック データのカテゴリ。 使用可能なカテゴリは、リソースの種類によって異なります。
ログを送信する 1 つ以上の送信先。 現在の宛先には、Log Analytics ワークスペース、Azure Event Hubs、Azure Storage が含まれます。
1 つの診断設定では、各送信先を 1 つ以上定義できません。 複数の宛先の種類 (たとえば、2 つの Log Analytics ワークスペース) にデータを送信する場合は、複数の設定を作成します。 各リソースには、最大 5 つの診断設定を作成できます。
重要
アンケート データを受信して分析するには、Azure Monitor で診断設定を有効にして、アンケートのログ データを Log Analytics ワークスペース、イベント ハブ、または Azure ストレージ アカウントに送信する必要があります。 これらのオプションのいずれかに Call Automation データを送信しない場合、アンケート データは保存されず、失われます。
次の手順では、Communication Services インスタンスのログとメトリックの作成を開始するように Azure Monitor リソースを構成します。 すべての Azure リソースで診断設定を使用する方法の詳細については、「診断設定のログ記録を有効にする」を参照してください。
診断設定名の下で、次を選択して、Call Automation のログを有効にします。
- 操作呼び出しの自動化ログ
- Automation イベントの概要ログを呼び出す
- Call Automation Media Streaming 機能の使用状況情報ログ
リソース ログのカテゴリ
Communication Services には、有効にできる次のログが用意されています。
- 使用状況ログ: 課金される各サービス オファリングに関連付けられている使用状況データを提供します。
- コール オートメーション操作ログ: Call Automation API 要求に関する操作情報を提供します。 これらのログを使用して、障害ポイントを識別し、呼び出しで行われたすべての要求に対してクエリを実行できます (関連付け ID またはサーバー呼び出し ID を使用)。
- Call Automation メディア要約ログ: メディア操作の結果に関する情報を提供します。 これらのログは、Call Automation API を使用してメディア要求を行うときに非同期的に送信されます。 これらのログを使用して、ユーザーがアプリケーションと対話する方法に関する障害ポイントと考えられるパターンを特定できます。
- Call Automation Media Streaming 機能の使用状況情報ログ: メディア ストリーミングや文字起こしなどのリアルタイム ストリーミング機能に関する使用状況情報を提供します。 これらのログは、リアルタイム ストリーミングが停止または完了したときに非同期的に表示されます。 これらのログを使用すると、リアルタイム ストリーミングが有効になっている通話、混合されていないストリーミング ケースでストリーミングされている参加者、ストリーミング開始時刻、期間、およびアプリケーションで使用されている可能性のあるストリーミング傾向を特定するのに役立ちます。
使用状況ログ スキーマ
プロパティ | 説明 |
---|---|
Timestamp |
ログが生成された時刻のタイム スタンプ (UTC)。 |
OperationName |
ログ レコードに関連付けられている操作。 |
OperationVersion |
api-version 操作が API を介して実行された場合に、操作に関連付けられた OperationName 値。 この操作に対応する API がない場合、操作に関連付けられているプロパティが将来変更された場合に備えて、バージョンは操作のバージョンを表します。 |
Category |
イベントのログ カテゴリ。 カテゴリは、リソースのログを有効または無効にできる細分性です。 イベントの properties BLOB 内に表示されるプロパティは、ログ カテゴリとリソースの種類内で同じです。 |
CorrelationID |
相関性があるイベントの ID。 これを使用して、複数のテーブル間の相関イベントを識別できます。 |
Properties |
Communication Services のさまざまなモードに適用されるその他のデータ。 |
RecordID |
使用状況レコードの一意の ID。 |
UsageType |
使用モード (例えば、チャット、PSTN、NAT など)。 |
UnitType |
使用モードに基づく単位の種類 (例えば、分、メガバイト、メッセージなど)。 |
Quantity |
そのレコードに関して使用または消費された単位の数。 |
Call Automation の操作ログ
プロパティ | 説明 |
---|---|
TimeGenerated |
ログが生成された時刻のタイム スタンプ (UTC)。 |
OperationName |
ログ レコードに関連付けられている操作。 |
CorrelationID |
通話のイベントを関連付けるために使用される識別子。 この識別子は、参加者が通話に参加または退出するなどのイベントに応じて、通話中に変更される場合があります。 完全に安定した通話識別子については、CallConnectionId を使用することを検討してください。 |
OperationVersion |
api-version 操作が API を介して実行された場合、操作に関連付けられている operationName バージョン。 この操作に対応する 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。 |
Call Automation 操作ログの例を次に示します:
{
"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",
}
Call Automation メディアの概要ログ
プロパティ | 説明 |
---|---|
TimeGenerated |
イベントのタイム スタンプ (UTC)。 |
level |
イベントの重大度レベル。
Informational 、 Warning 、 Error 、または Critical のいずれかである必要があります。 |
resourceId |
イベントを生成したリソースの ID。 |
durationMs |
操作時間 (ミリ秒)。 |
callerIpAddress |
|
correlationId |
Call Automation を使用して作成された関連付け要求を識別します。 |
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 |
操作の結果メッセージ。 |
Call Automation メディアの概要ログの例を次に示します:
{
"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."
}
Call Automation Media Streaming 機能の使用状況情報ログ
プロパティ | 説明 |
---|---|
TimeGenerated |
イベントのタイム スタンプ (UTC)。 |
CorrelationId |
Call Automation を使用して作成された関連付け要求を識別します。 |
CallConnectionId |
呼び出し接続を表す ID (使用可能な場合)。 この ID は参加者ごとに異なり、通話への接続を識別するために使用されます。 |
StreamingModality |
このイベントが表すリアルタイム ストリーミングの種類には、AudioStreamingUnmixed、AudioStreamingMixed、文字起こしなどがあります。 |
StreamingStartTime |
リアルタイム ストリーミング セッションが開始されたタイム スタンプ (UTC)。 |
StreamingDurationInMs |
リアルタイム ストリーミング セッションの期間 (ミリ秒単位)。 |
StreamingSessionId |
特定の呼び出しにおけるリアルタイム ストリーミングの単一のモダリティの開始から終了までの時間として定義される、各リアルタイム ストリーミング セッションの一意の識別子。 |
ParticipantId |
ストリーミングがStreamingSessionId で開始され、StreamingStartTime の間続いたStreamingDurationInMs に識別されるストリーミングセッションに参加した各参加者の一意の識別子。 これは、 StreamingModality AudioStreamingUnmixed と文字起こしにのみ適用され、各参加者はこのテーブル内の独自のレコードで表されます。 |
Call Automation Media Streaming 機能の使用状況情報ログの例を次に示します。
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"CorrelationId": "bbbb1111-cc22-3333-44dd-555555eeeeee",
"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
"StreamingModality": "AudioStreamingUnmixed",
"StreamingStartTime [UTC]": "5/24/2023, 7:57:45.480 PM",
"StreamingDurationInMs": "1172487.9394",
"StreamingSessionId": "8dc674eb-0313-46e1-8326-326ea71c7a45",
"ParticipantId": "7a5ae46f-efb0-4abb-bc9f-c1f1ccfd1470"
}