你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 通信服务调用自动化日志
Azure 通信服务提供的日志记录功能可用于监视和调试通信服务解决方案。 可以通过Azure 门户配置这些功能。
先决条件
Azure 通信服务通过
发送到设置定义的目标的日志和指标数据的类别。 可用类别因资源类型而异。
要将日志发送到的一个或多个目标。 当前目标包括 Log Analytics 工作区、Azure 事件中心和Azure 存储。
单个诊断设置可以定义每个目标类型的一个以上。 如果要将数据发送到多个目标类型(例如两个 Log Analytics 工作区),请创建多个设置。 每个资源最多可以有五个诊断设置。
重要
必须在 Azure Monitor 中启用诊断设置,才能将调查的日志数据发送到 Log Analytics 工作区、事件中心或 Azure 存储帐户,以便接收和分析调查数据。 如果不向其中一个选项发送呼叫自动化数据,则不会存储调查数据,并且将丢失。
以下说明将 Azure Monitor 资源配置为开始为通信服务实例创建日志和指标。 有关在所有 Azure 资源中使用诊断设置的详细文档,请参阅 在诊断设置中启用日志记录。
在诊断设置名称下,选择“操作呼叫自动化日志”和“调用自动化事件摘要日志”以启用呼叫自动化的日志。
资源日志类别
通信服务提供以下类型的日志,你可以启用:
- 使用情况日志:提供与每个计费服务产品/服务关联的使用情况数据。
- 调用自动化操作日志:提供有关调用自动化 API 请求的操作信息。 可以使用这些日志来标识故障点,并查询调用中发出的所有请求(通过使用相关 ID 或服务器调用 ID)。
- 调用自动化媒体摘要日志:提供有关媒体操作结果的信息。 使用调用自动化 API 发出媒体请求时,这些日志会异步访问你。 可以使用这些日志来帮助识别故障点和用户与应用程序交互方式的可能模式。
使用情况日志架构
properties | 说明 |
---|---|
Timestamp |
生成日志时的时间戳(UTC)。 |
OperationName |
与日志记录相关联的操作。 |
OperationVersion |
api-version 如果通过 API 执行了操作,则OperationName 与操作关联的值。 如果没有 API 对应于此操作,则版本表示操作的版本,以防将来与操作关联的属性发生更改。 |
Category |
事件的日志类别。 类别是可以在资源上启用或禁用日志的粒度。 事件 blob 中显示的 properties 属性在日志类别和资源类型中是相同的。 |
CorrelationID |
关联事件的 ID。 可以使用它来标识多个表之间的关联事件。 |
Properties |
适用于各种通信服务模式的其他数据。 |
RecordID |
使用情况记录的唯一 ID。 |
UsageType |
使用模式(例如聊天、PSTN 或 NAT)。 |
UnitType |
使用单位的类型基于使用模式(例如分钟数、兆字节或消息)。 |
Quantity |
此记录使用或消耗的单位数。 |
调用自动化操作日志
properties | 说明 |
---|---|
TimeGenerated |
生成日志时的时间戳(UTC)。 |
OperationName |
与日志记录相关联的操作。 |
CorrelationID |
用于标识调用并关联唯一调用的事件的标识符。 |
OperationVersion |
如果operationName 通过 API 执行了操作,则api-version 与该操作关联的版本。 如果没有 API 对应于此操作,则版本表示操作的版本,以防将来与操作关联的属性发生更改。 |
Category |
事件的日志类别。 类别是可以在资源上启用或禁用日志的粒度。 事件 blob 中显示的 properties 属性在日志类别和资源类型中是相同的。 |
ResultType |
操作的状态。 |
ResultSignature |
操作的子状态。 如果该操作对应于 REST API 调用,则此字段为相应 REST 调用的 HTTP 状态代码。 |
DurationMs |
操作持续时间,以毫秒为单位。 |
CallerIpAddress |
如果操作对应于来自具有公开 IP 地址的实体的 API 调用,则调用方 IP 地址。 |
Level |
事件的严重级别。 |
URI |
请求的 URI。 |
CallConnectionId |
表示调用连接的 ID(如果可用)。 对于每个参与者,此 ID 不同,用于标识其与呼叫的连接。 |
ServerCallId |
用于标识调用的唯一 ID。 |
SDKVersion |
用于请求的 SDK 版本。 |
SDKType |
用于请求的 SDK 类型。 |
ParticipantId |
用于标识发出请求的呼叫参与者的 ID。 |
SubOperationName |
用于标识媒体操作的子类型(播放或识别)的名称。 |
operationID |
用于关联异步事件的 ID。 |
下面是调用自动化操作日志的示例:
[
{
"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
"Level": "Informational",
"CorrelationId": "e2a97d52-0cbb-4adf-8c4b-e10f791fb764",
"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",
}
调用自动化媒体摘要日志
properties | 说明 |
---|---|
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 如果播放操作具有目标,则为 |
interrupted |
True 如果提示中断,则为 False 否则为 |
resultCode |
操作的结果代码。 |
resultSubcode |
操作的结果子代码。 |
resultMessage |
操作的结果消息。 |
下面是呼叫自动化媒体摘要日志的示例:
[
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"Level": "Informational",
"CorrelationId": "d149d528-a392-404c-8fcd-69087e9d0802",
"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."
}
后续步骤
- 了解用于监视呼叫自动化日志和指标的见解仪表板。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