View a markdown version of this page

Risoluzione dei problemi e monitoraggio - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi e monitoraggio

Questa pagina consente di monitorare le prestazioni di ottimizzazione del rendimento, diagnosticare i problemi più comuni e verificare che la configurazione funzioni correttamente.

Metriche

MediaTailor pubblica le seguenti CloudWatch metriche per l'ottimizzazione del rendimento. Tutte le metriche vengono emesse con una configurationName dimensione se non diversamente indicato.

Metriche relative alle richieste di offerta

Metrica Description
YieldOptimization.BidRequest Emesso come 1 quando viene identificata un'opportunità di richiesta di offerta.
YieldOptimization.BidResponse Emesso come 1 quando viene ricevuta una risposta all'offerta positiva.
YieldOptimization.BidDuration La durata dell'interruzione (secondi) richiesta nell'offerta, calcolata dalla durata dell'utile meno la durata dell'annuncio principale.
YieldOptimization.Latency Round-trip latenza rispetto all'APS in millisecondi.
YieldOptimization.NoBid Emesso come 1 quando APS restituisce HTTP 204 (nessuna richiesta corrispondente). La richiesta stessa era valida.
YieldOptimization.BidRequestThrottled Emesso come 1 quando APS restituisce HTTP 429 (con limitazione). L'APS sta applicando una contropressione. Torna indietro prima di riprovare.

Metriche di inserimento degli annunci

Metrica Description
YieldOptimization.AdsInserted Numero di annunci YO inseriti nell'avail.
YieldOptimization.AdsReturned Numero di annunci restituiti in BidResponse (prima del filtraggio). Emesso solo se maggiore di 0.
YieldOptimization.FilledDuration Durata (ms) compilata dagli annunci YO.
YieldOptimization.UnfilledDuration Durata (ms) inviata ad APS nella richiesta di offerta (gap di opportunità).
YieldOptimization.FillRate Per-avail tasso di riempimento: durata YO transcodificata divisa per la durata non compilata pre-YO. Il numeratore è transcodificato e il denominatore è VAST-based (né sottrae il paraurti), quindi il valore può superare 1,0.

Metriche relative ai ricavi e ai prezzi

Metrica Description
YieldOptimization.Revenue Ricavi totali per il cliente, derivanti dall'priceattributo della risposta all'offerta OrTB. Somma del prezzo degli annunci inseriti.
YieldOptimization.IndicativeBidRevenue Valore indicativo sommato per impressione di tutte le offerte RESTITUITE (prezzo dell'offerta per impressione, non per inserzione). Dual-emitted vengono affiancati Revenue durante una finestra di deprezzamento e verranno rimossi una volta che le dashboard saranno chiuse. Utilizzalo Revenue per nuove dashboard.
YieldOptimization.BidPriceAdsInserted Il prezzo CPM di ogni annuncio inserito da Yield Optimization. Dimensionato dall'attributo della risposta all'offerta cur (valuta). Non viene emesso per cliente, quindi è valido per l'intero account.
YieldOptimization.BidPriceAdsReturned Il prezzo CPM di ciascuna offerta è stato restituito in (prima di essere filtrato per inserzioni BidResponse ). Dimensionato da. cur Non viene emesso per cliente, quindi è a livello di account.

Metriche relative agli errori e ai salti

Metrica Description
YieldOptimization.Errors Emesso come 1 per errori di connessione, errori di elaborazione delle risposte o eccezioni impreviste. Viene emesso anche come 0 in caso di successo (usa Sum, not). SampleCount
YieldOptimization.Timeouts Emesso come 1 quando la richiesta APS scade. Emesso anche come 0 in caso di successo (usa Sum, not SampleCount).
YieldOptimization.BidRequestConfigurationError Emesso come 1 quando la costruzione del modello o dell'offerta fallisce (campi mancanti, JSON non valido).
YieldOptimization.SkipMinUnfilledDurationNotExceeded Emesso come 1 quando YO è stato saltato perché la durata non compilata era inferiore alla soglia.
YieldOptimization.SkipPersonalizationTimeoutExceeded Emesso come 1 quando YO è stato saltato perché rimaneva un tempo di personalizzazione insufficiente.
Importante

YieldOptimization.Errorse YieldOptimization.Timeouts vengono emessi come 0 per ogni richiesta andata a buon fine. Usa Sum (not SampleCount) in CloudWatch per ottenere il conteggio effettivo degli errori o dei timeout. NoBide NON BidRequestThrottled vengono conteggiatiErrors. Sono segnali separati che indicano condizioni legittime di assenza di richiesta e di contropressione.

Eventi di log

Yield Optimization genera eventi nel gruppo di logMidasMMSService/ads_interaction_log:

Tipo di evento Description
RAW_BID_REQUEST La richiesta di offerta OpenRTB completa in formato JSON inviata ad APS. Usalo per verificare l'interpolazione del modello.
RAW_BID_RESPONSE La risposta grezza all'offerta OpenRTB fornita da APS, compresi i prezzi delle offerte e il formato XML VAST.
FILLED_AVAIL La versione completa con tutti gli annunci. Gli annunci YO hanno fillMode: "YIELD_OPTIMIZATION" e includono bidIdbidPrice,, currencyimpressionId, eseatId.

Gli eventi di errore vengono emessi MidasMMSService/application.log con logger comeYieldOptimizationSupport,OrtbBidRequestBuilder, HttpOrtbRequestSubmitter e. OrtbResponseProcessor

Esempi di domande Insights CloudWatch

Verifica la presenza di errori YO

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

Gruppo di log: MidasMMSService/application.log

Conta le richieste di offerta rispetto alle risposte

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

Gruppo di log: MidasMMSService/ads_interaction_log

Trova annunci YO in esaurimento

Ogni FILLED_AVAIL evento contiene un creativeAds array. Gli annunci YO all'interno di tale array contengono fillMode: "YIELD_OPTIMIZATION" metadati di offerta aggiuntivi:bidId,impressionId, bidPriceseatId, e. currency Usalo per vedere quali avali sono stati riempiti da YO, quanti annunci YO sono stati inseriti per ogni risultato e l'attribuzione delle entrate per offerta.

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

Per visualizzare i singoli annunci YO (ID delle offerte e prezzi) per una sessione specifica:

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

Filtra l'creativeAdsarray risultante sul lato client per le voci in cui. fillMode == "YIELD_OPTIMIZATION"

Gruppo di log: MidasMMSService/ads_interaction_log

Verifica la presenza di variabili di modello non risolte

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

Gruppo di log: MidasMMSService/ads_interaction_log

Misura la latenza e la percentuale di successo di YO

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

Gruppo di log: MidasMMSService/service_log

Nota

service_logutilizza customerId (nonawsAccountId) per il campo ID dell'account.

Calcolo dell'aumento del rendimento

Per misurare l'impatto sulle entrate dell'ottimizzazione del rendimento, crea una CloudWatch dashboard con:

  1. Percentuale di riempimento incrementale: Sum(YieldOptimization.AdsInserted) / Sum(YieldOptimization.BidRequest) mostra la percentuale di opportunità YO che genera annunci inseriti. In alternativa, utilizzalo come metrica nativa Average(YieldOptimization.FillRate) per uso.

  2. Ricavi orari: Sum(YieldOptimization.Revenue) nel tempo mostra i ricavi totali per cliente generati da YO. Sum(YieldOptimization.BidPriceAdsInserted)fornisce il CPM medio a livello di account.

  3. Durata riempita: Sum(YieldOptimization.FilledDuration) il valore Sum(YieldOptimization.BidDuration) contrassegnato indica la parte della durata richiesta effettivamente soddisfatta.

Problemi comuni

L'ottimizzazione del rendimento non si attiva

Caratteristiche Verifica Risoluzione
Nessuna metrica YO YO è configurato nella configurazione di riproduzione? Abilita YO nella console o nell'API.
SkipMinUnfilledDurationNotExceededemettendo L'ADS primario sta riempiendo la maggior parte della pausa Abbassa MinimumUnfilledDuration o accetta che il riempimento principale sia sufficiente.
SkipPersonalizationTimeoutExceededemettendo L'ADS primario è troppo lento e non lascia tempo a YO Ottimizza la latenza dell'ADS primario o controlla il timeout della personalizzazione (configurazione SDC).

Richieste di offerta non riuscite

Caratteristiche Verifica Risoluzione
Parametro BidRequestConfigurationError Il modello presenta campi obbligatori mancanti o vuoti Verifica application.log l'errore specifico (ad esempio,app.bundle is required). Correggi il modello o assicurati che i parametri del giocatore vengano inviati.
HTTP 204 da APS YieldOptimization.NoBidincrementando L'APS non ha restituito alcuna offerta. Non è un errore. Controlla RAW_BID_REQUEST i valori segnaposto ({UPPER_CASE}pattern), verifica che bundle e storeurl siano reali, offerta inferiore.
HTTP 429 di APS YieldOptimization.BidRequestThrottledincrementando L'APS sta rallentando. Percentuale di richieste di annullamento. Se persistente, contatta l'assistenza APS per aumentare i limiti TPS.
HTTP 400 di APS Richiesta JSON non valida Controlla il messaggio di errore APS in. RAW_BID_RESPONSE Verifica che la struttura JSON corrisponda alle specifiche OpenRTB.
500/503 HTTP da APS Errore o sovraccarico del server APS Problema transitorio. Monitor. YieldOptimization.Errors Se persistente, contatta l'assistenza APS.

Annunci restituiti ma non inseriti

Caratteristiche Verifica Risoluzione
AdsReturned> 0 ma AdsInserted = 0 Annunci filtrati durante l'inserimento Controlla FILLED_AVAIL i log per i motivi che saltano: creatività duplicate, soglia residua superata o variante dell'annuncio non trovata (transcodifica non completa).

Riferimento ai codici di errore APS

Codice Significato Cause comuni
200 Successo con le offerte Funzionamento corretto
204 Nessuna offerta La richiesta è valida ma non erano disponibili offerte. Ciò non indica un errore nel modello.
400 Richiesta errata JSON non valido, mancano i campi obbligatori per le specifiche OpenRTB.
500 Errore del server Problema interno dell'APS, limitazione del servizio, timeout.
503 Servizio sovraccarico Contropressione APS. Non riprovare in modo aggressivo.
429 Con throttle APS ha iniziato a limitare manualmente le richieste. Contatta l'assistenza APS se persistente.