Logs de Automação de Chamadas dos Serviços de Comunicação do Azure
Os Serviços de Comunicação do Azure oferecem funcionalidades de log que você pode usar para monitorar e depurar sua solução dos Serviços de Comunicação. Você configura esses recursos por meio do portal do Azure.
Pré-requisitos
Os Serviços de Comunicação do Azure fornecem recursos de monitoramento e análise por meio dos Logs do Azure Monitor e das Métricas do Azure Monitor. Cada recurso do Azure requer sua própria configuração de diagnóstico, o que define os seguintes critérios:
Categorias de dados de log e métrica enviados para os destinos definidos pela configuração. As categorias disponíveis variam de acordo com o tipo de recurso.
Um ou mais destinos para enviar os logs. Os destinos atuais incluem workspace do Log Analytics, Hubs de Eventos do Azure e Armazenamento do Azure.
Uma única configuração de diagnóstico pode definir não mais do que um de cada tipo de destino. Se você quiser enviar dados para mais de um tipo de destino (por exemplo, dois workspaces do Log Analytics), crie várias configurações. Cada recurso pode ter até cinco configurações de diagnóstico.
Importante
Você deve habilitar uma configuração de diagnóstico no Azure Monitor para enviar os dados de log de suas pesquisas para um workspace do Log Analytics, um hub de eventos ou uma conta de armazenamento do Azure para receber e analisar os dados da pesquisa. Se você não enviar dados de Automação de Chamadas para uma dessas opções, os dados da pesquisa não serão armazenados e serão perdidos.
As instruções a seguir configuram seu recurso do Azure Monitor para começar a criar logs e métricas para sua instância dos Serviços de Comunicação. Para ver a documentação detalhada sobre como usar Configurações de Diagnóstico em todos os recursos do Azure, consulte Habilitar o registro em log em Configurações de Diagnóstico.
No nome da configuração de diagnóstico, selecione Logs de Automação de Chamadas de Operação e Logs de Resumo de Eventos de Automação de Chamada para habilitar os logs da Automação de Chamadas.
Categorias de log de recursos
Os Serviços de Comunicação seguintes tipos de logs que você pode habilitar:
- Logs de uso: fornecem dados de uso associados a cada oferta de serviço cobrada.
- Chamar logs operacionais de automação: fornecem informações operacionais sobre solicitações da API de Automação de Chamadas. Você pode usar esses logs para identificar pontos de falha e consultar todas as solicitações feitas em uma chamada (usando a ID de correlação ou a ID de chamada do servidor).
- logs de resumo de mídia da Automação de Chamadas: fornecem informações sobre o resultado das operações de mídia. Esses logs chegam a você de forma assíncrona quando você está fazendo solicitações de mídia usando APIs de Automação de Chamadas. Você pode usar esses logs para ajudar a identificar pontos de falha e possíveis padrões sobre como os usuários interagem com seu aplicativo.
Uso de esquema de log
Propriedade | Descrição |
---|---|
Timestamp |
O carimbo de data/hora (UTC) de quando o log foi gerado. |
OperationName |
A operação associada ao registro de log. |
OperationVersion |
O valor api-version associado à operação, se a operação OperationName foi executada por meio de uma API. Se nenhuma API corresponder a essa operação, a versão representará a versão da operação, caso as propriedades associadas à operação sejam alteradas no futuro. |
Category |
A categoria de log do evento. A categoria é a granularidade na qual você pode habilitar ou desabilitar os logs em um recurso. As propriedades exibidas no blob properties de um evento são as mesmas em uma categoria de log e um tipo de recurso. |
CorrelationID |
A ID de eventos correlacionados. Você pode usar isso para identificar os eventos correlacionados entre várias tabelas. |
Properties |
Outros dados que são aplicáveis a vários modos dos Serviços de Comunicação. |
RecordID |
A ID exclusiva de um registro de uso. |
UsageType |
O modo de uso (por exemplo, Chat, PSTN ou NAT). |
UnitType |
O tipo de unidade na qual o uso se baseia em um modo de uso (por exemplo, minutos, megabytes ou mensagens). |
Quantity |
O número de unidades usadas ou consumidas para este registro. |
Chamar logs operacionais da Automação
Propriedade | Descrição |
---|---|
TimeGenerated |
O carimbo de data/hora (UTC) de quando o log foi gerado. |
OperationName |
A operação associada ao registro de log. |
CorrelationID |
O identificador para identificar uma chamada e correlacionar eventos para uma chamada exclusiva. |
OperationVersion |
A versão api-version associada à operação, se a operação de operationName foi executada por meio de uma API. Se nenhuma API corresponder a essa operação, a versão representará a versão da operação, caso as propriedades associadas à operação sejam alteradas no futuro. |
Category |
A categoria de log do evento. A categoria é a granularidade na qual você pode habilitar ou desabilitar os logs em um recurso. As propriedades exibidas no blob properties de um evento são as mesmas em uma categoria de log e um tipo de recurso. |
ResultType |
O status da operação. |
ResultSignature |
O substatus da operação. Se essa operação corresponder a uma chamada à API REST, esse campo será o código de status HTTP da chamada REST correspondente. |
DurationMs |
A duração da operação em milissegundos. |
CallerIpAddress |
O endereço IP do chamador, se a operação corresponder a uma chamada à API proveniente de uma entidade com um endereço IP disponível publicamente. |
Level |
O nível de severidade do evento. |
URI |
O URI da solicitação. |
CallConnectionId |
A ID que representa a conexão de chamada, se disponível. Essa ID é diferente para cada participante e é usada para identificar sua conexão com a chamada. |
ServerCallId |
Uma ID exclusiva para identificar uma chamada. |
SDKVersion |
A versão do SDK usada para a solicitação. |
SDKType |
O tipo de SDK usado para a solicitação. |
ParticipantId |
A ID para identificar o participante da chamada que fez a solicitação. |
SubOperationName |
O nome usado para identificar o subtipo da operação de mídia (reproduzir ou reconhecer). |
operationID |
A ID usada para correlacionar eventos assíncronos. |
Aqui está um exemplo de um log operacional da Automação de Chamadas:
[
{
"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",
}
Chamar logs de resumo de mídia de Automação
Propriedade | Descrição |
---|---|
TimeGenerated |
O carimbo de data/hora (UTC) do evento. |
level |
O nível de severidade do evento. Deve ser um de Informational , Warning , Error ou Critical . |
resourceId |
A ID do recurso que emitiu o evento. |
durationMs |
A duração da operação em milissegundos. |
callerIpAddress |
|
correlationId |
A ID da cadeia do Skype. |
operationName |
O nome da operação que esse evento representa. |
operationVersion |
|
resultType |
O status do evento. Os valores comuns incluem Completed , Canceled e Failed . |
resultSignature |
O substatus da operação. Se essa operação corresponder a uma chamada à API REST, esse campo será o código de status HTTP da chamada REST correspondente. |
operationId |
A ID da operação usada para correlacionar eventos assíncronos. |
recognizePromptSubOperationName |
Um subtipo da operação. Os valores potenciais incluem File , TextToSpeech e SSML . |
playInLoop |
True se o looping foi solicitado para a operação de reprodução. Caso contrário, False . |
playToParticipant |
True se a operação de reprodução tivesse um destino. False se fosse uma operação de jogo para todos. |
interrupted |
True se o prompt for interrompido. Caso contrário, False . |
resultCode |
O código de resultado da operação. |
resultSubcode |
O subcódigo de resultado da operação. |
resultMessage |
A mensagem de resultado da operação. |
Aqui está um exemplo de um log de resumo de mídia da Automação de Chamadas:
[
{
"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."
}