Plugin telemetri dan logging Google Cloud

Plugin Google Cloud mengekspor data telemetri dan telemetri Firebase Genkit ke Google Cloud Operations Suite.

Prasyarat

Jika ingin menjalankan alur yang menggunakan plugin ini secara lokal, Anda memerlukan Google Cloud CLI tool.

Siapkan akun Google Cloud

Plugin ini memerlukan akun Google Cloud (daftar jika Anda belum memilikinya) dan project Google Cloud.

Sebelum menambahkan plugin, pastikan API berikut diaktifkan untuk project Anda:

API tersebut harus tercantum di dasbor API untuk project Anda.

Klik di sini untuk mempelajari lebih lanjut cara mengaktifkan dan menonaktifkan API.

Konfigurasi

Untuk mengaktifkan ekspor ke Google Cloud Tracing, Logging, dan Monitoring, impor paket googlecloud dan jalankan Init(). Setelah memanggil Init(), telemetri Anda akan diekspor secara otomatis.

import "github.com/firebase/genkit/go/plugins/googlecloud"
if err := googlecloud.Init(
    ctx,
    googlecloud.Config{ProjectID: "your-google-cloud-project"},
); err != nil {
    return err
}

Anda harus menentukan project Google Cloud tujuan ekspor telemetri layanan otomatis dan data skalabel. Ada juga beberapa parameter opsional:

  • ForceExport: Mengekspor data telemetri bahkan saat dijalankan di lingkungan pengembangan (misalnya saat menggunakan genkit start atau genkit flow:run). Ini adalah cara cepat untuk menguji integrasi dan mengirimkan peristiwa pertama Anda untuk dipantau di Google yang dihosting di Google Cloud.

    Jika menggunakan opsi ini, Anda juga perlu menyediakan kredensial Cloud Anda secara lokal:

    gcloud auth application-default login
    
  • MetricInterval: Interval, dalam nanodetik, untuk mengekspor telemetri tidak akurat atau tidak sesuai. Secara default, ini adalah 60 detik (60e9 nanodetik).

  • LogLevel: Tingkat keparahan minimum entri log yang akan diekspor. Secara {i>default<i}, slog.LevelInfo.

Plugin ini memerlukan kredensial project Google Cloud Anda. Jika Anda menjalankan alur Anda dari lingkungan Google Cloud (Cloud Run, dll.), kredensial tersebut tetapkan secara otomatis. Untuk berjalan di lingkungan lain, Anda harus menyiapkan Kredensial Default Aplikasi.

Pemantauan produksi melalui Google Cloud Operations Suite

Setelah alur di-deploy, buka Google Cloud Operations Suite lalu pilih project Anda.

Log dan trace

Dari menu samping, cari 'Logging' dan klik 'Logs explorer'.

Anda akan melihat semua log yang terkait dengan alur yang di-deploy, termasuk console.log(). Setiap log yang memiliki awalan [genkit] adalah log internal Genkit yang berisi informasi yang mungkin menarik untuk tujuan proses debug. Misalnya, log Genkit dalam format Config[...] berisi metadata seperti nilai suhu dan topK untuk inferensi LLM tertentu. Log dalam format Output[...] berisi respons LLM, sedangkan log Input[...] berisi perintah. Cloud Logging memiliki ACL yang kuat dan memungkinkan kontrol terperinci atas log sensitif.

Untuk baris log tertentu, Anda dapat membuka trace masing-masing dengan mengklik ikon menu yang diperluas dan memilih "View in trace details".

Tindakan ini akan menampilkan panel pratinjau rekaman aktivitas yang memberikan gambaran sekilas detail rekaman aktivitas. Untuk mendapatkan detail lengkap, klik "Lihat di Trace" di kanan atas panel.

Elemen navigasi yang paling menarik di Cloud Trace adalah trace scatter plot. Properti ini berisi semua trace yang dikumpulkan dalam rentang waktu tertentu.

Mengklik setiap titik data akan menampilkan detailnya di bawah diagram pencar.

Tampilan mendetail berisi bentuk alur, termasuk semua langkah, dan informasi pengaturan waktu yang penting. Cloud Trace memiliki kemampuan untuk menyisipkan semua log yang terkait dengan trace tertentu dalam tampilan ini. Pilih "Tampilkan yang diperluas" di opsi "Logs & peristiwa" dari menu drop-down.

Tampilan yang dihasilkan memungkinkan pemeriksaan log secara mendetail dalam konteks trace, termasuk perintah dan respons LLM.

Metrik

Melihat semua metrik yang diekspor Genkit dapat dilakukan dengan memilih "Logging" dari menu samping dan mengklik "Metrics management".

Konsol pengelolaan metrik berisi tampilan tabel semua metrik yang dikumpulkan, termasuk metrik yang berkaitan dengan Cloud Run dan lingkungan di sekitarnya. Mengklik 'Workload' akan menampilkan daftar yang menyertakan metrik yang dikumpulkan Genkit. Setiap metrik dengan awalan genkit merupakan metrik Genkit internal.

Genkit mengumpulkan beberapa kategori metrik, termasuk metrik tingkat alur, tingkat tindakan, dan tingkat hasil. Setiap metrik memiliki beberapa dimensi yang berguna untuk memfasilitasi pemfilteran dan pengelompokan yang andal.

Dimensi umum mencakup:

  • flow_name - nama tingkat teratas alur.
  • flow_path - span dan induknya mencakup rantai hingga span root.
  • error_code - jika terjadi error, kode error yang sesuai.
  • error_message - jika terjadi error, pesan error yang sesuai.
  • model - nama model.
  • temperature - nilai suhu inferensi.
  • topK - nilai topK inferensi.
  • topP - value topP inferensi.

Metrik tingkat alur

Nama Dimensi
genkit/flow/permintaan flow_name, error_code, error_message
genkit/flow/latensi nama_alur

Metrik tingkat tindakan

Nama Dimensi
genkit/tindakan/permintaan flow_name, error_code, error_message
genkit/tindakan/latensi nama_alur

Buat metrik tingkat

Nama Dimensi
genkit/ai/buat flow_path, model, temperature, topK, topP, error_code, error_message
genkit/ai/generate/input_tokens flow_path, model, temperature, topK, topP
genkit/ai/generate/output_tokens flow_path, model, temperature, topK, topP
genkit/ai/generate/input_characters flow_path, model, temperature, topK, topP
genkit/ai/buat/output_characters flow_path, model, temperature, topK, topP
genkit/ai/buat/input_images flow_path, model, temperature, topK, topP
genkit/ai/buat/output_images flow_path, model, temperature, topK, topP
genkit/ai/buat/latensi flow_path, model, temperature, topK, topP, error_code, error_message

Memvisualisasikan metrik dapat dilakukan melalui Metrics Explorer. Menggunakan menu samping, pilih 'Logging' lalu klik 'Metrics Explorer'

Pilih metrik dengan mengklik "Pilih metrik" dengan memilih 'Generic Node', 'Genkit', dan metrik.

Visualisasi metrik akan bergantung pada jenisnya (penghitung, histogram, dll). Metrics Explorer menyediakan fasilitas pembuatan kueri dan penggabungan yang andal untuk membantu membuat grafik metrik berdasarkan berbagai dimensinya.

Penundaan Telemetri

Mungkin ada sedikit keterlambatan sebelum telemetri untuk eksekusi flow tertentu ditampilkan di Cloud Operations Suite. Biasanya, keterlambatan ini kurang dari 1 menit.

Kuota dan batas

Ada beberapa kuota yang penting untuk diingat:

Biaya

Cloud Logging, Cloud Trace, dan Cloud Monitoring memiliki paket gratis yang melimpah. Harga khusus dapat ditemukan di link berikut: