Memantau dan memecahkan masalah

Halaman ini menjelaskan cara mendapatkan informasi tentang error yang terjadi dalam impor peristiwa pengguna dan katalog serta dalam operasi API lainnya di Vertex AI Search untuk retail.

Untuk mendapatkan bantuan terkait penyiapan pemberitahuan, lihat Menyiapkan pemberitahuan Cloud Monitoring.

Pengantar

Memberikan informasi katalog dan peristiwa pengguna yang akurat ke API sangat penting untuk mendapatkan hasil dengan kualitas tertinggi. Dengan memantau dan memahami sumber error, Anda akan dapat menemukan dan memperbaiki error di situs.

Lihat error integrasi gabungan

Untuk melihat error gabungan yang dihasilkan oleh proses upload data dan prediksi atau permintaan penelusuran, gunakan halaman Monitoring.

Halaman ini menampilkan semua error untuk Vertex AI Search for retail API. Anda dapat melihat error yang terkait dengan katalog produk, peristiwa pengguna, prediksi rekomendasi, hasil penelusuran, dan model. Sistem juga mencatat error dari impor, seperti baris dengan format yang salah di file Cloud Storage Anda. Sistem mencatat hingga 100 error per file impor. Anda dapat menentukan jangka waktu error ditampilkan dan memfilter berdasarkan jenis error.

Anda dapat mengklik setiap error untuk melihat log error tersebut di Cloud Logging.

Anda dapat membuka log error satu per satu dengan meluaskan log tersebut. Log error memberikan detail selengkapnya tentang permintaan, termasuk payload permintaan dan respons, serta detail error. Informasi ini dapat membantu Anda menentukan lokasi panggilan metode yang salah di situs Anda.

Untuk error JSON yang tidak valid, Anda dapat memperoleh informasi selengkapnya tentang masalah tersebut dengan memperluas kolom status.

Lihat status untuk operasi integrasi tertentu

Anda dapat melihat status operasi integrasi tertentu di jendela Activity status:

  1. Buka halaman Data> di konsol Search for Retail.

    Buka halaman Data

  2. Klik Status aktivitas.

    Jendela Activity status menampilkan status operasi yang berjalan lama pada katalog produk, peristiwa pengguna, dan kontrol Anda.

    Anda dapat memeriksa error untuk operasi integrasi tertentu di jendela ini.

  3. Klik View logs di kolom Detail operasi apa pun yang mengalami error untuk memeriksa file log-nya di Cloud Logging.

Melihat log di Cloud Logging

Untuk membuka file log Anda secara langsung di Cloud Logging, gunakan prosedur berikut. Anda harus memiliki peran Logs Viewer (roles/logging.viewer) untuk melihat log.

  1. Buka Logs Explorer di Konsol Google Cloud. Buka Logs Explorer

  2. Pilih Vertex AI Search Anda untuk project retail dari pemilih project.

  3. Klik menu drop-down Resource dan pilih Consumed API > Retail Cloud.

Untuk mengetahui informasi selengkapnya tentang Logs Explorer, baca Melihat log menggunakan Logs Explorer.

Misalnya, link berikut akan membuka log untuk semua error retail di Vertex AI Search dalam satu jam terakhir:

Buka Vertex AI Search untuk log retail

Untuk mengonfigurasi log API yang akan ditulis, lihat Mengonfigurasi Logging.

Konfigurasikan Pencatatan Log

Anda dapat mengonfigurasi log layanan mana yang ditulis ke Logging. Konfigurasi logging menyediakan cara untuk menetapkan tingkat keparahan yang diperlukan untuk menulis log, mengaktifkan atau menonaktifkan logging, dan mengganti setelan logging default untuk layanan tertentu.

Setiap permintaan API yang dibuat pengguna akhir dapat membuat satu entri logging. Entri berisi informasi seperti metode API, kapan metode tersebut dipanggil, kode respons, serta isi permintaan dan respons. Konfigurasi logging project menentukan jenis log yang dihasilkan oleh API yang akan ditulis ke Logging, dengan opsi untuk secara terperinci menentukan konfigurasi logging untuk layanan API tertentu.

Untuk memperbarui konfigurasi logging, Anda memerlukan peran Vertex AI Search untuk editor retail.

