Dokumen ini menjelaskan cara mengonfigurasi logging Gemini Code Assist Standard dan Enterprise untuk project menggunakan konsol Google Cloud atau API.
Batasan
Pencatatan data log Gemini Code Assist Standard dan Enterprise terbatas pada interaksi pengguna dengan Gemini Code Assist dalam IDE.
Secara default, log Gemini Code Assist dikumpulkan berdasarkan per project. Untuk mengetahui petunjuk tentang cara mengonfigurasi project terpusat untuk mengumpulkan log dari beberapa project, lihat Menyiapkan logging multi-project.
Gemini Code Assist di GitHub tidak mendukung logging dengan Cloud Logging.
Sebelum memulai
Pastikan Google Cloud project Anda dilampirkan ke akun penagihan.
Memverifikasi izin IAM
Untuk mengonfigurasi logging Gemini Code Assist, Anda memerlukan izin IAM tertentu. Untuk mengikuti prinsip hak istimewa terendah, berikan peran khusus yang hanya berisi izin yang diperlukan.
Minta administrator Anda untuk membuat peran khusus yang mencakup izin berikut:
serviceusage.services.enable—untuk mengaktifkan API untuk project Anda.cloudaicompanion.loggingSettings.create—untuk membuat setelan logging.cloudaicompanion.loggingSettings.get—untuk melihat setelan logging.cloudaicompanion.loggingSettings.list—untuk mencantumkan setelan logging.cloudaicompanion.loggingSettings.update—untuk memperbarui setelan logging.cloudaicompanion.loggingSettingBindings.create—untuk mengikat setelan logging ke project.cloudaicompanion.loggingSettingBindings.get—untuk melihat binding setelan logging.cloudaicompanion.loggingSettingBindings.list—untuk mencantumkan binding setelan logging.
Atau, Anda dapat memberikan peran bawaan
Admin Setelan Gemini untuk Google Cloud
(roles/cloudaicompanion.settingsAdmin) dan
Admin Service Usage
(roles/serviceusage.serviceUsageAdmin). Namun, peran ini mencakup
izin untuk mengonfigurasi setelan administrator Gemini lainnya di
Google Cloud dan mengelola penggunaan layanan di Google Cloud, yang mungkin
lebih dari yang diperlukan untuk mengonfigurasi setelan logging.
Mengonfigurasi logging Gemini Code Assist
Bagian berikut memberikan langkah-langkah yang diperlukan untuk mengaktifkan pengumpulan dan penyimpanan aktivitas Gemini Code Assist Standard dan Enterprise di Cloud Logging, termasuk:
Log perintah dan respons Gemini Code Assist Standard dan Enterprise, seperti input pengguna, informasi kontekstual, dan respons.
Log metadata Gemini Code Assist Standard dan Enterprise, seperti metadata telemetri dan baris kode yang diterima oleh pengguna.
Untuk mengetahui detail selengkapnya tentang kedua jenis log, lihat Melihat log Gemini Code Assist.
Mengaktifkan logging untuk Gemini Code Assist di sebuah project
Pilih salah satu opsi berikut:
Konsol
Pastikan Anda telah mengaktifkan Cloud Logging API di project.
Di konsol Google Cloud , buka halaman Admin untuk Gemini.
Klik Setelan di menu navigasi kiri.
(Opsional) Klik Logging for Code Assist metadata untuk mencatat metadata yang dihasilkan oleh pengguna Gemini Code Assist Standard dan Enterprise dalam project.
(Opsional) Klik Logging for Code Assist prompts and responses untuk mencatat perintah dan respons yang dihasilkan oleh pengguna Gemini Code Assist Standard dan Enterprise dalam project.
Klik Simpan Perubahan.
API
Untuk mengaktifkan logging untuk Gemini Code Assist Standard dan Enterprise, gunakan resource loggingSettings untuk menentukan setelan logging yang Anda inginkan, dan gunakan resource loggingSettings.settingBindings untuk mengikat setelan ke project:
Pastikan Anda telah mengaktifkan Cloud Logging API di project.
Buat setelan dan nilai khusus setelan:
Dapatkan token:
TOKEN=$(gcloud auth print-access-token)
Aktifkan log Gemini Code Assist Standard dan Enterprise. Log pengguna dan log metadata diaktifkan dengan kolom
log_prompts_and_responsesdanlog_metadata. Jika Anda tidak ingin mengaktifkan salah satu kolom, kecualikan kolom tersebut dari permintaan.Jalankan perintah berikut untuk membuat setelan:
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": true, "log_metadata": true, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=LOGS_SETTING_ID"Ganti kode berikut:
CONTAINER_PROJECT_NAME: Masukkan project ID project tempat resource binding disimpan. Ini adalah project induk binding.LOGS_SETTING_ID: Masukkan nama setelan unik, sepertigcalm.
Jika berhasil, perintah akan menampilkan isi respons yang menunjukkan
log_prompts_and_responsesdanlog_metadataditetapkan ketrue:{ "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": true, "log_metadata": true }Jalankan perintah berikut untuk membuat binding setelan log Gemini Code Assist Standard dan Enterprise:
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "target": "projects/TARGET_PROJECT_NAME" }' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
Ganti kode berikut:
TARGET_PROJECT_NAME: Masukkan project target yang akan mengikat binding. Project ini sering kali sama dengan project penampung. Namun, Anda dapat mengikat setelan ke beberapa project sehingga resource setelan tidak perlu diduplikasi.LOGS_BINDING_ID: Gunakan LOGS_SETTING_ID yang sama saat Anda membuat setelan, tetapi tambahkanb1. Misalnya, gunakangcalmb1.
Jika berhasil, perintah akan menampilkan metadata operasi dalam format berikut:
{ "name": "projects/<var>CONTAINER_PROJECT_NAME</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf", "metadata": { "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata", "createTime": "2025-01-23T15:27:50.076075570Z", "target": "projects/<var>TARGET_PROJECT_NAME</var>/locations/global/loggingSettings/<var>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Menonaktifkan logging untuk Gemini Code Assist dalam sebuah project
Pilih salah satu opsi berikut:
Konsol
Di konsol Google Cloud , buka halaman Admin untuk Gemini.
Klik Setelan di menu navigasi kiri.
Klik Logging for Code Assist metadata untuk menonaktifkan perekaman metadata dari penggunaan Gemini Code Assist Standard dan Enterprise dalam project.
Klik Simpan Perubahan.
API
Untuk menonaktifkan logging untuk Gemini Code Assist Standard dan Enterprise, gunakan metode loggingSetting.
Buat setelan dan nilai khusus setelan:
Dapatkan token:
TOKEN=$(gcloud auth print-access-token)
Jalankan perintah berikut untuk menonaktifkan setelan log Gemini Code Assist Standard dan Enterprise:
curl -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "log_prompts_and_responses": false, "log_metadata": false, } ' \ "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=LOGS_SETTING_ID"Ganti kode berikut:
CONTAINER_PROJECT_NAME: Masukkan project ID induk.LOGS_SETTING_ID: Masukkan nama setelan yang ada, sepertigcalm.Jika berhasil, perintah akan menampilkan isi respons yang menunjukkan
log_prompts_and_responsesdanlog_metadataditetapkan kefalse:{ "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID", "createTime": "2025-01-23T15:22:49.717166932Z", "updateTime": "2025-01-23T15:22:49.717166932Z", "log_prompts_and_responses": false, "log_metadata": false }
Menyiapkan logging multi-project
Anda dapat menggunakan log dari Gemini Code Assist untuk membuat metrik dan dasbor untuk memantau penggunaan per project. Jika organisasi Anda memiliki beberapa project, Anda dapat mengonfigurasi project logging terpusat untuk mengumpulkan log dari beberapa project dan membuat dasbor di seluruh project tersebut.
Membuat project logging terpusat
Project ini akan berfungsi sebagai hub untuk log dari project Anda yang lain.
Di konsol Google Cloud , buka halaman Project creation.
Di jendela New Project, masukkan nilai untuk kolom berikut:
- Nama project: nama untuk project logging terpusat Anda.
- Akun penagihan: pilih akun penagihan.
- Organisasi: pilih organisasi Anda. Project terpusat hanya dapat mengumpulkan log dari project dalam organisasi yang sama.
- Lokasi: pilih lokasi.
Klik Create.
Mengonfigurasi sink log
Untuk mengarahkan log ke project terpusat, konfigurasi sink log di setiap project individual yang ingin Anda kumpulkan lognya.
Untuk mengonfigurasi sink log untuk setiap project, lakukan hal berikut:
- Di konsol Google Cloud , beralihlah ke project yang ingin Anda kumpulkan lognya.
Buka halaman Log Router:
Klik Create sink.
Untuk Sink details, masukkan nama dan deskripsi untuk sink, lalu klik Next.
Untuk Sink destination, lakukan hal berikut:
- Di menu Select sink service, pilih Logging bucket.
- Di menu Bucket log, pilih Gunakan bucket log di project lain.
Di kolom Sink destination, masukkan berikut ini:
logging.googleapis.com/projects/CENTRALIZED_PROJECT_ID/locations/global/buckets/_DefaultGanti
CENTRALIZED_PROJECT_IDdengan project ID project logging terpusat yang Anda buat.Klik Berikutnya.
Untuk Pilih log untuk disertakan dalam sink, buat filter penyertaan dengan memasukkan perintah berikut di kolom Filter penyertaan:
resource.type="cloudaicompanion.googleapis.com/Instance"Klik Berikutnya.
Untuk Choose logs to filter out of sink, biarkan filter pengecualian kosong, lalu klik Create sink.
Setelah sink dibuat, di halaman Log Router, temukan sink yang Anda buat.
Di kolom Writer Identity, salin alamat email akun layanan lengkap.
Konfigurasi akses
Untuk memberikan akses bagi sink Anda agar dapat menulis log ke project terpusat, lakukan hal berikut:
- Di konsol Google Cloud , beralihlah ke project terpusat yang Anda buat.
Buka halaman IAM:
Klik Grant access.
Di kolom New principals, tempel alamat email akun layanan yang Anda salin di bagian sebelumnya.
Klik Add another role.
Cari dan pilih peran Logs Bucket Writer (
roles/logging.bucketWriter).Klik Simpan.