View a markdown version of this page

Solución de problemas y supervisión - AWS Elemental MediaTailor

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas y supervisión

Esta página le ayuda a supervisar el rendimiento de la optimización del rendimiento, diagnosticar problemas comunes y comprobar que la configuración funciona correctamente.

Métricas

MediaTailor publica las siguientes CloudWatch métricas para la optimización del rendimiento. Todas las métricas se emiten con una configurationName dimensión, a menos que se indique lo contrario.

Métricas de solicitud de oferta

Métrica Description (Descripción)
YieldOptimization.BidRequest Se emite como 1 cuando se identifica una oportunidad de solicitud de oferta.
YieldOptimization.BidResponse Se emite como 1 cuando se recibe una respuesta a la oferta exitosa.
YieldOptimization.BidDuration La duración de la pausa (segundos) solicitada en la oferta, calculada a partir de la duración disponible menos la duración del anuncio principal.
YieldOptimization.Latency Round-trip latencia respecto a APS en milisegundos.
YieldOptimization.NoBid Se emite como 1 cuando APS devuelve HTTP 204 (sin demanda coincidente). La solicitud en sí era válida.
YieldOptimization.BidRequestThrottled Se emite como 1 cuando APS devuelve HTTP 429 (limitado). APS aplica contrapresión. Retroceda antes de volver a intentarlo.

Métricas de inserción de anuncios

Métrica Description (Descripción)
YieldOptimization.AdsInserted Número de anuncios de YO insertados en la oferta.
YieldOptimization.AdsReturned Número de anuncios devueltos en BidResponse (antes de filtrarlos). Solo se emite cuando es mayor que 0.
YieldOptimization.FilledDuration Duración (ms) rellenada por los anuncios YO.
YieldOptimization.UnfilledDuration Duración (ms) enviada a APS en la solicitud de oferta (intervalo de oportunidades).
YieldOptimization.FillRate Per-avail tasa de llenado: la duración transcodificada de un año dividida por la duración sin llenar antes del año. El numerador está transcodificado y el denominador es VAST-based (ninguno de los dos resta nada), por lo que el valor puede superar 1,0.

Métricas de ingresos y precios

Métrica Description (Descripción)
YieldOptimization.Revenue Ingresos totales del cliente, obtenidos del price atributo de la respuesta a la oferta de OrtB. Suma del precio de los anuncios insertados.
YieldOptimization.IndicativeBidRevenue Valor indicativo sumado por impresión de todas las ofertas DEVUELTAS (precio de oferta por impresión, no por inserción). Dual-emitted al mismo tiempo Revenue durante un período de obsolescencia y se eliminará una vez que se eliminen los paneles. Úselo Revenue para paneles nuevos.
YieldOptimization.BidPriceAdsInserted El precio de CPM de cada anuncio insertado por Yield Optimization. Se dimensiona según el atributo de respuesta a la oferta cur (divisa). No se emite por cliente, por lo que se aplica a toda la cuenta.
YieldOptimization.BidPriceAdsReturned El precio en CPM de cada puja mostrado en BidResponse (antes de filtrar por inserciones). Dimensionado por. cur No se emite por cliente, por lo que se aplica a toda la cuenta.

Métricas de errores y omisiones

Métrica Description (Descripción)
YieldOptimization.Errors Se emite como 1 para errores de conexión, errores de procesamiento de respuestas o excepciones inesperadas. También se emite como 0 en caso de éxito (utilice Sum, no SampleCount).
YieldOptimization.Timeouts Se emite como 1 cuando se agota el tiempo de espera de la solicitud APS. También se emite como 0 en caso de éxito (usa Sum, no SampleCount).
YieldOptimization.BidRequestConfigurationError Se emite como 1 cuando se produce un error en la construcción de la plantilla o de la oferta (faltan campos, JSON no válido).
YieldOptimization.SkipMinUnfilledDurationNotExceeded Se emite como 1 cuando se omite YO porque la duración sin rellenar estaba por debajo del umbral.
YieldOptimization.SkipPersonalizationTimeoutExceeded Se emite como 1 cuando se omite YO porque no queda suficiente tiempo de personalización.
importante

YieldOptimization.Errorsy YieldOptimization.Timeouts se emiten como 0 en cada solicitud exitosa. Usa Sum (not SampleCount) in CloudWatch para obtener el recuento real de errores o tiempos de espera. NoBidy NO BidRequestThrottled se cuentan. Errors Son señales distintas de las condiciones legítimas de falta de demanda y de contrapresión.

Eventos de registro

La optimización del rendimiento genera eventos en el MidasMMSService/ads_interaction_log grupo de registros:

Tipo de evento Description (Descripción)
RAW_BID_REQUEST La solicitud de oferta completa de OpenRTB que JSON envió a APS. Utilícela para verificar la interpolación de plantillas.
RAW_BID_RESPONSE La respuesta a la oferta sin procesar de OpenRTB de APS, que incluye los precios de las ofertas y VAST XML.
FILLED_AVAIL El uso completo de todos los anuncios. Los anuncios YO tienen fillMode: "YIELD_OPTIMIZATION" e incluyenbidId,bidPrice, currencyimpressionId, yseatId.

Los eventos de error se emiten MidasMMSService/application.log con registradores comoYieldOptimizationSupport, OrtbBidRequestBuilderHttpOrtbRequestSubmitter, yOrtbResponseProcessor.

Ejemplos de consultas de CloudWatch Insights

Compruebe si hay errores de YOU

fields @timestamp, message.sessionId, message.message, log.logger, log.level | filter message.awsAccountId = 'YOUR_ACCOUNT_ID' and (log.level = 'ERROR' or log.level = 'WARN') and (log.logger like /YieldOptimization/ or log.logger like /OrtbResponseProcessor/ or log.logger like /HttpOrtbRequestSubmitter/ or log.logger like /OrtbBidRequestBuilder/) | sort @timestamp desc | limit 100

Grupo de registro: MidasMMSService/application.log

Cuenta las solicitudes de oferta frente a las respuestas

fields @timestamp, sessionId, eventType | filter awsAccountId = 'YOUR_ACCOUNT_ID' and (eventType = 'RAW_BID_REQUEST' or eventType = 'RAW_BID_RESPONSE') | stats count(*) by eventType

Grupo de registro: MidasMMSService/ads_interaction_log

Encuentra anuncios de YOU en vales llenos

Cada FILLED_AVAIL evento contiene una creativeAds matriz. Los anuncios YO incluidos en esa matriz contienen fillMode: "YIELD_OPTIMIZATION" metadatos de oferta adicionales: bidIdimpressionId,bidPrice,seatId, ycurrency. Utilízalo para ver qué ofertas cubrió YO, cuántos anuncios de YO se insertaron por oferta y la atribución de ingresos por oferta.

fields @timestamp, sessionId, avail.availId, avail.numAds, avail.fillRate, avail.filledDuration | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'FILLED_AVAIL' and @message like /YIELD_OPTIMIZATION/ | sort @timestamp desc | limit 50

Para ver las entradas individuales de los anuncios de YO (números de puja y precios) de una sesión específica:

fields @timestamp, sessionId, avail.availId, avail.creativeAds | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'FILLED_AVAIL' and sessionId = 'YOUR_SESSION_ID' | sort @timestamp desc | limit 20

Filtre la creativeAds matriz resultante del lado del cliente para ver dónde están las entradas. fillMode == "YIELD_OPTIMIZATION"

Grupo de registros: MidasMMSService/ads_interaction_log

Compruebe si hay variables de plantilla sin resolver

fields @timestamp, sessionId, @message | filter awsAccountId = 'YOUR_ACCOUNT_ID' and eventType = 'RAW_BID_REQUEST' and @message like /\{[A-Z_]+\}/ | sort @timestamp desc | limit 20

Grupo de registro: MidasMMSService/ads_interaction_log

Mida la latencia y la tasa de éxito de YOU

fields @timestamp, @message | filter customerId = 'YOUR_ACCOUNT_ID' and (@message like /YieldOptimization/ or @message like /ortb_/) | limit 10000

Grupo de registro: MidasMMSService/service_log

nota

service_logusa customerId (noawsAccountId) para el campo de ID de cuenta.

Calcular el aumento de rendimiento

Para medir el impacto de la optimización del rendimiento en los ingresos, cree un CloudWatch panel con:

  1. Tasa de llenado incremental: Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest) muestra el porcentaje de oportunidades de empleo que se traducen en anuncios insertados. Como alternativa, Average(YieldOptimization.FillRate) utilízala para la métrica nativa por disponibilidad.

  2. Ingresos por hora: Sum(YieldOptimization.Revenue) a lo largo del tiempo muestra los ingresos totales por cliente de YO. Sum(YieldOptimization.BidPriceAdsInserted)proporciona un CPM promedio en toda la cuenta.

  3. Duración cumplimentada: Sum(YieldOptimization.FilledDuration) en contra Sum(YieldOptimization.BidDuration) indica qué parte de la duración solicitada se cubrió realmente.

Problemas comunes

La optimización del rendimiento no se está activando

Síntoma Check Resolución
No hay ninguna métrica de YO ¿Está YO configurado en la configuración de reproducción? Activa YO en la consola o en la API.
SkipMinUnfilledDurationNotExceededemitiendo El ADS principal está ocupando la mayor parte del descanso Reduzca MinimumUnfilledDuration o acepte que el relleno principal es suficiente.
SkipPersonalizationTimeoutExceededemitiendo El ADS principal es demasiado lento y no deja tiempo para TI Optimice la latencia del ADS principal o compruebe la configuración del SDC para el tiempo de espera de personalización.

Fallo en las solicitudes de oferta

Síntoma Check Resolución
Métrica de BidRequestConfigurationError Faltan campos obligatorios o están vacíos en la plantilla application.logCompruebe el error específico (por ejemplo,app.bundle is required). Corrija la plantilla o asegúrese de que se envíen los parámetros del reproductor.
HTTP 204 de APS YieldOptimization.NoBidincrementando APS devolvió sin oferta. No es un error. Revisa RAW_BID_REQUEST los valores de los marcadores de posición ({UPPER_CASE}patrones), verifica que el bundle y la storeurl sean reales y reduce el límite de oferta.
HTTP 429 de APS YieldOptimization.BidRequestThrottledincrementando APS se está acelerando. Reduzca la tasa de solicitudes. Si persiste, póngase en contacto con el soporte de APS para aumentar los límites de TPS.
HTTP 400 de APS Solicitud JSON no válida Compruebe el mensaje de error de APS enRAW_BID_RESPONSE. Verifique que la estructura JSON coincida con las especificaciones de OpenRTB.
HTTP desde APS 500/503 Error o sobrecarga del servidor APS Problema transitorio. Monitorización de YieldOptimization.Errors. Si persiste, póngase en contacto con el soporte de APS.

Anuncios devueltos pero no insertados

Síntoma Check Resolución
AdsReturned> 0 pero AdsInserted = 0 Anuncios filtrados durante la inserción Comprueba FILLED_AVAIL los registros para ver si se omiten las creatividades: hay creatividades duplicadas, se ha superado el límite restante o no se ha encontrado la variante del anuncio (no se ha completado la transcodificación).

Referencia a los códigos de error de APS

Código Significado Causas habituales
200 ¿Éxito con las ofertas Funcionando correctamente.
204 ¿Sin puja La solicitud es válida, pero no había ofertas disponibles. Esto no indica ningún error en la plantilla.
400 Solicitud incorrecta JSON no válido, faltan los campos obligatorios según la especificación de OpenRTB.
500 Error del servidor Problema interno de APS, servicio limitado, tiempo de espera.
503 Servicio sobrecargado Contrapresión APS. No lo vuelvas a intentar de forma agresiva.
429 Solicitudes restringidas APS ha comenzado manualmente a limitar las solicitudes. Póngase en contacto con el soporte de APS si persiste.