Anda dapat menggunakan konsol atau LoggingConfig API untuk mengonfigurasi Logging.

Konsol

Untuk mengupdate konfigurasi logging di konsol, ikuti langkah-langkah berikut:

  1. Buka halaman Monitoring di Search for Retail console.

    Buka halaman Monitoring

  2. Klik Konfigurasi logging.

  3. Untuk menetapkan konfigurasi logging global, pilih level logging. Jika Anda memilih LOG_ALL, masukkan juga frekuensi sampling untuk log yang berhasil.

  4. Untuk menyetel konfigurasi tingkat layanan, pilih layanan yang akan diupdate dan pilih level logging-nya. Setelan ini mengganti konfigurasi logging global.

curl

Untuk mengupdate konfigurasi logging menggunakan API, gunakan resource LoggingConfig. Lihat referensi API LoggingConfig.

  1. Untuk melihat konfigurasi logging saat ini, gunakan loggingConfig.Get.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig"
    
    • PROJECT_ID: ID project Anda.
  2. Untuk memperbarui konfigurasi logging, gunakan metode loggingConfig.Patch. Untuk informasi selengkapnya, lihat referensi API LoggingConfig.

    Contoh ini menggunakan loggingConfig.Patch untuk menetapkan konfigurasi logging global ke LOG_WARNINGS_AND_ABOVE. Konfigurasi ini juga menetapkan dua konfigurasi tingkat layanan: CatalogService disetel ke LOG_WARNINGS_AND_ABOVE dan ControlService disetel ke LOG_ALL.

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig" \
      --data '{
        "name": "projects/PROJECT_ID/loggingConfig",
        "default_log_generation_rule": {"logging_level": "LOG_ERRORS_AND_ABOVE"},
        "service_log_generation_rules": [
          {
            "service_name": "CatalogService",
            "log_generation_rule": {
              "logging_level": "LOG_WARNINGS_AND_ABOVE"
              }
          },
          {
            "service_name": "ControlService",
            "log_generation_rule": {
                "logging_level": "LOG_ALL", "info_log_sample_rate": "0.1"
                }
            }
          ]
        }'
    

Level logging

Hanya log dari beberapa tingkat keparahan yang ditulis ke Logging. Setelan level logging menentukan log mana yang dihasilkan oleh metode API yang ditulis ke Logging.

Jika tidak ada konfigurasi logging tingkat layanan yang ditetapkan untuk metode API, setelan level logging global akan digunakan.

Setelan level logging default adalah LOG_WARNINGS_AND_ABOVE.

Kolom logging_level menerima nilai berikut:

  • LOGGING_DISABLED: Tidak ada log yang ditulis.
  • LOG_ERRORS_AND_ABOVE: Mencatat error saja.
  • LOG_WARNINGS_AND_ABOVE: Mencatat error dan peringatan saja.
  • LOG_ALL: Mencatat semuanya, termasuk log yang berhasil seperti log INFO.

Frekuensi sampling untuk log yang berhasil

Jika Anda menetapkan setelan level logging ke LOG_ALL, tetapi tidak ingin mencatat setiap log yang berhasil ke dalam log, Anda dapat menentukan frekuensi sampling. Misalnya, Anda mungkin memutuskan untuk memantau log secara berkala untuk konfirmasi status yang berhasil, atau ingin melihat persentase log yang berhasil. Menentukan frekuensi sampling dapat membantu Anda melakukannya tanpa menulis entri log INFO dalam jumlah besar ke Logging, yang dapat menimbulkan biaya Logging yang lebih tinggi.

Untuk menentukan frekuensi pengambilan sampel, tetapkan info_log_sample_rate ke nilai float yang valid lebih besar dari 0 dan kurang dari atau sama dengan 1. Frekuensi sampling menentukan kemungkinan log INFO ditulis ke Logging. Nilai default-nya adalah 1 (semua log INFO ditulis).

Konfigurasi tingkat layanan

Anda bisa mengatur konfigurasi logging untuk layanan tertentu. Tindakan ini akan menimpa setelan logging global untuk layanan tersebut. Misalnya, Anda mungkin memiliki tingkat logging global yang ditetapkan ke LOG_WARNINGS_AND_ABOVE, tetapi menetapkan level logging layanan UserEventService ke LOG_ALL agar Anda dapat memeriksa integrasi peristiwa pengguna yang berhasil.

