Memecahkan masalah alur MediaTailor acara - AWS Elemental MediaTailor

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah alur MediaTailor acara

Memahami alur AWS Elemental MediaTailor peristiwa memberikan dasar yang kuat untuk memecahkan masalah penyisipan iklan. Dengan menganalisis urutan, waktu, dan pola peristiwa, Anda dapat dengan cepat mengidentifikasi di mana masalah terjadi dan menerapkan solusi yang ditargetkan.

Bagian ini memberikan panduan praktis untuk menggunakan analisis aliran peristiwa untuk mendiagnosis masalah. Untuk memahami konsep dasar alur peristiwa, lihatAlur acara penyisipan iklan.

Mengidentifikasi alur peristiwa yang tidak lengkap

Alur peristiwa yang tidak lengkap terjadi ketika urutan peristiwa yang diharapkan berhenti sebelum mencapai personalisasi manifes yang berhasil (proses MediaTailor memasukkan informasi iklan yang dipersonalisasi ke dalam manifes). Mengidentifikasi di mana aliran putus membantu menentukan akar penyebab kegagalan penyisipan iklan.

Pola aliran umum yang tidak lengkap

Titik kegagalan yang berbeda dalam aliran peristiwa menunjukkan jenis masalah tertentu, seperti berikut ini.

  • Alur berhenti setelah deteksi peluang iklan: Menunjukkan masalah dengan penanda iklan atau manifes itu sendiri yang MediaTailor mencegah membuat permintaan ADS. Masalah konektivitas, konfigurasi, atau batas waktu ADS akan terjadi setelah permintaan ADS dibuat.

  • Alur berhenti setelah permintaan ADS: Menyarankan masalah respons ADS, masalah penguraian VAST, kegagalan pemrosesan kreatif, batas waktu ADS, kesalahan konektivitas, atau masalah konfigurasi seperti ADS tidak valid URLs yang hanya ditemukan saat permintaan dibuat.

  • Suar pelacakan yang hilang: Mungkin menunjukkan masalah konfigurasi pelacakan, masalah pelaporan sisi server, atau celah implementasi sisi klien.

CloudWatch kueri untuk analisis aliran yang tidak lengkap

Gunakan kueri Amazon CloudWatch Logs Insights ini untuk mengidentifikasi alur peristiwa yang tidak lengkap. Jalankan kueri ini terhadap grup log yang sesuai berdasarkan jenis analisis yang diperlukan.

Pemilihan grup log:

  • MediaTailor/AdDecisionServerInteractions- Gunakan untuk kueri yang menganalisis interaksi server keputusan iklan, peluang iklan, dan kegagalan terkait iklan.

  • MediaTailor/TranscodeService- Gunakan untuk menganalisis masalah di mana iklan tidak dimasukkan karena masalah transcoding, kegagalan pemrosesan kreatif, atau masalah terkait non-iklan lainnya.

contoh mengidentifikasi peluang iklan tanpa personalisasi manifes yang berhasil

Grup log: MediaTailor/AdDecisionServerInteractions

Kueri berikut mengidentifikasi peluang iklan yang tidak menghasilkan personalisasi manifes yang berhasil:

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
contoh menganalisis tingkat penyelesaian aliran peristiwa

Grup log: MediaTailor/AdDecisionServerInteractions

Kueri berikut menganalisis tingkat penyelesaian di berbagai jenis acara:

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
contoh temukan sesi dengan acara suar yang hilang

Grup log: MediaTailor/AdDecisionServerInteractions

Kueri berikut mengidentifikasi sesi yang telah mengisi avails tetapi tidak ada peristiwa suar yang sesuai:

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
contoh mengidentifikasi kegagalan penyisipan iklan terkait transcoding

Grup log: MediaTailor/TranscodeService

Kueri berikut mengidentifikasi masalah transcoding yang mencegah penyisipan iklan berhasil:

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

Menganalisis masalah waktu acara

Analisis waktu peristiwa membantu mengidentifikasi kemacetan kinerja dan mengoptimalkan alur kerja penyisipan iklan. Pola waktu yang tidak biasa sering menunjukkan masalah mendasar yang memengaruhi pengalaman pemirsa.

Ambang waktu kinerja

