Journaux de Call Automation pour 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 pouvez configurer ces fonctionnalités dans 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 sont l’espace de travail Log Analytics, Azure Event Hubs et le Stockage Azure.
Un seul paramètre de diagnostic ne peut pas définir plus d’un type de destination. Si vous souhaitez envoyer des données à plus d’un type 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
L'activation d'un paramètre de diagnostic dans Azure Monitor est nécessaire pour envoyer les données de journal de vos enquêtes à un espace de travail Log Analytics, à un Event Hub ou encore à un compte de stockage Azure afin de recevoir et d'analyser les données de vos enquêtes. 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 pour 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’automatisation des appels d’opération et Journaux de résumé des événements d’automatisation des appels pour activer les journaux pour Call Automation.
Catégories de journaux de ressources
Communication Services propose les types de journaux suivants que vous pouvez activer :
- Journaux d’utilisation : Ils fournissent 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 de 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 multimédia Call 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 médias à l’aide des API de Call Automation. 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) de la génération du journal. |
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 si les propriétés associées à l’opération viennent à changer. |
Category |
Catégorie de journal de l’événement. La catégorie est la précision avec laquelle vous pouvez activer ou désactiver les journaux sur une ressource. Les propriétés qui apparaissent dans le blob properties d’un événement sont les mêmes au sein d’une catégorie de journal et d’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 qui sont applicables aux différents modes de Communication Services. |
RecordID |
ID unique d’un enregistrement d’utilisation. |
UsageType |
Mode d’utilisation (par exemple, Conversation, RTC ou NAT). |
UnitType |
Type d’unité sur lequel l’utilisation est basée pour 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 de Call Automation
Propriété | Description |
---|---|
TimeGenerated |
Horodatage (UTC) de la génération du journal. |
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 si les propriétés associées à l’opération viennent à changer. |
Category |
Catégorie de journal de l’événement. La catégorie est la précision avec laquelle vous pouvez activer ou désactiver les journaux sur une ressource. Les propriétés qui apparaissent dans le blob properties d’un événement sont les mêmes au sein d’une catégorie de journal et d’un type de ressource. |
ResultType |
État de l'opération. |
ResultSignature |
Le 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 |
L’adresse IP de l’appelant, si l’opération correspond à un appel API provenant d’une entité dont l’adresse IP est 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 SDK utilisé pour la requête. |
SubOperationName |
Nom utilisé pour identifier le sous-type d’opération média (lecture ou reconnaissance). |
operationID |
ID utilisé pour mettre en corrélation les événements asynchrones. |
Voici un exemple de journal opérationnel de 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",
}
Journaux récapitulatifs des multimédias de Call Automation
Propriété | Description |
---|---|
TimeGenerated |
Horodatage (UTC) de l’événement. |
level |
Niveau de gravité de l’événement. Il doit être Informational , Warning , Error ou 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 |
Le statut de l’événement. Les valeurs standard sont Completed , Canceled et Failed . |
resultSignature |
Le 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 acceptées incluent File , TextToSpeech et SSML . |
playInLoop |
True si la boucle a été demandée pour l’opération de lecture. False dans le cas contraire. |
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 dans le cas contraire. |
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 récapitulatif multimédia pour 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."
}