View a markdown version of this page

Memec MediaTailor ahkan masalah alur peristiwa - AWS Elemental MediaTailor

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

Memec MediaTailor ahkan masalah alur peristiwa

Memahami AWS Elemental MediaTailor alur acara 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 alur peristiwa dasar, lihatAlur acara penyisipan iklan.

Mengidentifikasi aliran 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 lokasi putusnya aliran membantu menentukan akar penyebab kegagalan penyisipan iklan.

Pola aliran umum yang tidak lengkap

Titik kegagalan yang berbeda dalam alur 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 URL ADS tidak valid yang hanya ditemukan saat permintaan dibuat.

  • Suar pelacakan 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 dibutuhkan.

Pemilihan grup log:

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

  • MediaTailor/TranscodeService- Gunakan untuk menganalisis masalah di mana iklan tidak disisipkan 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 acara

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 peristiwa suar yang hilang

Grup log: MediaTailor/AdDecisionServerInteractions

Kueri berikut mengidentifikasi sesi yang telah mengisi ketersediaan 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 acara membantu mengidentifikasi hambatan 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.

  • Durasi aliran total lebih dari 5 detik: Dapat memengaruhi pengalaman pemirsa 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, EC2, atau komponen sistem lainnya.

  • Waktu respons ADS lebih dari 2 detik: Menyar ankan masalah kinerja 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, EC2, atau komponen lainnya.

Kueri analisis waktu

Gunakan kueri ini untuk menganalisis pola waktu peristiwa.

contoh mengukur durasi aliran peristiwa total

Kueri berikut mengukur durasi total alur peristiwa dan mengidentifikasi durasi 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 waktu 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, diatur berdasarkan jenis masalah dan gejala.

Kegagalan permintaan server keputusan iklan

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

Penyebab dan solusi umum

  • Kesalahan konfigurasi URL ADS: Pastikan URL ADS dalam konfigurasi pemutaran Anda 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 peristiwa serupa.

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

  • SSL/TLS masalah sertifikat: Pastikan ADS Anda menggunakan sertifikat SSL yang valid dari otoritas sertifikat tepercaya. Khususnya untuk Google Ad Manager, Anda mungkin perlu menghubungi Dukungan AWS untuk mengaktifkan tanda konfigurasi yang menerima sertifikat SSL Google.

Kueri 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: Ting katkan setelan batas waktu ADS atau optimalkan waktu respons ADS.

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

Kueri 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

Kegagalan personalisasi nyata

Gejala: Tanggapan V AST diterima tetapi personalisasi manifes gagal atau iklan dilewati.

Penyebab dan solusi umum:

  • Masalah transcoding kreatif: Per iksa apakah iklan tersebut adalah iklan NEW_CREATIVE, yang memerlukan transcoding sebelum penyisipan. Anda juga dapat memeriksa kesalahan transcoding dengan memeriksa MediaTailor/TranscodeService log untuk kejadian kesalahan sepertiINTERNAL_ERROR, MISSING_VARIANTS, atauPROFILE_NOT_FOUND.

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

  • Masalah ambang batas personalisasi: Tinjau setelan ambang personalisasi dalam konfigurasi pemutaran Anda.

Kueri 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 alasan 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 ID unik kreatif

Kueri berikut memberikan informasi detail iklan yang dilewati termasuk alasan dan ID unik kreatif untuk dua iklan pertama di masing-masing iklan tersedia:

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 berhasil tetapi beacon pelacakan hilang atau gagal.

Penyebab dan solusi umum

  • Client-side masalah implementasi: Sebagian besar masalah suar pelacakan berasal dari masalah implementasi sisi klien, seperti tidak cukup sering melakukan polling URL pelacakan untuk pelacakan sisi klien, atau masalah logika pemicu suar khusus pemain.

  • Masalah aksesibilitas URL pelacakan: Pastikan URL pelacakan dalam respons VAST dapat diakses dan mengembalikan tanggapan yang sesuai. Masalah dapat terjadi ketika URL tidak dapat dijangkau atau ketika menemukan masalah MediaTailor internal yang mencegah pengiriman respons pelacakan berhasil.

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

Kueri diagnostik

Kueri berikut membantu mendiagnosis kegagalan suar pelacakan dengan memeriksa ketersediaan yang diisi 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

Terapkan 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 tingkat penyelesaian aliran: Peringatan ketika 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 beri peringatan saat melebihi ambang kinerja.

  • Alarm tingkat kesalahan: L acak frekuensi kejadian kesalahan dan waspada pada lonjakan yang tidak biasa pada jenis kesalahan tertentu.

Kueri pemantauan reguler

Jalankan kueri ini secara teratur untuk menjaga visibilitas ke dalam kondisi alur peristiwa:

contoh tingkat keberhasilan alur acara harian

Kueri berikut memberikan ikhtisar harian tingkat keberhasilan alur acara berdasarkan 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 per 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 kinerja penyisipan iklan.

  • Pengoptimalan ADS: Bek erja sama dengan penyedia ADS Anda untuk mengoptimalkan waktu respons dan mengurangi latensi.

  • Persiapan kreatif: kreasi Pre-transcode iklan agar sesuai dengan profil konten Anda dan mengurangi penundaan pemrosesan.

  • Penyetelan konfigurasi: S esuaikan pengaturan batas waktu, ambang batas personalisasi, dan parameter konfigurasi lainnya berdasarkan analisis aliran peristiwa.

Sumber daya pemecahan masalah tambahan

Untuk panduan pemecahan masalah tambahan di luar analisis alur peristiwa: