Journaux d’automatisation des appels Azure Communication Services
Azure Communication Services offre des fonctionnalités de journalisation que vous pouvez utiliser pour superviser et déboguer votre solution Communication Services. Vous configurez ces fonctionnalités via le Portail Azure.
Prérequis
Azure Communication Services fournit des fonctionnalités de supervision et d’analytique via les journaux Azure Monitor et les métriques Azure Monitor. Chaque ressource Azure requiert son propre paramètre de diagnostic, qui définit les critères suivants :
Catégories de données de journal et de métrique envoyées aux destinations que le paramètre définit. Les catégories disponibles varient selon le type de ressource.
Une ou plusieurs destinations auxquelles envoyer les journaux. Les destinations actuelles incluent l’espace de travail Log Analytics, Azure Event Hubs et Stockage Azure.
Un paramètre de diagnostic unique ne peut pas définir plus d’un de chaque type de destination. Si vous souhaitez envoyer des données à plusieurs types de destination (par exemple, deux espaces de travail Log Analytics), créez plusieurs paramètres. Chaque ressource peut avoir jusqu’à cinq paramètres de diagnostic.
Important
Vous devez activer un paramètre de diagnostic dans Azure Monitor pour envoyer les données de journal de vos enquêtes à un espace de travail Log Analytics, un hub d’événements ou un compte de stockage Azure pour recevoir et analyser vos données d’enquête. Si vous n’envoyez pas de données Call Automation à l’une de ces options, vos données d’enquête ne seront pas stockées et seront perdues.
Les instructions suivantes configurent votre ressource Azure Monitor pour commencer à créer des journaux et des métriques pour votre instance Communication Services. Pour obtenir une documentation détaillée sur l’utilisation des paramètres de diagnostic sur toutes les ressources Azure, consultez Activer la journalisation dans les paramètres de diagnostic.
Sous le nom du paramètre de diagnostic, sélectionnez Journaux d’activité d’automatisation des appels d’opération et journaux récapitulatives des événements Automation des appels pour activer les journaux d’activité d’Automatisation des appels.
Catégories de journaux de ressources
Communication Services propose les types de journaux suivants que vous pouvez activer :
- Journaux d’utilisation : fournissez des données d’utilisation associées à chaque offre de service facturée.
- Journaux opérationnels d’automatisation des appels : fournissez des informations opérationnelles sur les demandes d’API Call Automation. Vous pouvez utiliser ces journaux pour identifier les points d’échec et interroger toutes les requêtes effectuées dans un appel (à l’aide de l’ID de corrélation ou de l’ID d’appel du serveur).
- Journaux de synthèse des médias Automation : fournissez des informations sur le résultat des opérations multimédias. Ces journaux vous sont fournis de manière asynchrone lorsque vous effectuez des requêtes multimédias à l’aide des API Automation d’appel. Vous pouvez utiliser ces journaux pour identifier les points d’échec et les modèles possibles sur la façon dont les utilisateurs interagissent avec votre application.
Schéma du journal d’utilisation
Propriété | Description |
---|---|
Timestamp |
Horodatage (UTC) du moment où le journal a été généré. |
OperationName |
Opération associée à l’enregistrement de journal. |
OperationVersion |
Valeur api-version associée à l’opération, si l’opération OperationName a été effectuée via une API. Si aucune API ne correspond à cette opération, la version représente la version de l’opération, au cas où les propriétés associées à l’opération changent à l’avenir. |
Category |
Catégorie de journal de l’événement. La catégorie est la granularité à laquelle vous pouvez activer ou désactiver les journaux d’activité sur une ressource. Les propriétés qui apparaissent dans l’objet properties blob d’un événement sont identiques dans une catégorie de journal et un type de ressource. |
CorrelationID |
ID des événements corrélés. Vous pouvez l’utiliser pour identifier les événements corrélés entre plusieurs tables. |
Properties |
Autres données applicables aux différents modes de Communication Services. |
RecordID |
ID unique d’un enregistrement d’utilisation. |
UsageType |
Mode d’utilisation (par exemple, Conversation, PSTN ou NAT). |
UnitType |
Type d’unité sur lequel l’utilisation est basée sur un mode d’utilisation (par exemple, minutes, mégaoctets ou messages). |
Quantity |
Nombre d’unités utilisées ou consommées pour cet enregistrement. |
Journaux opérationnels Automation d’appel
Propriété | Description |
---|---|
TimeGenerated |
Horodatage (UTC) du moment où le journal a été généré. |
OperationName |
Opération associée à l’enregistrement de journal. |
CorrelationID |
Identificateur permettant d’identifier un appel et de mettre en corrélation les événements d’un appel unique. |
OperationVersion |
Version api-version associée à l’opération, si l’opération operationName a été effectuée via une API. Si aucune API ne correspond à cette opération, la version représente la version de l’opération, au cas où les propriétés associées à l’opération changent à l’avenir. |
Category |
Catégorie de journal de l’événement. La catégorie est la granularité à laquelle vous pouvez activer ou désactiver les journaux d’activité sur une ressource. Les propriétés qui apparaissent dans l’objet properties blob d’un événement sont identiques dans une catégorie de journal et un type de ressource. |
ResultType |
État de l'opération. |
ResultSignature |
Sous-état de l’opération. Si cette opération correspond à un appel d’API REST, ce champ est le code d’état HTTP de l’appel REST correspondant. |
DurationMs |
Durée de l’opération en millisecondes. |
CallerIpAddress |
Adresse IP de l’appelant, si l’opération correspond à un appel d’API provenant d’une entité avec une adresse IP disponible publiquement. |
Level |
Niveau de gravité de l’événement. |
URI |
URI de la requête. |
CallConnectionId |
ID qui représente la connexion d’appel, le cas échéant. Cet ID est différent pour chaque participant et est utilisé pour identifier sa connexion à l’appel. |
ServerCallId |
ID unique permettant d’identifier un appel. |
SDKVersion |
Version du Kit de développement logiciel (SDK) utilisée pour la requête. |
SDKType |
Type de KIT de développement logiciel (SDK) utilisé pour la requête. |
ParticipantId |
ID permettant d’identifier le participant d’appel qui a effectué la demande. |
SubOperationName |
Nom utilisé pour identifier le sous-type d’opération multimédia (lecture ou reconnaissance). |
operationID |
ID utilisé pour mettre en corrélation les événements asynchrones. |
Voici un exemple de journal opérationnel Call Automation :
[
{
"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",
}
Journaux de synthèse des médias Automation d’appel
Propriété | Description |
---|---|
TimeGenerated |
Horodatage (UTC) de l’événement. |
level |
Niveau de gravité de l’événement. Il doit s’agir de l’un des Informational , Warning , ou Error Critical . |
resourceId |
ID de la ressource qui a émis l’événement. |
durationMs |
Durée de l’opération en millisecondes. |
callerIpAddress |
|
correlationId |
ID de chaîne Skype. |
operationName |
Nom de l’opération représentée par cet événement. |
operationVersion |
|
resultType |
État de l’événement. Les valeurs classiques incluent Completed , Canceled et Failed . |
resultSignature |
Sous-état de l’opération. Si cette opération correspond à un appel d’API REST, ce champ est le code d’état HTTP de l’appel REST correspondant. |
operationId |
ID d’opération utilisé pour mettre en corrélation les événements asynchrones. |
recognizePromptSubOperationName |
Sous-type de l’opération. Les valeurs potentielles incluent File , TextToSpeech et SSML . |
playInLoop |
True si la boucle a été demandée pour l’opération de lecture. False sinon. |
playToParticipant |
True si l’opération de jeu avait une cible. False s’il s’agissait d’une opération de jeu à tous. |
interrupted |
True si l’invite est interrompue. False sinon. |
resultCode |
Code de résultat de l’opération. |
resultSubcode |
Sous-code de résultat de l’opération. |
resultMessage |
Message de résultat de l’opération. |
Voici un exemple de journal de synthèse multimédia 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."
}
Étapes suivantes
- Découvrez le tableau de bord Insights pour surveiller les journaux et les métriques Call Automation.