Azure Communication Services Samtalsautomatiseringsloggar

Azure Communication Services erbjuder loggningsfunktioner som du kan använda för att övervaka och felsöka din Communication Services-lösning. Du konfigurerar dessa funktioner via Azure-portalen.

Förutsättningar

Azure Communication Services tillhandahåller övervaknings- och analysfunktioner via Azure Monitor-loggar och Azure Monitor-mått. Varje Azure-resurs kräver en egen diagnostikinställning, som definierar följande villkor:

  • Kategorier av logg- och måttdata som skickas till de mål som inställningen definierar. De tillgängliga kategorierna varierar beroende på resurstyp.

  • Ett eller flera mål för att skicka loggarna. Aktuella mål är Log Analytics-arbetsytan, Azure Event Hubs och Azure Storage.

    En enda diagnostikinställning kan inte definiera mer än en av varje måltyp. Om du vill skicka data till mer än en måltyp (till exempel två Log Analytics-arbetsytor) skapar du flera inställningar. Varje resurs kan ha upp till fem diagnostikinställningar.

Viktigt!

Du måste aktivera en diagnostikinställning i Azure Monitor för att skicka loggdata för dina undersökningar till en Log Analytics-arbetsyta, en händelsehubb eller ett Azure Storage-konto för att ta emot och analysera dina undersökningsdata. Om du inte skickar Samtalsautomatiseringsdata till något av dessa alternativ lagras inte dina undersökningsdata och går förlorade.

Följande instruktioner konfigurerar din Azure Monitor-resurs för att börja skapa loggar och mått för din Communication Services-instans. Detaljerad dokumentation om hur du använder diagnostikinställningar för alla Azure-resurser finns i Aktivera loggning i diagnostikinställningar.

Under namnet på diagnostikinställningen väljer du Åtgärd Anropa Automation-loggar och Sammanfattningsloggar för samtalsautomatiseringshändelser för att aktivera loggarna för Samtalsautomation.

Screenshot of diagnostic settings for Call Automation.

Resursloggkategorier

Communication Services erbjuder följande typer av loggar som du kan aktivera:

  • Användningsloggar: Ange användningsdata som är associerade med varje faktureringstjänsterbjudande.
  • Driftloggar för samtalsautomatisering: Ange driftinformation om API-begäranden för samtalsautomatisering. Du kan använda dessa loggar för att identifiera felpunkter och köra frågor mot alla begäranden som görs i ett anrop (med hjälp av korrelations-ID eller serveranrops-ID).
  • Anropa Sammanfattningsloggar för Automation-media: Ange information om resultatet av medieåtgärder. Dessa loggar kommer till dig asynkront när du gör medieförfrågningar med hjälp av API:er för samtalsautomatisering. Du kan använda dessa loggar för att identifiera felpunkter och möjliga mönster för hur användare interagerar med ditt program.

Schema för användningslogg

Property Beskrivning
Timestamp Tidsstämpeln (UTC) för när loggen genererades.
OperationName Åtgärden som är associerad med loggposten.
OperationVersion Värdet api-version som är associerat med åtgärden, om åtgärden OperationName utfördes via ett API. Om inget API motsvarar den här åtgärden representerar versionen versionen av åtgärden, om egenskaperna som är associerade med åtgärden ändras i framtiden.
Category Loggkategorin för händelsen. Kategorin är den kornighet där du kan aktivera eller inaktivera loggar på en resurs. Egenskaperna som visas i blobben för properties en händelse är desamma inom en loggkategori och resurstyp.
CorrelationID ID:t för korrelerade händelser. Du kan använda den för att identifiera korrelerade händelser mellan flera tabeller.
Properties Andra data som gäller för olika kommunikationstjänster.
RecordID Det unika ID:t för en användningspost.
UsageType Användningsläget (till exempel Chatt, PSTN eller NAT).
UnitType Den typ av enhet som användningen baseras på för ett användningsläge (till exempel minuter, megabyte eller meddelanden).
Quantity Antalet enheter som används eller förbrukas för den här posten.

Anropa Driftloggar för Automation

Property Beskrivning
TimeGenerated Tidsstämpeln (UTC) för när loggen genererades.
OperationName Åtgärden som är associerad med loggposten.
CorrelationID Identifieraren för att identifiera ett anrop och korrelera händelser för ett unikt anrop.
OperationVersion Den api-version version som är associerad med åtgärden, om åtgärden operationName utfördes via ett API. Om inget API motsvarar den här åtgärden representerar versionen versionen av åtgärden, om egenskaperna som är associerade med åtgärden ändras i framtiden.
Category Loggkategorin för händelsen. Kategorin är den kornighet där du kan aktivera eller inaktivera loggar på en resurs. Egenskaperna som visas i blobben för properties en händelse är desamma inom en loggkategori och resurstyp.
ResultType Status för åtgärden.
ResultSignature Åtgärdens understatus. Om den här åtgärden motsvarar ett REST API-anrop är det här fältet HTTP-statuskoden för motsvarande REST-anrop.
DurationMs Varaktigheten för åtgärden i millisekunder.
CallerIpAddress Anroparens IP-adress, om åtgärden motsvarar ett API-anrop som kommer från en entitet med en offentligt tillgänglig IP-adress.
Level Allvarlighetsgraden för händelsen.
URI URI:n för begäran.
CallConnectionId Det ID som representerar samtalsanslutningen, om det är tillgängligt. Det här ID:t är olika för varje deltagare och används för att identifiera deras anslutning till anropet.
ServerCallId Ett unikt ID för att identifiera ett anrop.
SDKVersion SDK-versionen som används för begäran.
SDKType Den SDK-typ som används för begäran.
ParticipantId ID:t för att identifiera den anropsdeltagare som gjorde begäran.
SubOperationName Namnet som används för att identifiera undertypen av medieåtgärden (spela upp eller identifiera).
operationID Det ID som används för att korrelera asynkrona händelser.

Här är ett exempel på en driftlogg för samtalsautomatisering:

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

Anropa Sammanfattningsloggar för Automation-media

Property Beskrivning
TimeGenerated Tidsstämpeln (UTC) för händelsen.
level Allvarlighetsgraden för händelsen. Det måste vara en av Informational, Warning, Erroreller Critical. 
resourceId ID:t för resursen som genererade händelsen.
durationMs Varaktigheten för åtgärden i millisekunder.
callerIpAddress
correlationId Skypes kedje-ID. 
operationName Namnet på den åtgärd som den här händelsen representerar.
operationVersion
resultType Status för händelsen. Typiska värden är Completed, Canceledoch Failed.
resultSignature Åtgärdens understatus. Om den här åtgärden motsvarar ett REST API-anrop är det här fältet HTTP-statuskoden för motsvarande REST-anrop.
operationId Åtgärds-ID:t som används för att korrelera asynkrona händelser.
recognizePromptSubOperationName En undertyp av åtgärden. Potentiella värden är File, TextToSpeechoch SSML.
playInLoop True om loopning begärdes för uppspelningsåtgärden. False om annat.
playToParticipant True om uppspelningsåtgärden hade ett mål. False om det var en "play-to-all"-åtgärd.
interrupted True om kommandotolken avbryts. False om annat.
resultCode Åtgärdens resultatkod.
resultSubcode Åtgärdens resultatunderkod.
resultMessage Resultatmeddelandet för åtgärden.

Här är ett exempel på en sammanfattningslogg för samtalsautomatiseringsmedia:

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

Nästa steg