Logs de Automação de Chamadas dos Serviços de Comunicação do Azure

Os Serviços de Comunicação do Azure oferecem recursos de registro em log que você pode usar para monitorar e depurar sua solução de 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, que define os seguintes critérios:

  • Categorias de dados de log e métricas enviados para os destinos que a configuração define. As categorias disponíveis variam de acordo com o tipo de recurso.

  • Um ou mais destinos para enviar os logs. Os destinos atuais incluem o espaço de trabalho do Log Analytics, os Hubs de Eventos do Azure e o Armazenamento do Azure.

    Uma única configuração de diagnóstico não pode definir mais de um de cada tipo de destino. Se quiser enviar dados para mais de um tipo de destino (por exemplo, dois espaços de trabalho 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 espaço de trabalho 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 obter documentação detalhada sobre como usar configurações de diagnóstico em todos os recursos do Azure, consulte Habilitar o registro em log nas configurações de diagnóstico.

Sob o 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 Chamadas para habilitar os logs para Automação de Chamadas.

Captura de tela das configurações de diagnóstico para Automação de chamadas.

Categorias de log de recursos

Os Serviços de Comunicação oferecem os seguintes tipos de logs que você pode habilitar:

  • Logs de uso: forneça dados de uso associados a cada oferta de serviço faturada.
  • Logs operacionais de automação de chamadas: Forneça informações operacionais sobre solicitações de 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 o ID de correlação ou o ID de chamada do servidor).
  • Logs de resumo de mídia de automação de chamadas: fornecem informações sobre o resultado das operações de mídia. Esses logs chegam até você de forma assíncrona quando você faz 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.

Esquema de log de uso

Property Description
Timestamp O carimbo de data/hora (UTC) de quando o log foi gerado.
OperationName A operação associada ao registro de log.
OperationVersion O api-version valor associado à operação, se a operação foi executada OperationName através de uma API. Se nenhuma API corresponder a esta operação, a versão representa a versão da operação, caso as propriedades associadas à operação mudem no futuro.
Category A categoria de log do evento. A categoria é a granularidade na qual você pode habilitar ou desabilitar logs em um recurso. As propriedades que aparecem dentro do properties blob de um evento são as mesmas dentro de uma categoria de log e tipo de recurso.
CorrelationID A ID para eventos correlacionados. Você pode usá-lo para identificar eventos correlacionados entre várias tabelas.
Properties Outros dados aplicáveis a vários modos de 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 em que o uso se baseia para um modo de uso (por exemplo, minutos, megabytes ou mensagens).
Quantity O número de unidades utilizadas ou consumidas para este registo.

Logs operacionais do Call Automation

Property Description
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 api-version versão associada à operação, se a operação foi executada operationName através de uma API. Se nenhuma API corresponder a esta operação, a versão representa a versão da operação, caso as propriedades associadas à operação mudem no futuro.
Category A categoria de log do evento. A categoria é a granularidade na qual você pode habilitar ou desabilitar logs em um recurso. As propriedades que aparecem dentro do properties blob de um evento são as mesmas dentro de uma categoria de log e tipo de recurso.
ResultType O estado da operação.
ResultSignature O substatus da operação. Se essa operação corresponder a uma chamada de 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 de API proveniente de uma entidade com um endereço IP disponível publicamente.
Level O nível de gravidade do evento.
URI O URI da solicitação.
CallConnectionId O ID que representa a conexão de chamada, se disponível. Este ID é diferente para cada participante e é utilizado para identificar a sua ligação à chamada.
ServerCallId Um ID exclusivo 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 O ID para identificar o participante da chamada que fez a solicitação.
SubOperationName O nome usado para identificar o subtipo de 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 de 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",
}

Logs de resumo de mídia do Call Automation

Property Description
TimeGenerated O carimbo de data/hora (UTC) do evento.
level O nível de gravidade do evento. Deve ser um dos 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 O ID da cadeia do Skype. 
operationName O nome da operação que esse evento representa.
operationVersion
resultType O status do evento. Os valores típicos incluem Completed, Canceled, e Failed.
resultSignature O substatus da operação. Se essa operação corresponder a uma chamada de API REST, esse campo será o código de status HTTP da chamada REST correspondente.
operationId O ID da operação usado para correlacionar eventos assíncronos.
recognizePromptSubOperationName Um subtipo da operação. Os valores potenciais incluem File, TextToSpeech, e SSML.
playInLoop True se foi solicitado looping para a operação de reprodução. False caso contrário.
playToParticipant True se a operação de jogo tinha um alvo. False se fosse uma operação play-to-all.
interrupted True se o prompt for interrompido. False caso contrário.
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 do Call Automation:

[
{
"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."
}

Próximos passos