View a markdown version of this page

Behebung von Problemen mit dem MediaTailor Event-Flow - AWS Elemental MediaTailor

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Behebung von Problemen mit dem MediaTailor Event-Flow

Das Verständnis des AWS Elemental MediaTailor Ereignisablaufs bietet eine wichtige Grundlage für die Behebung von Problemen bei der Anzeigenschaltung. Indem Sie die Reihenfolge, den Zeitpunkt und die Muster der Ereignisse analysieren, können Sie schnell erkennen, wo Probleme auftreten, und gezielte Lösungen implementieren.

Dieser Abschnitt enthält praktische Anleitungen zur Verwendung der Ereignisflussanalyse zur Diagnose von Problemen. Informationen zu den grundlegenden Konzepten des Ereignisflusses finden Sie unterAblauf des Ereignisses beim Einfügen von Anzeigen.

Identifizierung unvollständiger Ereignisabläufe

Unvollständige Ereignisabläufe treten auf, wenn die erwartete Abfolge von Ereignissen beendet wird, bevor eine erfolgreiche Manifestpersonalisierung (der Vorgang des MediaTailor Einfügens personalisierter Anzeigeninformationen in das Manifest) erreicht wird. Die Identifizierung der Stellen, an denen der Ablauf unterbrochen wird, hilft dabei, die Ursache von Fehlern bei der Anzeigenschaltung zu ermitteln.

Häufig auftretende unvollständige Flussmuster

Verschiedene Fehlerpunkte im Ereignisablauf weisen auf bestimmte Arten von Problemen hin, wie z. B. die folgenden.

  • Der Ablauf stoppt, nachdem eine Werbechance erkannt wurde: Weist auf Probleme mit Anzeigenmarkern oder dem Manifest selbst hin, die MediaTailor verhindern, dass eine ADS-Anfrage gestellt wird. Nach der ADS-Anfrage würden Probleme mit der ADS-Konnektivität, der Konfiguration oder dem Timeout auftreten.

  • Flow stoppt nach der ADS-Anfrage: Zeigt ADS-Antwortprobleme, VAST-Analyseprobleme, Fehler bei der kreativen Verarbeitung, ADS-Timeouts, Verbindungsfehler oder Konfigurationsprobleme wie ungültige ADS-URLs an, die erst erkannt werden, wenn die Anfrage gestellt wird.

  • Fehlender Tracking-Beacon: Kann auf Probleme mit der Tracking-Konfiguration, serverseitige Berichtsprobleme oder clientseitige Implementierungslücken hinweisen.

CloudWatch Abfragen für eine unvollständige Flussanalyse

Verwenden Sie diese Amazon CloudWatch Logs Insights-Abfragen, um unvollständige Ereignisabläufe zu identifizieren. Führen Sie diese Abfragen je nach Art der benötigten Analyse anhand der entsprechenden Protokollgruppen aus.

Auswahl der Protokollgruppe:

  • MediaTailor/AdDecisionServerInteractions— Wird für Abfragen zur Analyse von Interaktionen, Werbemöglichkeiten und ADS-related Ausfällen mit dem Ad Decision Server verwendet.

  • MediaTailor/TranscodeService— Wird zur Analyse von Problemen verwendet, bei denen Anzeigen aufgrund von Transcodierungsproblemen, Fehlern bei der kreativen Verarbeitung oder anderen Problemen, die nichts mit Werbung zu tun haben, nicht geschaltet wurden.

Beispiel Identifizieren Sie Werbemöglichkeiten ohne erfolgreiche manifeste Personalisierung

Gruppe protokollieren: MediaTailor/AdDecisionServerInteractions

Die folgende Abfrage identifiziert Werbemöglichkeiten, die nicht zu einer erfolgreichen Manifestpersonalisierung geführt haben:

fields @timestamp, eventType, avail.availId, sessionId | filter eventType = "AD_MARKER_FOUND" | stats count() as total_opportunities by avail.availId | join ( fields @timestamp, eventType, avail.availId | filter eventType = "FILLED_AVAIL" | stats count() as successful_fills by avail.availId ) on avail.availId | where ispresent(total_opportunities) and not ispresent(successful_fills) | sort total_opportunities desc
Beispiel Analysieren Sie die Abschlussraten des Veranstaltungsablaufs

Gruppe protokollieren: MediaTailor/AdDecisionServerInteractions

Die folgende Abfrage analysiert die Abschlussraten verschiedener Ereignistypen:

fields @timestamp, eventType, avail.availId | filter eventType in ["AD_MARKER_FOUND", "MAKING_ADS_REQUEST", "VAST_RESPONSE", "FILLED_AVAIL", "BEACON_FIRED"] | stats count() by eventType, avail.availId | sort avail.availId, eventType
Beispiel findet Sitzungen mit fehlenden Beacon-Ereignissen

Gruppe protokollieren: MediaTailor/AdDecisionServerInteractions

Die folgende Abfrage identifiziert Sessions, für die zwar die Verfügbarkeiten, aber keine entsprechenden Beacon-Ereignisse vorliegen:

fields @timestamp, eventType, sessionId, avail.availId | filter eventType = "FILLED_AVAIL" | stats count() as filled_avails by sessionId | join ( fields @timestamp, eventType, sessionId | filter eventType = "BEACON_FIRED" | stats count() as beacon_events by sessionId ) on sessionId | where filled_avails > 0 and (not ispresent(beacon_events) or beacon_events = 0) | sort filled_avails desc
Beispiel identifiziert Fehler beim Einfügen von Anzeigen im Zusammenhang mit der Transcodierung

Gruppe protokollieren: MediaTailor/TranscodeService

Die folgende Abfrage identifiziert Transcodierungsprobleme, die eine erfolgreiche Anzeigenschaltung verhindern:

fields @timestamp, eventType, sessionId, requestId | filter eventType in ["TRANSCODE_IN_PROGRESS", "INTERNAL_ERROR", "MISSING_VARIANTS", "PROFILE_NOT_FOUND"] | stats count() as transcode_issues by eventType, sessionId | sort transcode_issues desc

Analysieren von Problemen mit dem Zeitpunkt von Ereignissen

Die Analyse des Event-Timings hilft dabei, Leistungsengpässe zu erkennen und die Arbeitsabläufe bei der Anzeigenschaltung zu optimieren. Ungewöhnliche Zeitmuster deuten oft auf grundlegende Probleme hin, die sich auf das Zuschauererlebnis auswirken.

Zeitliche Schwellenwerte für die Leistung

Verwenden Sie diese zeitlichen Schwellenwerte, um potenzielle Leistungsprobleme zu identifizieren.

  • Gesamtdauer des Datenflusses von mehr als 5 Sekunden: Kann sich auf das Zuschauererlebnis auswirken und auf ADS-Leistungsprobleme, Probleme mit dem Ursprungsserver (wie Timeouts beim Abrufen von Manifest) oder auf interne MediaTailor Probleme wie Infrastrukturprobleme mit NAT Gateway, DynamoDB, EC2 oder anderen Systemkomponenten hinweisen.

  • ADS-Antwortzeit von mehr als 2 Sekunden: deutet auf ADS-Leistungsprobleme oder Netzwerklatenzprobleme hin.

  • Offensichtliche Personalisierung von mehr als 1 Sekunde: Kann auf Verzögerungen bei der kreativen Verarbeitung, Probleme mit dem Ursprungsserver (z. B. Timeouts beim Abrufen von Manifesten) oder auf interne MediaTailor Systemprobleme hinweisen, einschließlich Infrastruktureinschränkungen mit NAT Gateway, DynamoDB, EC2 oder anderen Komponenten.

Abfragen zur Timing-Analyse

Verwenden Sie diese Abfragen, um Zeitmuster für Ereignisse zu analysieren.

Beispiel messen Sie die Gesamtdauer des Event-Ablaufs

Die folgende Abfrage misst die Gesamtdauer von Ereignisabläufen und identifiziert Ereignisse, die 5 Sekunden überschreiten:

fields @timestamp, eventType, avail.availId | filter avail.availId = "your-avail-id" | filter eventType in ["AD_MARKER_FOUND", "FILLED_AVAIL"] | sort @timestamp asc | stats min(@timestamp) as start_time, max(@timestamp) as end_time by avail.availId | eval duration_seconds = (end_time - start_time) / 1000 | where duration_seconds > 5
Beispiel Analysieren Sie den Zeitpunkt der ADS-Antwort

Die folgende Abfrage analysiert die ADS-Antwortzeiten und identifiziert diejenigen, die 2 Sekunden überschreiten:

fields @timestamp, eventType, avail.availId | filter avail.availId = "your-avail-id" | filter eventType in ["MAKING_ADS_REQUEST", "VAST_RESPONSE"] | sort @timestamp asc | stats min(@timestamp) as request_time, max(@timestamp) as response_time by avail.availId | eval ads_response_seconds = (response_time - request_time) / 1000 | where ads_response_seconds > 2
Beispiel Identifizieren Sie eine langsame Manifest-Personalisierung

Die folgende Abfrage identifiziert Prozesse zur Manifestpersonalisierung, die länger als 1 Sekunde dauern:

fields @timestamp, eventType, avail.availId | filter avail.availId = "your-avail-id" | filter eventType in ["VAST_RESPONSE", "FILLED_AVAIL"] | sort @timestamp asc | stats min(@timestamp) as response_time, max(@timestamp) as filled_time by avail.availId | eval personalization_seconds = (filled_time - response_time) / 1000 | where personalization_seconds > 1

Häufig auftretende Probleme und Lösungen für den Eventflow

In diesem Abschnitt finden Sie Lösungen für häufig auftretende Probleme mit dem Ereignisablauf, sortiert nach Problemtyp und Symptomen.

Fehler bei der Ad Decision Serveranfrage

Symptome: Der Eventablauf stoppt, nachdem eine Werbechance erkannt wurde. Es wurden keine ADS-Anforderungsereignisse protokolliert.

Häufige Ursachen und Lösungen

  • ADS-URL-Konfigurationsfehler: Stellen Sie sicher, dass die ADS-URL in Ihrer Wiedergabekonfiguration korrekt und zugänglich ist. Im Protokoll der Anzeigeninteraktion sehen Sie ein ADS-Anforderungsereignis (MAKING_ADS_REQUEST), aber keine entsprechende VAST-Antwort, häufig begleitet von einem ERROR_UNKNOWN oder einem ähnlichen Fehlerereignis.

  • Probleme mit der Netzwerkkonnektivität: Prüfen Sie die Netzwerkkonnektivität zwischen MediaTailor und Ihrem ADS, einschließlich der Firewallregeln und der DNS-Auflösung.

  • SSL/TLS Probleme mit Zertifikaten: Stellen Sie sicher, dass Ihr ADS gültige SSL-Zertifikate von einer vertrauenswürdigen Zertifizierungsstelle verwendet. Speziell für Google Ad Manager müssen Sie sich möglicherweise an den AWS-Support wenden, um ein Konfigurations-Flag zu aktivieren, das die SSL-Zertifikate von Google akzeptiert.

Diagnostische Abfrage

Die folgende Abfrage hilft bei der Diagnose von ADS-Anforderungsfehlern, indem sie die Ereignissequenz verfolgt:

fields @timestamp, eventType, sessionId | filter sessionId = "your-session-id" | filter eventType in ["AD_MARKER_FOUND", "MAKING_ADS_REQUEST", "ERROR_ADS_IO", "ERROR_UNKNOWN_HOST"] | sort @timestamp asc

Fehler bei der Antwort des Ad Decision Servers

Symptome: ADS-Anfragen sind erfolgreich, erhalten aber MediaTailor keine Antwort, oder es treten Analysefehler auf.

Häufige Ursachen und Lösungen

  • Ungültiges VAST-Format: Überprüfen Sie Ihre ADS VAST-Antworten anhand der VAST-Spezifikationsstandards.

  • ADS-Timeout-Probleme: Erhöhen Sie die ADS-Timeout-Einstellungen oder optimieren Sie die ADS-Antwortzeit.

  • Leeres Anzeigeninventar: Prüfe die Verfügbarkeit des Anzeigeninventars und die Targeting-Kriterien in deiner ADS-Konfiguration.

Diagnostische Abfrage

Die folgende Abfrage hilft bei der Diagnose von ADS-Antwortfehlern, indem Anforderungs- und Antwortereignisse untersucht werden:

fields @timestamp, eventType, sessionId | filter sessionId = "your-session-id" | filter eventType in ["MAKING_ADS_REQUEST", "VAST_RESPONSE", "EMPTY_VAST_RESPONSE", "ERROR_ADS_RESPONSE_PARSE", "ERROR_ADS_TIMEOUT"] | sort @timestamp asc

Offensichtliche Fehler bei der Personalisierung

Symptome: VAST-Antworten wurden empfangen, aber die Manifest-Personalisierung schlägt fehl oder Anzeigen werden übersprungen.

Häufige Ursachen und Lösungen:

  • Probleme bei der kreativen Transcodierung: Prüfen Sie, ob es sich bei der Anzeige um eine handelt NEW_CREATIVE, die vor der Schaltung transkodiert werden muss. Sie können auch nach Transkodierungsfehlern suchen, indem Sie das MediaTailor/TranscodeService Protokoll auf Fehlerereignisse wieINTERNAL_ERROR, oder überprüfen. MISSING_VARIANTS, PROFILE_NOT_FOUND

  • Probleme, die nicht mit der Dauer übereinstimmen: Stellen Sie sicher, dass die Anzeigendauer der verfügbaren Anzeigenpausen entspricht.

  • Probleme mit den Schwellenwerten für die Personalisierung: Überprüfe die Einstellungen für den Personalisierungsschwellenwert in deiner Wiedergabekonfiguration.

Diagnostische Abfrage

Die folgende Abfrage hilft bei der Diagnose von Fehlern bei der Manifestpersonalisierung, indem sie VAST-Antworten und ausgefüllte Verfügungen untersucht:

fields @timestamp, eventType, sessionId, skippedAds | filter sessionId = "your-session-id" | filter eventType in ["VAST_RESPONSE", "FILLED_AVAIL", "WARNING_NO_ADVERTISEMENTS"] | sort @timestamp asc

Fragen Sie nach Gründen für übersprungene Anzeigen ab

Die folgende Abfrage enthält detaillierte Informationen darüber, warum Anzeigen übersprungen wurden:

fields @timestamp, eventType, sessionId, skippedAds.reason, skippedAds.creativeUniqueId | filter sessionId = "your-session-id" | filter eventType = "WARNING_NO_ADVERTISEMENTS" or ispresent(skippedAds) | sort @timestamp asc

Fragen Sie nach Gründen für übersprungene Anzeigen und nach eindeutigen kreativen IDs ab

Die folgende Abfrage enthält detaillierte Informationen zu übersprungenen Anzeigen, einschließlich der Gründe und der eindeutigen kreativen IDs für die ersten beiden verfügbaren Anzeigen:

fields @timestamp, eventType | filter sessionId = "your-session-id" | filter eventType = "FILLED_AVAIL" | fields avail.skippedAds.0.vastDuration as SkippedDur_Ad0, avail.skippedAds.0.skippedReason as Ad0_SkipReason, avail.skippedAds.0.creativeUniqueId as SkippedCreative0_UID | fields avail.skippedAds.1.vastDuration as SkippedDur_Ad1, avail.skippedAds.1.skippedReason as Ad1_SkipReason, avail.skippedAds.1.creativeUniqueId as SkippedCreative1_UID | sort @timestamp desc

Verfolgung von Beacon-Ausfällen

Symptome: Erfolgreiche Manifest-Personalisierung, aber fehlende oder fehlgeschlagene Tracking-Beacons.

Häufige Ursachen und Lösungen

  • Client-side Implementierungsprobleme: Die meisten Probleme mit Tracking-Beacons sind auf clientseitige Implementierungsprobleme zurückzuführen, z. B. wenn Tracking-URLs nicht häufig genug für das clientseitige Tracking abgefragt werden, oder spielerspezifische Probleme beim Auslösen von Beacons.

  • Probleme mit der Barrierefreiheit von Tracking-URLs: Stellen Sie sicher, dass Tracking-URLs in VAST-Antworten zugänglich sind, und geben Sie entsprechende Antworten zurück. Probleme können auftreten, wenn URLs nicht erreichbar sind oder wenn interne Probleme MediaTailor auftreten, die eine erfolgreiche Übermittlung von Tracking-Antworten verhindern.

  • Probleme bei der Anfrage von Spielersegmenten: Offensichtliche Fehler bei Tracking-Beacons können auftreten, wenn der Client-Spieler eigentlich keine Segmente anfordert. Das hat zur Folge, dass keine Beacons gesendet werden, was wie ein Tracking-Fehler aussieht, aber eigentlich eher ein Problem mit der Spielerimplementierung als ein Beacon-Problem ist.

Diagnostische Abfrage

Die folgende Abfrage hilft bei der Diagnose von Tracking-Beacon-Ausfällen, indem sie ausgefüllte Verfügungen und Beacon-Ereignisse untersucht:

fields @timestamp, eventType, sessionId | filter sessionId = "your-session-id" | filter eventType in ["FILLED_AVAIL", "BEACON_FIRED", "ERROR_FIRING_BEACON_FAILED"] | sort @timestamp asc

Bewährte Methoden zur Überwachung des Ereignisflusses

Implementieren Sie diese Überwachungspraktiken, um Probleme im Ereignisablauf proaktiv zu erkennen und zu lösen:

Alarme einrichten CloudWatch

Erstellen Sie CloudWatch Amazon-Alarme, um wichtige Kennzahlen zum Event-Flow zu überwachen.

  • Alarm zur Abschlussrate des Ablaufs: Warnmeldung, wenn das Verhältnis zwischen erfolgreicher personalisierter Manifest und Werbemöglichkeiten unter akzeptable Schwellenwerte fällt.

  • ADS-Antwortzeitalarm: Überwachen Sie die durchschnittlichen ADS-Antwortzeiten und benachrichtigen Sie, wenn die Leistungsschwellenwerte überschritten werden.

  • Alarm bei der Fehlerrate: Verfolgt die Häufigkeit von Fehlerereignissen und warnt vor ungewöhnlichen Spitzen bei bestimmten Fehlertypen.

Regelmäßige Überwachungsabfragen

Führen Sie diese Abfragen regelmäßig aus, um den Status des Ereignisablaufs im Blick zu behalten:

Beispiel Erfolgsquote beim täglichen Event-Flow

Die folgende Abfrage bietet einen täglichen Überblick über die Erfolgsraten von Event-Flows nach Ereignistyp:

fields @timestamp, eventType | filter @timestamp > datefloor(@timestamp, 1d) | stats count() as total_events by eventType | sort total_events desc
Beispiel stündliche Fehlerrate: Trend

Die folgende Abfrage verfolgt die Fehlerraten pro Stunde, um Trendprobleme zu identifizieren:

fields @timestamp, eventType | filter eventType like /ERROR_/ | stats count() as error_count by datefloor(@timestamp, 1h) as hour | sort hour desc

Anleitungen zur Leistungsoptimierung

Verwenden Sie die Event-Flow-Analyse, um die Leistung bei der Anzeigenschaltung zu optimieren.

  • ADS-Optimierung: Arbeiten Sie mit Ihrem ADS-Anbieter zusammen, um die Antwortzeiten zu optimieren und die Latenz zu reduzieren.

  • Kreative Vorbereitung: Pre-transcode Werbeanzeigen, die zu Ihren Inhaltsprofilen passen und Verzögerungen bei der Bearbeitung reduzieren.

  • Konfigurationsoptimierung: Passen Sie Timeout-Einstellungen, Personalisierungsschwellen und andere Konfigurationsparameter auf der Grundlage der Event-Flow-Analyse an.

Weitere Ressourcen zur Fehlerbehebung

Weitere Anleitungen zur Fehlerbehebung, die über die Ereignisflussanalyse hinausgehen, finden Sie unter: