Résolution des problèmes liés au flux d' MediaTailor événements - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés au flux d' MediaTailor événements

Comprendre le flux d' AWS Elemental MediaTailor événements constitue une base solide pour résoudre les problèmes d'insertion de publicités. En analysant la séquence, le calendrier et les modèles des événements, vous pouvez rapidement identifier les problèmes et mettre en œuvre des solutions ciblées.

Cette section fournit des conseils pratiques sur l'utilisation de l'analyse du flux d'événements pour diagnostiquer les problèmes. Pour comprendre les concepts de base du flux d'événements, voirFlux d'événements d'insertion d'annonces.

Identification des flux d'événements incomplets

Des flux d'événements incomplets se produisent lorsque la séquence d'événements attendue s'arrête avant que la personnalisation du manifeste ne soit réussie (processus d' MediaTailor insertion d'informations publicitaires personnalisées dans le manifeste). L'identification des interruptions du flux permet d'identifier la cause première des échecs d'insertion de publicités.

Schémas de flux incomplets courants

Les différents points de défaillance du flux d'événements indiquent des types de problèmes spécifiques, tels que les suivants.

  • Le flux s'arrête après la détection d'une opportunité publicitaire : indique des problèmes liés aux marqueurs publicitaires ou au manifeste lui-même qui MediaTailor empêchent de faire une demande ADS. Des problèmes de connectivité, de configuration ou de temporisation ADS peuvent survenir une fois la demande ADS effectuée.

  • Le flux s'arrête après une demande ADS : suggère des problèmes de réponse ADS, des problèmes d'analyse VAST, des échecs de traitement créatif, des délais ADS, des erreurs de connectivité ou des problèmes de configuration tels qu'un ADS non valide URLs qui ne sont découverts que lorsque la demande est faite.

  • Balise de suivi manquante : cela peut indiquer des problèmes de configuration de suivi, des problèmes de reporting côté serveur ou des lacunes de mise en œuvre côté client.

CloudWatch requêtes pour une analyse de flux incomplète

Utilisez ces requêtes Amazon CloudWatch Logs Insights pour identifier les flux d'événements incomplets. Exécutez ces requêtes sur les groupes de journaux appropriés en fonction du type d'analyse requis.

Sélection du groupe de logs :

  • MediaTailor/AdDecisionServerInteractions- À utiliser pour les requêtes analysant les interactions entre les serveurs de décision publicitaire, les opportunités publicitaires et les échecs liés aux publicités.

  • MediaTailor/TranscodeService- À utiliser pour analyser les problèmes liés au fait que des publicités n'ont pas été insérées en raison de problèmes de transcodage, d'échecs de traitement créatif ou d'autres problèmes non liés aux publicités.

Exemple identifier les opportunités publicitaires sans une personnalisation réussie des manifestes

Groupe de journaux : MediaTailor/AdDecisionServerInteractions

La requête suivante identifie les opportunités publicitaires qui n'ont pas abouti à une personnalisation réussie du manifeste :

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
Exemple analyser les taux d'achèvement du flux d'événements

Groupe de journaux : MediaTailor/AdDecisionServerInteractions

La requête suivante analyse les taux d'achèvement des différents types d'événements :

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
Exemple rechercher des sessions avec des événements de balise manquants

Groupe de journaux : MediaTailor/AdDecisionServerInteractions

La requête suivante identifie les sessions qui ont des disponibilités complètes mais aucun événement de balise correspondant :

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
Exemple identifier les échecs d'insertion de publicités liés au transcodage

Groupe de journaux : MediaTailor/TranscodeService

La requête suivante identifie les problèmes de transcodage qui empêchent l'insertion réussie des annonces :

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

Analyse des problèmes de chronométrage des événements

L'analyse du calendrier des événements permet d'identifier les obstacles aux performances et d'optimiser les flux de travail d'insertion de publicités. Des schémas temporels inhabituels indiquent souvent des problèmes sous-jacents qui affectent l'expérience du spectateur.

Seuils temporels de performance

Utilisez ces seuils temporels pour identifier les problèmes de performances potentiels.

  • Durée totale du flux supérieure à 5 secondes : peut avoir un impact sur l'expérience utilisateur et peut indiquer des problèmes de performances ADS, des problèmes de serveur d'origine (tels que les délais de récupération des manifestes) ou des problèmes internes, notamment MediaTailor des problèmes d'infrastructure liés à NAT Gateway, EC2 DynamoDB ou à d'autres composants du système.

  • Temps de réponse ADS supérieur à 2 secondes : suggère des problèmes de performance ADS ou des problèmes de latence du réseau.

  • Personnalisation du manifeste en plus d'une seconde : peut indiquer des retards de traitement créatif, des problèmes liés au serveur d'origine (tels que les délais de récupération des manifestes) ou des problèmes MediaTailor du système interne, notamment des contraintes d'infrastructure liées à NAT Gateway, DynamoDB ou à d'autres composants. EC2

Requêtes d'analyse chronologique

Utilisez ces requêtes pour analyser les modèles temporels des événements.

Exemple mesurer la durée totale du flux d'événements

La requête suivante mesure la durée totale des flux d'événements et identifie ceux qui dépassent 5 secondes :

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
Exemple analyser le temps de réponse ADS

La requête suivante analyse les temps de réponse de l'ADS et identifie ceux supérieurs à 2 secondes :

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
Exemple identifier la lenteur de la personnalisation des manifestes

La requête suivante identifie les processus de personnalisation du manifeste qui prennent plus d'une seconde :

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

Problèmes courants liés au flux d'événements et solutions

Cette section fournit des solutions aux problèmes de flux d'événements fréquemment rencontrés, organisées par type de problème et par symptômes.

Défaillances des demandes du serveur Ad Decision

Symptômes : le flux d'événements s'arrête après la détection d'une opportunité publicitaire. Aucun événement de demande ADS n'a été enregistré.

Causes courantes et solutions

  • Erreurs de configuration de l'URL ADS : vérifiez que l'URL ADS dans votre configuration de lecture est correcte et accessible. Dans le journal des interactions publicitaires, vous verrez un événement de demande ADS (MAKING_ADS_REQUEST) mais aucune réponse VAST correspondante, souvent accompagnée d'un événement d'erreur ERROR_UNKNOWN ou d'un événement similaire.

  • Problèmes de connectivité réseau : vérifiez la connectivité réseau entre MediaTailor et votre ADS, y compris les règles de pare-feu et la résolution DNS.

  • Problèmes liés aux certificats SSL/TLS : assurez-vous que votre ADS utilise des certificats SSL valides provenant d'une autorité de certification fiable. Pour Google Ad Manager en particulier, vous devrez peut-être contacter AWS Support pour activer un indicateur de configuration qui accepte les certificats SSL de Google.

Requête diagnostique

La requête suivante permet de diagnostiquer les échecs des demandes ADS en suivant la séquence des événements :

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

Défaillances de réponse du serveur Ad Decision

Symptômes : les demandes ADS aboutissent mais MediaTailor ne reçoivent pas de réponse, ou des erreurs d'analyse se produisent.

Causes courantes et solutions

  • Format VAST non valide : validez vos réponses ADS VAST par rapport aux normes de spécification VAST.

  • Problèmes de délai d'attente ADS : augmentez les paramètres de délai d'attente ADS ou optimisez le temps de réponse ADS.

  • Inventaire publicitaire vide : vérifiez la disponibilité de l'inventaire publicitaire et les critères de ciblage dans votre configuration ADS.

Requête diagnostique

La requête suivante permet de diagnostiquer les échecs de réponse ADS en examinant les événements de demande et de réponse :

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

Défaillances manifestes de personnalisation

Symptômes : de nombreuses réponses ont été reçues, mais la personnalisation du manifeste échoue ou les publicités sont ignorées.

Causes courantes et solutions :

  • Problèmes de transcodage créatif : vérifiez si l'annonce est une NEW_CREATIVE, ce qui nécessite un transcodage avant son insertion. Vous pouvez également vérifier les erreurs de transcodage en examinant le MediaTailor/TranscodeService journal pour détecter les événements d'erreur tels queINTERNAL_ERROR, MISSING_VARIANTS, ouPROFILE_NOT_FOUND.

  • Problèmes d'inadéquation des durées : vérifiez que les durées des annonces correspondent aux durées de pause publicitaire disponibles.

  • Problèmes liés au seuil de personnalisation : passez en revue les paramètres du seuil de personnalisation dans votre configuration de lecture.

