Freigeben über


Protokollschema für Anrufmetriken

In diesem Dokument werden die ACSCallingMetrics-Protokolle erläutert, die Ihnen über Azure Monitor in Form von Ressourcenprotokollen zur Verfügung stehen.

Anrufmetrikenprotokolle werden im „Einblicke in Sprache und Video“-Dashboard verwendet, um langfristige Diagramme zur Zuverlässigkeit, Qualität und Leistung basierend auf der Anzahl der erfolgreichen und fehlgeschlagenen Anruf-SDK-API-Aufrufe verschiedener Vorgänge zu visualisieren. Verwenden Sie diese Protokolle, um ein klareres Verständnis von täglich über verschiedene Dimensionen hinweg aggregierten Anrufmetriken für Ihre Kommunikationsworkloads zu erhalten. Anrufmetrikenprotokolle enthalten aggregierte Anrufmetriken in täglichen Klassen, die auf Attributen wie SDK-Version, Betriebssystemname und Fehleruntercode basieren.

Verwenden von Anrufprotokollen

Es wird empfohlen, alle verfügbaren Anrufprotokolle in einer Protokollanalyseressource zu sammeln, damit Sie Ihre Anrufnutzung überwachen, die Anrufqualität verbessern und neue Protokolle von Azure Communication Services erhalten können, wenn sie veröffentlicht werden.

Es gibt zwei Haupttools, mit denen Sie Ihre Anrufe überwachen und die Anrufqualität verbessern können.

Es wird empfohlen, das „Einblicke in Sprache und Video“-Dashboard zu verwenden, um qualitätsbezogene Untersuchungen zu starten, und bei Bedarf die Anrufdiagnose zu verwenden, um einzelne Anrufe zu untersuchen, wenn Sie präzise Details benötigen.

Datenkonzepte

Wichtig

Sie müssen Protokolle sammeln, wenn Sie sie analysieren möchten. Weitere Informationen finden Sie unter: Wie speichere ich Protokolle?

Azure speichert Ihre Anruflistendaten nur, wenn Sie diese spezifischen Diagnoseeinstellungen aktivieren. Ihre Anrufdaten sind nicht rückwirkend verfügbar. Sie erfassen die Daten, nachdem Sie die Diagnoseeinstellungen erstellt haben.

Diese Metriken werden im „Einblicke in Sprache und Video“-Dashboard visualisiert. Sehen Sie sich diese Visualisierungen an, um zu verstehen, wie Sie diese Daten zum Erstellen ihres eigenen oder zum Anpassen vorhandener Dashboards verwenden können. Sie können die vorhandene Arbeitsmappe im „Einblicke in Sprache und Video“-Dashboard bearbeiten, um die Abfragen hinter den einzelnen Visualisierungen anzuzeigen.

Dieses Protokollschema hat eine Eigenschaft namens MetricName, die die verschiedenen Metriken enthält, die in diesem Schema gesendet werden. Die Metriken werden in zwei Hauptkategorien unterteilt: API-Metriken und Metriken zur benutzerseitigen Diagnose (User Facing Diagnostics, UFD). UFD-Metriken werden in zwei Untergruppen unterteilt, die den Umfang des UFD-Auftretens erklären und zeigen, wie gut während Anrufen aufgetretene UFDs wiederhergestellt wurden.

Da diese Metriken Ihnen einen Überblick über ihre gesamte Anrufressource bieten, können Sie automatisierte Warnungen einrichten, wenn eine Metrik fehlschlägt. Informationen zum Erstellen automatisierter Warnungen finden Sie unter Tutorial: Erstellen einer Protokollsuchwarnung für eine Azure-Ressource.

Metrikkategorien

API-Metriken

Diese Metriken messen sowohl die Erfolge als auch die Fehler (dcount) der aufrufenden öffentlichen SDK-APIs, z. B. Stummschalten, Beitreten usw.

In dieser Tabelle werden die einzelnen Eigenschaften beschrieben.

Eigenschaft Beschreibung
reliability/api/CreateView/Local Misst die Zuverlässigkeit der Calling SDK CreatView/Local-API, die lokale Videostreams rendert. Diese API ist erforderlich, damit der Benutzer seinen lokalen Videostream sehen kann.
reliability/api/Join Misst die Zuverlässigkeit der Calling SDK Join-API. Wenn diese API erfolgreich ist, wird der Client eines Benutzers zu einem vorhandenen Anruf oder einer besprechung zugelassen.
reliability/api/StartVideo Misst die Zuverlässigkeit der Calling SDK StartVideo-API, die mit dem Streamen von Video vom Anrufclient an Remoteteilnehmer beginnt. Wenn diese API erfolgreich ausgeführt wird, sendet der Client eines Benutzers erfolgreich Video.
reliability/api/AcceptIncomingCall Misst die Zuverlässigkeit der Calling SDK AcceptIncomingCall-API, die angibt, dass der Client erfolgreich akzeptiert wurde und mit einem eingehenden Anruf verbunden ist.
reliability/api/CreateView/Remote Misst die Zuverlässigkeit der Calling SDK CreateView/Remote-API, die angibt, dass der Client eingehende Videos von einem Remoteteilnehmer erfolgreich wiedergibt.
reliability/api/StopVideo Misst die Zuverlässigkeit der Calling SDK StopVideo-API, die angibt, dass das Calling SDK das Streaming von Video an Remoteteilnehmer erfolgreich beendet hat.
reliability/api/CallAgentInit Misst die Zuverlässigkeit der Calling SDK CallAgentInit-API, die angibt, dass das Calling SDK das CallAgent-Objekt erfolgreich erstellt hat. Wenn dies fehlschlägt, können die reliability/api/Join or reliability/api/StartCall-APIs nicht ausgelöst werden.
reliability/api/StartCall Misst die Zuverlässigkeit der Calling SDK StartCall-API, die angibt, dass das Calling SDK einen neuen Anruf erfolgreich initiiert hat.
reliability/api/Drop Misst die Zuverlässigkeit einzelner Anrufzweige, indem festgestellt wird, welche Anrufzweige unerwartet abgebrochen wurden, nachdem sie erfolgreich mit einem Anruf verbunden waren. Konzentriert sich auf Anrufzweige von Teilnehmern, die erfolgreich mit einem Anruf verbunden wurden, und überprüft, ob die Anrufzweige später aufgrund bestimmter Fehlercodes getrennt wurden.

Metriken zur benutzerseitigen Diagnose (User Facing Diagnostics, UFD)

Metriken für die benutzerorientierte Diagnose (User Facing Diagnostics, UFD): (dcount der Teilnehmer (Verzweigungen), die mindestens eine schlechte UFD während eines Anrufs hatten)

Stellt die Anzahl der Teilnehmer bereit, die während eines Anrufs von einer UFD betroffen waren.

  • zuverlässigkeit/leg/UFD/NetworkReconnect
  • zuverlässigkeit/leg/UFD/CameraStoppedUnexpectedly
  • zuverlässigkeit/leg/UFD/MicrophoneMuteUnexpectedly
  • zuverlässigkeit/leg/UFD/NetworkReceiveQuality
  • zuverlässigkeit/leg/UFD/MicrophonePermissionDenied
  • zuverlässigkeit/leg/UFD/MicrophoneNotFunctioning
  • zuverlässigkeit/leg/UFD/NoMicrophoneDevicesEnumerated
  • zuverlässigkeit/leg/UFD/CameraPermissionDenied
  • zuverlässigkeit/leg/UFD/CameraStartFailed
  • zuverlässigkeit/leg/UFD/CapturerStoppedUnexpectedly
  • zuverlässigkeit/leg/UFD/CapturerStartFailed
  • zuverlässigkeit/leg/UFD/CameraStartTimedOut
  • zuverlässigkeit/leg/UFD/NoSpeakerDevicesEnumerated
  • zuverlässigkeit/leg/UFD/CameraFreeze
  • zuverlässigkeit/leg/UFD/NetworkRelaysNotReachable
  • zuverlässigkeit/leg/UFD/SpeakingWhileMicrophoneIsMuted
  • zuverlässigkeit/leg/UFD/NoNetwork
  • zuverlässigkeit/leg/UFD/NetworkSendQuality
  • zuverlässigkeit/leg/UFD/ScreenshareRecordingDisabled

API-Wiederherstellungsmetriken zur benutzerseitigen Diagnose (User Facing Diagnostics, UFD): (dcount von Vorfällen während eines Anrufs, die aber wiederhergestellt werden konnten)

Stellt die Anzahl der UFDs bereit, die während eines Aufrufs durch das anrufende SDK ausgelöst wurden, jedoch während des Aufrufs wiederhergestellt wurden. Wenn beispielsweise die NetworkReconnect-UFD während eines Anrufs einmal ausgelöst, das Netzwerk während des Anrufs jedoch erfolgreich wiederhergestellt wurde. In diesem Beispiel ist die Anzahl der guten API-Wiederherstellungs-UFD ≥ der Anzahl der schlechten UFD-Verzweigungsmetriken. Sie können eine UFD-Wiederherstellung von 100 % berechnen.

  • zuverlässigkeit/api/UFD/recovery/NetworkReceiveQuality
  • zuverlässigkeit/api/UFD/recovery/NetworkReconnect
  • zuverlässigkeit/api/UFD/recovery/CameraStoppedUnexpectedly
  • zuverlässigkeit/api/UFD/recovery/NetworkSendQuality
  • zuverlässigkeit/api/UFD/recovery/MicrophoneMuteUnexpectedly
  • zuverlässigkeit/api/UFD/recovery/MicrophoneNotFunctioning
  • zuverlässigkeit/api/UFD/recovery/CapturerStoppedUnexpectedly
  • zuverlässigkeit/api/UFD/recovery/CameraFreeze
  • zuverlässigkeit/api/UFD/recovery/CameraStartFailed
  • zuverlässigkeit/api/UFD/recovery/NoMicrophoneDevicesEnumerated
  • zuverlässigkeit/api/UFD/recovery/MicrophonePermissionDenied
  • zuverlässigkeit/api/UFD/recovery/CameraPermissionDenied
  • zuverlässigkeit/api/UFD/recovery/NoSpeakerDevicesEnumerated
  • zuverlässigkeit/api/UFD/recovery/CapturerStartFailed
  • zuverlässigkeit/api/UFD/recovery/ScreenshareRecordingDisabled
  • zuverlässigkeit/api/UFD/recovery/NoNetwork
  • zuverlässigkeit/api/UFD/recovery/CameraStartTimedOut
  • zuverlässigkeit/api/UFD/recovery/SpeakingWhileMicrophoneIsMuted
  • zuverlässigkeit/api/UFD/recovery/NetworkRelaysNotReachable

Datendefinitionen

Protokollschema für Anrufmetriken

In dieser Tabelle werden die einzelnen Eigenschaften beschrieben.

Eigenschaft Beschreibung
TimeGenerated Der Zeitstempel (UTC), wann das Protokoll generiert wurde.
OperationName Der mit der Protokollaufzeichnung verbundene Vorgang
OperationVersion Die API-Version, die dem Vorgang zugeordnet ist. Oder die Version des Vorgangs, wenn keine API-Version vorhanden ist.
Category Die Protokollkategorie des Ereignisses. Protokolle mit derselben Protokollkategorie und demselben Ressourcentyp verfügen über die gleichen Eigenschaftenfelder.
CorrelationId Eine eindeutige GUID, die Ereignisse in derselben Dimension korreliert.
TimestampMax Der maximale Zeitstempel in UTC für jede Dimension.
TimestampBin Der tägliche Zeitstempelcontainer für jede Dimension.
MetricValueAvg Der Mittelwert der Metrik für jede Dimension.
Unit Die Einheit der Metrik.
Goal Der Schwellenwert, der für eine erfolgreiche Verzweigung definiert ist.
FailedLegsDcount Die Anzahl der fehlerhaften Teilnehmer (Verzweigungen) pro Dimension.
SuccessLegsDcount Die Anzahl der erfolgreichen Teilnehmer (Verzweigungen) pro Dimension.
CallsDcount Die Gesamtzahl der Anrufe pro Dimension.
LegsDcount Die Gesamtzahl der Teilnehmer (Verzweigungen) pro Dimension.
SubCode Eine Dimension, die den Subcode angibt.
CallType Eine Dimension, die den Typ des Anrufs angibt.
Platform Die Plattformdimension (z. B. iOS, Android, Windows).
ResultType Die Ergebnistypdimension (z. B. Erfolgs- oder Fehlerkategorie).
DeviceModel Eine Dimension, die das Gerätemodell angibt.
DeviceBrand Eine Dimension, die die Marke des Geräts angibt.
DeviceFamily Eine Dimension, die die Gerätefamilie angibt.
DeviceOsVersionMajor Hauptversionsnummer des Betriebssystems des Geräts.
DeviceOsVersionMinor Nebenversionsnummer des Betriebssystems des Geräts.
DeviceBrowserVersionMinor Nebenversionsnummer des Gerätebrowsers.
DeviceBrowserVersionMajor Hauptversionsnummer des Gerätebrowsers.
DeviceOsName Name des Betriebssystems des Geräts.
DeviceBrowser Name des Gerätebrowsers.
SdkVersion Die SDK-Version, die auf dem Client ausgeführt wird.
MetricName Der Name der gemessenen Metrik.

Beispieldaten für verschiedene Anruftypen

Anrufmetrikenprotokoll für P2P- und Gruppenanrufe

Für das Anrufmetrikprotokoll gibt es keinen Unterschied zwischen P2P- und Gruppenanrufszenarien. Der folgende Code ist ein generisches Beispiel, das das Schema dieser Protokolle zeigt.

Anrufmetrikenprotokoll

Hier sind zwei Beispielzeilen des Anrufmetrikenprotokolls:

"properties": {
  "TenantId": "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
  "TimeGenerated": "2025-02-03T05:17:39.1840000Z",
  "OperationName": "CallingMetrics",
  "OperationVersion": "1.0-dev",
  "Category": "CallingMetrics",
  "CorrelationId": "1f27dac9e6d64c82cafdd6da73cdb785",
  "TimestampMax": "2025-02-02T14:35:55.0000000Z",
  "TimestampBin": "2025-02-02T00:00:00.0000000Z",
  "MetricValueAvg": 100,
  "Unit": "percentage",
  "Goal": ">= 100.0",
  "FailedLegsDcount": 0,
  "SuccessLegsDcount": 2,
  "CallsDcount": 1,
  "LegsDcount": 2,
  "SubCode": 0,
  "CallType": "1 to 1",
  "Platform": "Web",
  "ResultType": "Succeeded",
  "DeviceModel": "",
  "DeviceBrand": "",
  "DeviceFamily": "Other",
  "DeviceOsVersionMajor": "",
  "DeviceOsVersionMinor": 10,
  "DeviceBrowserVersionMinor": 0,
  "DeviceBrowserVersionMajor": 132,
  "DeviceOsName": "Windows",
  "DeviceBrowser": "Edge",
  "SdkVersion": "1.32.1.0_stable",
  "MetricName": "reliability/leg/UFD/CameraStoppedUnexpectedly",
  "SourceSystem": "",
  "Type": "ACSCallingMetrics",
  "_ResourceId": "/subscriptions/50ad1522-5c2c-4d9a-a6c8-67c11ecb75b8/resourcegroups/calling-sample-apps/providers/microsoft.communication/communicationservices/corertc-test-apps"
}
"properties": {
  "TenantId": "4e7403f8-515a-4df5-8e13-59f0e2b76e3a",
  "TimeGenerated": "2025-02-03T05:17:39.1840000Z",
  "OperationName": "CallingMetrics",
  "OperationVersion": "1.0-dev",
  "Category": "CallingMetrics",
  "CorrelationId": "1f27dac9e6d64c82cafdd6da73cdb785",
  "TimestampMax": "2025-02-02T14:35:55.0000000Z",
  "TimestampBin": "2025-02-02T00:00:00.0000000Z",
  "MetricValueAvg": 100,
  "Unit": "percentage",
  "Goal": ">= 100.0",
  "FailedLegsDcount": 0,
  "SuccessLegsDcount": 2,
  "CallsDcount": 1,
  "LegsDcount": 2,
  "SubCode": 0,
  "CallType": "1 to 1",
  "Platform": "Web",
  "ResultType": "Succeeded",
  "DeviceModel": "",
  "DeviceBrand": "",
  "DeviceFamily": "Other",
  "DeviceOsVersionMajor": "",
  "DeviceOsVersionMinor": 10,
  "DeviceBrowserVersionMinor": 0,
  "DeviceBrowserVersionMajor": 132,
  "DeviceOsName": "Windows",
  "DeviceBrowser": "Edge",
  "SdkVersion": "1.32.1.0_stable",
  "MetricName": "reliability/leg/UFD/CameraStoppedUnexpectedly",
  "SourceSystem": "",
  "Type": "ACSCallingMetrics",
  "_ResourceId": "/subscriptions/50ad1522-5c2c-4d9a-a6c8-67c11ecb75b8/resourcegroups/calling-sample-apps/providers/microsoft.communication/communicationservices/corertc-test-apps"
}

Häufig gestellte Fragen

Wie speichere ich Protokolle?

Im folgenden Abschnitt werden diese Anforderungen erläutert.

Azure Communication Services-Protokolle werden standardmäßig nicht in Ihrem Azure-Konto gespeichert, daher müssen Sie mit der Speicherung beginnen, damit Tools wie das „Einblicke in Sprache und Video“-Dashboard und Anrufdiagnose funktionieren. Um diese Anruflisten zu sammeln, müssen Sie eine Diagnoseeinstellung aktivieren, die die Anrufdaten an einen Log Analytics-Arbeitsbereich leitet.

Daten werden nicht rückwirkend gespeichert, sodass Sie erst nach der Konfiguration der Diagnoseeinstellung mit der Erfassung von Anruflisten beginnen.

Folgen Sie den Anweisungen zum Hinzufügen von Diagnoseeinstellungen für Ihre Ressource unter Aktivieren von Protokollen über die Diagnoseeinstellungen in Azure Monitor. Es wird empfohlen, zunächst alle Protokolle zu sammeln. Nachdem Sie die Funktionen in Azure Monitor verstanden haben, bestimmen Sie, welche Protokolle Sie aufbewahren möchten und wie lange. Wenn Sie Ihre Diagnoseeinstellung hinzufügen, werden Sie aufgefordert, Protokolle auszuwählen. Um alle Protokolle zu erfassen, wählen Sie allLogs aus.

Ihr Datenvolumen, Ihre Aufbewahrung und Ihre Nutzung in Log Analytics in Azure Monitor wird über vorhandene Azure-Datenzähler abgerechnet. Aus Kostengründen wird empfohlen, ggf. Ihre Datennutzungs- und Aufbewahrungsrichtlinien zu überwachen. Weitere Informationen finden Sie unter Verwalten der Kosten.

Wenn Sie über mehrere Azure Communications Services-Ressourcen-IDs verfügen, müssen Sie diese Einstellungen für jede Ressourcen-ID aktivieren.

Nächste Schritte