Gunakan objek ServiceLoggingLevel untuk menetapkan level logging terperinci.

Kolom service_name menerima nilai berikut:

  • CompletionService
  • ControlService
  • MerchantCenterStreaming
  • ModelService
  • PredictionService
  • ProductService
  • ServingConfigService
  • UserEventService

Jenis error

Bagian ini memberikan definisi untuk jenis error yang dapat muncul dalam log Anda:

  • MISSING_FIELD: Nilai kolom wajib diisi belum ditetapkan; misalnya, item katalog tidak memiliki judul.
  • INVALID_TIMESTAMP: Stempel waktu tidak valid, misalnya terlalu jauh di masa mendatang, atau tidak diformat dengan benar.
  • FIELD_VALUE_TOO_SMALL: Nilai dalam kolom lebih rendah dari nilai minimum yang diwajibkan; misalnya, harga negatif.
  • INCORRECT_JSON_FORMAT: JSON dalam permintaan tidak diformat dengan benar, seperti { kurung kurawal.
  • INVALID_LANGUAGE_CODE: Kode bahasa tidak diformat dengan benar.
  • FIELD_VALUE_EXCEEDED: Nilai dalam kolom lebih tinggi dari nilai maksimum yang diizinkan.
  • INVALID_RESOURCE_ID: ID resource tidak valid; misalnya, tidak ada catalog_id dalam nama resource.
  • FIELD_SIZE_EXCEEDED: Jumlah entri dalam kolom melebihi batas maksimum.
  • UNEXPECTED_FIELD: Kolom yang seharusnya kosong memiliki nilai; misalnya, transaksi untuk peristiwa kunjungan halaman detail.
  • INVALID_FORMAT: Kolom tidak diformat dengan benar, misalnya string dengan format yang salah
  • RESOURCE_ALREADY_EXISTS: Anda mencoba membuat resource yang sudah ada, seperti item katalog yang dibuat sebelumnya.
  • INVALID_API_KEY: Kunci API tidak cocok dengan project dalam permintaan Anda.
  • INSUFFICIENT_PERMISSIONS: Anda tidak memiliki izin untuk mengeksekusi permintaan; error ini biasanya terkait dengan kurangnya izin IAM yang diperlukan.
  • UNJOINED_WITH_CATALOG: Permintaan menyertakan ID item katalog yang tidak ada dalam katalog. Pastikan katalog Anda selalu ter-update.
  • BATCH_ERROR: Permintaan memiliki beberapa error; misalnya, impor inline dengan 10 item yang gagal divalidasi karena berbagai alasan.
  • INACTIVE_RECOMMENDATION_MODEL: Anda mengkueri model yang tidak aktif untuk ditayangkan.
  • ABUSIVE_ENTITY: ID pengunjung atau ID pengguna yang terkait dengan permintaan telah mengirimkan jumlah peristiwa yang tidak normal dalam waktu singkat.
  • FILTER_TOO_STRICT: Filter permintaan prediksi memblokir semua hasil prediksi. Item populer generik (tidak dipersonalisasi) akan ditampilkan, kecuali jika panggilan menentukan strictFiltering sebagai false, dalam hal ini tidak ada item yang ditampilkan. Beberapa alasan umum terjadinya masalah ini:

    • Anda menentukan tag filter yang tidak ada dalam katalog. Diperlukan waktu hingga satu hari agar pembaruan tag filter diterapkan.
    • Filter Anda terlalu sempit.

Melihat metrik pemuatan data

Untuk memantau penyerapan data peristiwa pengguna dan katalog di Konsol Google Cloud, ikuti langkah-langkah berikut:

  1. Lihat metrik error untuk penyerapan data peristiwa pengguna dan katalog Anda di halaman Monitoring.

    Buka halaman Monitoring

  2. Setelah sistem upload data Anda berhasil berjalan, gunakan tab Katalog dan Peristiwa di halaman Data untuk melihat informasi gabungan tentang katalog Anda, melihat pratinjau produk yang diupload, dan melihat visualisasi metrik integrasi peristiwa pengguna Anda.

    Buka halaman Data

  3. Untuk membuat pemberitahuan yang memberi tahu Anda jika terjadi masalah pada upload data, ikuti prosedur dalam Menyiapkan pemberitahuan Cloud Monitoring.

Ringkasan data katalog

Gunakan tab Catalog di halaman Data untuk melihat statistik data tingkat tinggi untuk setiap cabang katalog. Halaman ini menampilkan jumlah produk yang telah Anda impor, jumlah produk yang tersedia, dan kapan Anda terakhir kali mengimpor produk untuk setiap cabang katalog produk.

Anda juga dapat melihat pratinjau item katalog yang telah Anda upload dan memfilter berdasarkan kolom produk.

Anda dapat mengimpor data ke cabang yang berbeda sebagai cara untuk melakukan staging dan melihat pratinjau rekomendasi atau hasil penelusuran. Misalnya, untuk bersiap menyambut musim liburan, Anda dapat mengupload data katalog baru ke cabang non-default dan memastikan Vertex AI Search untuk hasil retail dihasilkan dengan benar sebelum menayangkannya di situs Anda.

Statistik perekaman peristiwa pengguna

Untuk setiap jenis peristiwa pengguna, Anda dapat melihat di tab Peristiwa jumlah peristiwa yang telah Anda catat, jumlah peristiwa yang tidak dapat dikaitkan dengan produk (peristiwa yang tidak bergabung), dan perbedaan jumlahnya dengan periode sebelumnya. Anda dapat memilih jangka waktu preset atau memasukkan rentang waktu kustom.

Grafik metrik menampilkan peristiwa pengguna yang diserap dari waktu ke waktu, yang dapat Anda filter berdasarkan jenis peristiwa pengguna.

Metrik kualitas data

Di halaman Kualitas data, Anda dapat melihat metrik yang menampilkan persentase produk dan peristiwa pengguna yang memenuhi standar kualitas data yang direkomendasikan untuk penelusuran. Gunakan halaman ini untuk menilai data yang perlu diimpor atau diperbarui guna meningkatkan kualitas hasil penelusuran dan membuka tingkat performa penelusuran.

Untuk mengetahui informasi selengkapnya tentang tingkat performa penelusuran dan memeriksa kualitas data Anda, lihat Membuka tingkat performa penelusuran.

Untuk mengetahui daftar semua metrik kualitas data katalog, lihat Metrik kualitas data katalog.

Guna mengetahui semua persyaratan dan rekomendasi peristiwa pengguna untuk rekomendasi dan penelusuran, lihat Persyaratan dan praktik terbaik peristiwa pengguna.

Peristiwa yang belum bergabung

Jika peristiwa pengguna atau permintaan API merujuk pada produk yang belum diupload ke Vertex AI Search untuk retail, peristiwa tersebut merupakan peristiwa yang tidak tergabung. Peristiwa pengguna yang tidak bergabung masih dicatat dalam log, dan permintaan yang tidak bergabung akan ditangani, tetapi keduanya tidak dapat digunakan untuk meningkatkan kualitas model lebih lanjut untuk prediksi di masa mendatang. Oleh karena itu, Anda harus memastikan bahwa persentase peristiwa yang tidak dicatat sangat rendah untuk peristiwa pengguna dan permintaan prediksi.

Anda dapat melihat persentase peristiwa pengguna yang tidak bergabung di tab Peristiwa di halaman Data.

Error API

Anda dapat melihat grafik error API dari waktu ke waktu, yang ditampilkan berdasarkan nama metode, dengan mengklik View API metrics di panel tombol di halaman Monitoring.

Memantau aktivitas metode API

Untuk visualisasi traffic, error, dan latensi berdasarkan metode API, buka halaman Monitoring. Anda dapat memilih jangka waktu preset atau memasukkan rentang waktu kustom.

Untuk melihat detail selengkapnya tentang setiap grafik:

  • Di bawah grafik, klik nama metode untuk memisahkannya dalam grafik.
  • Arahkan kursor ke atas grafik untuk melihat info dengan setiap metode dan nilainya pada titik waktu tersebut.
  • Klik dan tarik ke bagian mana pun dari grafik untuk memperbesar periode waktu tersebut.

Langkah selanjutnya