Requête diagnostique

La requête suivante permet de diagnostiquer les échecs manifestes de personnalisation en examinant les réponses VAST et les fichiers remplis :

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

Requête pour des raisons liées à des annonces ignorées

La requête suivante fournit des informations détaillées sur les raisons pour lesquelles les annonces ont été ignorées :

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

Requête pour des raisons liées aux publicités ignorées et à la création unique IDs

La requête suivante fournit des informations détaillées sur les annonces ignorées, y compris IDs les raisons et le caractère unique des deux premières annonces disponibles :

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

Suivi des défaillances des balises

Symptômes : Personnalisation réussie du manifeste, mais balises de suivi manquantes ou défaillantes.

Causes courantes et solutions

  • Problèmes de mise en œuvre côté client : La plupart des problèmes liés aux balises de suivi sont dus à des problèmes d'implémentation côté client, tels que le fait de ne pas interroger le suivi assez URLs fréquemment pour le suivi côté client ou de problèmes de logique de déclenchement de balises spécifiques au joueur.

  • Suivi des problèmes d'accessibilité des URL : vérifiez que le suivi URLs dans les réponses VAST est accessible et renvoyez les réponses appropriées. Des problèmes peuvent survenir lorsqu'ils ne URLs sont pas joignables ou lorsque MediaTailor des problèmes internes empêchent le suivi réussi de la livraison des réponses.

  • Problèmes liés aux demandes de segments de joueurs : des défaillances apparentes des balises de suivi peuvent survenir lorsque le joueur client ne demande aucun segment. Il en résulte qu'aucune balise n'est envoyée, ce qui apparaît comme un échec de suivi, mais il s'agit en fait d'un problème d'implémentation du joueur plutôt que d'un problème de balise.

Requête diagnostique

La requête suivante permet de diagnostiquer les défaillances des balises de suivi en examinant les disponibilités remplies et les événements des balises :

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

Meilleures pratiques en matière de surveillance du flux d'événements

Mettez en œuvre ces pratiques de surveillance pour identifier et résoudre de manière proactive les problèmes de flux d'événements :

Configuration des CloudWatch alarmes

Créez des CloudWatch alarmes Amazon pour surveiller les indicateurs clés du flux d'événements.

  • Alarme relative au taux d'achèvement du flux : alerte lorsque le ratio entre la personnalisation réussie du manifeste et les opportunités publicitaires tombe en dessous des seuils acceptables.

  • Alarme de temps de réponse ADS : surveillez les temps de réponse moyens de l'ADS et alertez lorsqu'ils dépassent les seuils de performance.

  • Alarme de taux d'erreur : suivez la fréquence des événements d'erreur et alertez en cas de pics inhabituels liés à des types d'erreur spécifiques.

Requêtes de surveillance régulières

Exécutez régulièrement ces requêtes pour conserver une visibilité sur l'état du flux d'événements :

Exemple taux de réussite du flux d'événements quotidien

La requête suivante fournit un aperçu quotidien des taux de réussite du flux d'événements par type d'événement :

fields @timestamp, eventType | filter @timestamp > datefloor(@timestamp, 1d) | stats count() as total_events by eventType | sort total_events desc
Exemple évolution du taux d'erreur horaire

La requête suivante suit les taux d'erreur par heure afin d'identifier les problèmes courants :

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

Conseils pour l'optimisation des performances

Utilisez l'analyse du flux d'événements pour optimiser les performances d'insertion de publicités.

  • Optimisation ADS : collaborez avec votre fournisseur ADS pour optimiser les temps de réponse et réduire le temps de latence.

  • Préparation créative : pré-transcodez les créations publicitaires pour qu'elles correspondent à vos profils de contenu et réduisez les délais de traitement.

  • Réglage de la configuration : ajustez les paramètres de délai d'expiration, les seuils de personnalisation et les autres paramètres de configuration en fonction de l'analyse du flux d'événements.

Ressources supplémentaires pour la résolution des problèmes

Pour des conseils de dépannage supplémentaires allant au-delà de l'analyse du flux d'événements :