Gunakan ambang waktu ini untuk mengidentifikasi potensi masalah kinerja.

  • Total durasi aliran lebih dari 5 detik: Dapat memengaruhi pengalaman penampil dan dapat menunjukkan masalah kinerja ADS, masalah server asal (seperti batas waktu pengambilan manifes), atau MediaTailor masalah internal termasuk masalah infrastruktur dengan NAT Gateway, DynamoDB, atau komponen sistem lainnya. EC2

  • Waktu respons ADS lebih dari 2 detik: Menyarankan masalah performa ADS atau masalah latensi jaringan.

  • Personalisasi manifes lebih dari 1 detik: Dapat menunjukkan penundaan pemrosesan kreatif, masalah server asal (seperti batas waktu pengambilan manifes), atau masalah MediaTailor sistem internal termasuk kendala infrastruktur dengan NAT Gateway, DynamoDB, atau komponen lainnya. EC2

Kueri analisis waktu

Gunakan kueri ini untuk menganalisis pola waktu acara.

contoh mengukur total durasi aliran peristiwa

Kueri berikut mengukur total durasi alur peristiwa dan mengidentifikasi yang melebihi 5 detik:

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
contoh menganalisis waktu respons ADS

Kueri berikut menganalisis waktu respons ADS dan mengidentifikasi yang melebihi 2 detik:

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
contoh mengidentifikasi personalisasi manifes lambat

Kueri berikut mengidentifikasi proses personalisasi manifes yang memakan waktu lebih dari 1 detik:

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

Masalah dan solusi aliran peristiwa umum

Bagian ini memberikan solusi untuk masalah alur peristiwa yang sering ditemui, yang diatur berdasarkan jenis masalah dan gejala.

Kegagalan permintaan server keputusan iklan

Gejala: Alur peristiwa berhenti setelah deteksi peluang iklan. Tidak ada peristiwa permintaan ADS yang dicatat.

Penyebab dan solusi umum

  • Kesalahan konfigurasi URL ADS: Verifikasi URL ADS dalam konfigurasi pemutaran Anda sudah benar dan dapat diakses. Di log interaksi iklan, Anda akan melihat peristiwa permintaan ADS (MAKING_ADS_REQUEST) tetapi tidak ada respons VAST yang sesuai, sering disertai dengan peristiwa kesalahan ERROR_UNKNOWN atau serupa.

  • Masalah konektivitas jaringan: Periksa konektivitas jaringan antara MediaTailor dan ADS Anda, termasuk aturan firewall dan resolusi DNS.

  • Masalah sertifikat SSL/TLS: Pastikan ADS Anda menggunakan sertifikat SSL yang valid dari otoritas sertifikat tepercaya. Untuk Google Ad Manager secara khusus, Anda mungkin perlu menghubungi AWS Support untuk mengaktifkan flag konfigurasi yang menerima sertifikat SSL Google.

Permintaan diagnostik

Kueri berikut membantu mendiagnosis kegagalan permintaan ADS dengan melacak urutan peristiwa:

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

Kegagalan respons server keputusan iklan

Gejala: Permintaan ADS berhasil tetapi MediaTailor tidak menerima respons, atau terjadi kesalahan penguraian.

Penyebab dan solusi umum

  • Format VAST tidak valid: Validasi respons ADS VAST Anda terhadap standar spesifikasi VAST.

  • Masalah batas waktu ADS: Tingkatkan setelan batas waktu ADS atau optimalkan waktu respons ADS.

  • Inventaris iklan kosong: Periksa ketersediaan inventaris iklan dan kriteria penargetan dalam konfigurasi ADS Anda.

Permintaan diagnostik

Kueri berikut membantu mendiagnosis kegagalan respons ADS dengan memeriksa peristiwa permintaan dan respons:

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

Manifestasikan kegagalan personalisasi

Gejala: Respons luas diterima tetapi personalisasi manifes gagal atau iklan dilewati.

Penyebab dan solusi umum:

  • Masalah transcoding kreatif: Periksa apakah iklan tersebut adalah NEW_CREATIVE, yang memerlukan transcoding sebelum penyisipan. Anda juga dapat memeriksa kesalahan transcoding dengan memeriksa MediaTailor/TranscodeService log untuk peristiwa kesalahan sepertiINTERNAL_ERROR, MISSING_VARIANTS, atau. PROFILE_NOT_FOUND

  • Masalah ketidakcocokan durasi: Verifikasi durasi iklan sesuai dengan durasi jeda iklan yang tersedia.

  • Masalah ambang personalisasi: Tinjau pengaturan ambang personalisasi dalam konfigurasi pemutaran Anda.

Permintaan diagnostik

Kueri berikut membantu mendiagnosis kegagalan personalisasi manifes dengan memeriksa respons VAST dan ketersediaan yang diisi:

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

Kueri untuk alasan iklan yang dilewati

Kueri berikut memberikan informasi terperinci tentang mengapa iklan dilewati:

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

Kueri untuk alasan iklan yang dilewati dan unik kreatif IDs

Kueri berikut memberikan informasi iklan terperinci yang dilewati termasuk alasan dan unik kreatif IDs untuk dua iklan pertama di masing-masing keuntungan:

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

Melacak kegagalan suar

Gejala: Personalisasi manifes yang berhasil tetapi suar pelacakan hilang atau gagal.

Penyebab dan solusi umum

  • Masalah implementasi sisi klien: Sebagian besar masalah suar pelacakan berasal dari masalah implementasi sisi klien, seperti tidak cukup URLs sering melacak polling untuk pelacakan sisi klien, atau masalah logika penembakan suar khusus pemain.

  • Melacak masalah aksesibilitas URL: Verifikasi bahwa pelacakan URLs dalam respons VAST dapat diakses dan mengembalikan respons yang sesuai. Masalah dapat terjadi ketika tidak dapat URLs dijangkau atau ketika MediaTailor menghadapi masalah internal yang mencegah pengiriman respons pelacakan berhasil.

  • Masalah permintaan segmen pemain: Kegagalan suar pelacakan yang jelas dapat terjadi ketika pemutar klien tidak benar-benar meminta segmen apa pun. Ini menghasilkan tidak ada suar yang dikirim, yang muncul sebagai kegagalan pelacakan tetapi sebenarnya merupakan masalah implementasi pemain daripada masalah suar.

Permintaan diagnostik

Kueri berikut membantu mendiagnosis kegagalan suar pelacakan dengan memeriksa ketersediaan yang terisi dan peristiwa suar:

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

Praktik terbaik pemantauan aliran acara

Menerapkan praktik pemantauan ini untuk secara proaktif mengidentifikasi dan menyelesaikan masalah alur peristiwa:

Menyiapkan CloudWatch alarm

Buat CloudWatch alarm Amazon untuk memantau metrik alur peristiwa utama.

  • Alarm laju penyelesaian aliran: Peringatan saat rasio personalisasi manifes yang berhasil terhadap peluang iklan turun di bawah ambang batas yang dapat diterima.

  • Alarm waktu respons ADS: Pantau waktu respons ADS rata-rata dan waspada saat melebihi ambang batas kinerja.

  • Alarm tingkat kesalahan: Lacak frekuensi peristiwa kesalahan dan waspada pada lonjakan yang tidak biasa pada jenis kesalahan tertentu.

Permintaan pemantauan reguler

Jalankan kueri ini secara teratur untuk menjaga visibilitas ke dalam kesehatan alur acara:

contoh tingkat keberhasilan aliran acara harian

Kueri berikut memberikan ikhtisar harian tentang tingkat keberhasilan alur acara menurut jenis acara:

fields @timestamp, eventType | filter @timestamp > datefloor(@timestamp, 1d) | stats count() as total_events by eventType | sort total_events desc
contoh tren tingkat kesalahan per jam

Kueri berikut melacak tingkat kesalahan menurut jam untuk mengidentifikasi masalah yang sedang tren:

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

Panduan pengoptimalan kinerja

Gunakan analisis alur peristiwa untuk mengoptimalkan performa penyisipan iklan.

  • Optimalisasi ADS: Bekerja sama dengan penyedia ADS Anda untuk mengoptimalkan waktu respons dan mengurangi latensi.

  • Persiapan kreatif: Pra-transkode iklan iklan agar sesuai dengan profil konten Anda dan mengurangi penundaan pemrosesan.

  • Penyetelan konfigurasi: Sesuaikan pengaturan batas waktu, ambang personalisasi, dan parameter konfigurasi lainnya berdasarkan analisis alur peristiwa.

Sumber daya pemecahan masalah tambahan

Untuk panduan pemecahan masalah tambahan di luar analisis alur peristiwa: