Memecahkan masalah pemilihan rute dan penyimpanan log

Dokumen ini menjelaskan masalah umum perutean dan penyimpanan serta cara menggunakan konsolTrusted Cloud untuk melihat dan memecahkan masalah kesalahan konfigurasi atau hasil yang tidak terduga.

Untuk mengetahui informasi umum tentang cara melihat data log, lihat Melihat log di tujuan sink.

Memecahkan masalah perutean log

Bagian ini menjelaskan cara memecahkan masalah umum saat merutekan entri log.

Tujuan berisi entri log yang tidak diinginkan

Anda melihat entri log yang dirutekan ke tujuan dan menentukan bahwa tujuan tersebut berisi entri log yang tidak diinginkan.

Untuk mengatasi kondisi ini, perbarui filter pengecualian untuk sink yang merutekan entri log ke tujuan. Filter pengecualian memungkinkan Anda mengecualikan entri log tertentu agar tidak dirutekan ke tujuan.

Misalnya, anggap Anda membuat sink gabungan untuk merutekan entri log di organisasi ke tujuan. Untuk mengecualikan entri log dari project tertentu agar tidak dirutekan ke tujuan, tambahkan filter pengecualian berikut ke sink:

logName:projects/PROJECT_ID

Anda juga dapat mengecualikan entri log dari beberapa project dengan menggunakan operator OR logis untuk menggabungkan klausa logName.

Entri log tujuan tidak ada

Masalah terkait sink yang paling umum adalah entri log yang tampaknya tidak ada di tujuan sink.

Dalam beberapa kasus, error tidak dibuat, tetapi Anda mungkin melihat bahwa entri log tidak tersedia saat Anda mencoba mengaksesnya di tujuan. Jika Anda menduga bahwa sink Anda tidak merutekan entri log dengan benar, periksa metrik berbasis log sistem sink Anda:

  • exports/byte_count: Jumlah byte dalam entri log yang dirutekan.
  • exports/log_entry_count: Jumlah entri log yang dirutekan.
  • exports/error_count: Jumlah entri log yang gagal dirutekan.

Metrik memiliki label yang mencatat jumlah menurut nama tujuan dan nama tujuan, serta memberi tahu Anda apakah sink Anda berhasil merutekan entri log atau gagal.

Jika metrik sinkronisasi menunjukkan bahwa sinkronisasi tidak berjalan seperti yang Anda harapkan, berikut beberapa kemungkinan penyebab dan cara mengatasinya:

Latensi

  • Tidak ada entri log yang cocok yang diterima sejak Anda membuat atau memperbarui sink; hanya entri log baru yang dirutekan.

    Coba tunggu selama satu jam dan periksa kembali tujuan Anda.

  • Entri log yang cocok terlambat tiba.

    Mungkin ada penundaan sebelum Anda dapat melihat entri log di tujuan. Coba tunggu beberapa jam dan periksa kembali tujuan Anda.

Cakupan/filter tampilan salah

  • Cakupan yang Anda gunakan untuk melihat entri log yang disimpan di bucket log salah.

    Cakupan penelusuran Anda ke satu atau beberapa tampilan log sebagai berikut:

  • Rentang waktu yang Anda gunakan untuk memilih dan melihat data di tujuan sink Anda terlalu sempit.

    Coba perluas rentang waktu yang Anda gunakan saat memilih data di tujuan sink.

Error di filter sink

  • Filter sink salah dan tidak mencatat entri log yang Anda harapkan untuk dilihat di tujuan.

    Edit filter sink menggunakan Log Router di konsol Trusted Cloud . Untuk memverifikasi bahwa Anda memasukkan filter yang benar, pilih Pratinjau log di panel Edit sink. Tindakan ini akan membuka Logs Explorer di tab baru dengan filter yang telah diisi otomatis. Untuk mengetahui petunjuk tentang cara melihat dan mengelola sink, lihat Mengelola sink.

Lihat error

Untuk setiap tujuan sink yang didukung, Logging memberikan pesan error untuk sink yang dikonfigurasi dengan tidak benar.

Ada beberapa cara untuk melihat error terkait sink ini; metode ini dijelaskan di bagian berikut:

  • Lihat log error yang dihasilkan untuk sink.
  • Menerima notifikasi error sinkronisasi melalui email. Pengirim email ini adalah logging-noreply@google.com.

Log error

Metode yang direkomendasikan untuk memeriksa error terkait sink secara mendetail adalah dengan melihat entri log error yang dihasilkan oleh sink. Untuk mengetahui detail tentang cara melihat entri log, lihat Melihat log menggunakan Logs Explorer.

Anda dapat menggunakan kueri berikut di panel editor kueri di Logs Explorer untuk meninjau log error sink. Kueri yang sama berfungsi di Logging API dan gcloud CLI.

Sebelum menyalin kueri, ganti variabel SINK_NAME dengan nama sink yang ingin Anda pecahkan masalahnya. Anda dapat menemukan nama sink di halaman Log Router di konsol. Trusted Cloud

logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"

Misalnya, jika nama sink Anda adalah my-sink-123, entri log mungkin terlihat mirip dengan berikut ini:

{
   errorGroups: [
   0: {
   id: "COXu96aNws6BiQE"
   }]
   insertId: "170up6jan"
   labels: {
      activity_type_name: "LoggingSinkConfigErrorV2"
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      error_code: "topic_not_found"
      error_detail: ""
      sink_id: "my-sink-123"
   }
   logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
   receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
   resource: {
   labels: {
      destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
      name: "my-sink-123"
      project_id: "my-project"
   }
   type: "logging_sink"
   }
   severity: "ERROR"
   textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
   timestamp: "2024-07-11T14:41:41.296157014Z"
}

Kolom LogEntry labels dan informasi nilai kunci bertingkatnya membantu Anda menargetkan sumber error sink; kolom ini berisi resource yang terpengaruh, sink yang terpengaruh, dan kode error. Kolom labels.error_code berisi deskripsi singkat error, yang memberi tahu Anda komponen sink yang perlu dikonfigurasi ulang.

Untuk mengatasi kegagalan ini, edit sink Anda. Misalnya, Anda dapat mengedit sink menggunakan halaman Log Router:

Buka Log Router

Notifikasi email

Kontak Penting mengirimkan notifikasi email error konfigurasi sink ke kontak yang ditetapkan ke kategori notifikasi Teknis untuk project atau resource induknya. Trusted Cloud Jika resource tidak memiliki kontak yang dikonfigurasi untuk Notifikasi teknis, pengguna yang tercantum sebagai Pemilik Project IAM roles/owner untuk resource tersebut akan menerima notifikasi email.

Pesan email berisi informasi berikut:

  • ID Resource: Nama project Trusted Cloud atau resourceTrusted Cloud lain tempat sink dikonfigurasi.
  • Nama sink: Nama sink yang berisi error konfigurasi.
  • Tujuan sink: Jalur lengkap tujuan perutean sink; misalnya, pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
  • Kode error: Deskripsi singkat kategori error; misalnya, topic_not_found.
  • Detail error: Informasi mendetail tentang error, termasuk rekomendasi untuk memecahkan masalah error yang mendasarinya.

Pengirim email ini adalah logging-noreply@google.com.

Untuk melihat dan mengelola tujuan sink, gunakan halaman Log Router:

Buka Log Router

Semua error konfigurasi sink yang berlaku untuk resource muncul dalam daftar sebagai Cloud Logging sink configuration error. Setiap error berisi link ke salah satu entri log yang dihasilkan oleh sink yang rusak. Untuk memeriksa error yang mendasarinya secara mendetail, lihat bagian Log error.

Jenis error sinkronisasi

Bagian berikut menjelaskan kategori luas error terkait sink dan cara memecahkan masalahnya.

Tujuan salah

Jika Anda menyiapkan sink, tetapi kemudian melihat error konfigurasi bahwa tujuan tidak dapat ditemukan saat Logging mencoba merutekan entri log, berikut beberapa kemungkinan alasannya:

  • Konfigurasi sink Anda berisi salah eja atau error pemformatan lainnya di tujuan sink yang ditentukan.

    Anda perlu memperbarui konfigurasi sink untuk menentukan tujuan yang ada dengan benar.

  • Tujuan yang ditentukan mungkin telah dihapus.

    Anda dapat mengubah konfigurasi sink untuk menggunakan tujuan yang berbeda dan sudah ada atau membuat ulang tujuan dengan nama yang sama.

Untuk mengatasi jenis kegagalan ini, edit sink Anda. Misalnya, Anda dapat mengedit sink menggunakan halaman Log Router:

Buka Log Router

Sink Anda mulai merutekan entri log saat tujuan ditemukan dan entri log baru yang cocok dengan filter Anda diterima oleh Logging.

Mengelola masalah sinkronisasi

Jika Anda menonaktifkan sink untuk berhenti menyimpan entri log di bucket log, tetapi masih melihat entri log dirutekan, tunggu beberapa menit hingga perubahan pada sink diterapkan.

Masalah izin

Saat mencoba merutekan entri log, tetapi tidak memiliki izin IAM yang sesuai untuk tujuan sink, sink akan melaporkan error, yang dapat Anda lihat, dan melewati entri log.

Saat Anda membuat sink, akun layanan sink harus diberi izin tujuan yang sesuai. Jika Anda membuat sink di konsol Trusted Cloud dalam projectTrusted Cloud yang sama, konsol Trusted Cloud biasanya menetapkan izin ini secara otomatis. Namun, jika Anda membuat sink di projectTrusted Cloud yang berbeda, atau menggunakan gcloud CLI atau Logging API, Anda harus mengonfigurasi izin secara manual.

Jika Anda melihat error terkait izin untuk tujuan Anda, tambahkan izin yang diperlukan atau perbarui tujuan Anda untuk menggunakan tujuan yang berbeda. Untuk mengetahui petunjuk cara memperbarui izin ini, lihat Izin tujuan.

Ada sedikit penundaan antara pembuatan sink dan penggunaan akun layanan baru sink untuk mengizinkan penulisan ke tujuan. Sink Anda mulai merutekan entri log saat izin diperbaiki dan entri log baru yang cocok dengan filter Anda diterima oleh Logging.

Masalah kebijakan organisasi

Jika Anda mencoba merutekan entri log, tetapi menemukan kebijakan organisasi yang membatasi Logging untuk menulis ke tujuan sink, maka sink tidak dapat merutekan ke tujuan yang dipilih dan melaporkan error.

Jika Anda melihat error terkait kebijakan organisasi, Anda dapat melakukan tindakan berikut:

  • Perbarui kebijakan organisasi untuk tujuan guna menghapus batasan yang memblokir sink agar tidak merutekan entri log; hal ini mengandaikan bahwa Anda memiliki izin yang sesuai untuk memperbarui kebijakan organisasi.

    Anda dapat memeriksa apakah ada Pembatasan Lokasi Resource (constraints/gcp.resourceLocations). Batasan ini menentukan lokasi tempat data dapat disimpan. Selain itu, beberapa layanan mendukung batasan yang dapat memengaruhi sink log. Misalnya, ada beberapa batasan yang mungkin berlaku saat tujuan Pub/Sub dipilih. Untuk mengetahui daftar kemungkinan batasan, lihat Batasan kebijakan organisasi.

    Untuk mengetahui petunjuknya, lihat Membuat dan mengedit kebijakan.

  • Jika Anda tidak dapat memperbarui kebijakan organisasi, perbarui sink Anda di halaman Log Router untuk menggunakan tujuan yang sesuai.

    Buka Log Router

Sink Anda mulai merutekan entri log saat kebijakan organisasi tidak lagi memblokir sink untuk menulis ke tujuan dan entri log baru yang cocok dengan filter Anda diterima oleh Logging.

Masalah kunci enkripsi

Jika Anda menggunakan kunci enkripsi, baik yang dikelola dengan Cloud Key Management Service maupun oleh Anda, untuk mengenkripsi data di tujuan sink, Anda mungkin melihat error terkait. Berikut beberapa kemungkinan masalah dan cara memperbaikinya:

  • Kunci Cloud KMS tidak dapat ditemukan.

    • Project Trusted Cloud yang berisi kunci Cloud KMS yang dikonfigurasi untuk mengenkripsi data tidak ditemukan.

    • Gunakan kunci Cloud KMS yang valid dari project Trusted Cloud yang ada.

  • Lokasi kunci Cloud KMS tidak cocok dengan lokasi tujuan.

    • Jika project Trusted Cloud yang berisi kunci Cloud KMS berada di region yang berbeda dengan region tujuan, maka enkripsi akan gagal dan sink tidak dapat merutekan data ke tujuan tersebut.

    • Gunakan kunci Cloud KMS yang ada dalam project Trusted Cloud yang regionnya cocok dengan tujuan sink.

  • Akses kunci enkripsi ditolak untuk akun layanan sink.

    • Meskipun sink berhasil dibuat dengan izin akun layanan yang benar, pesan error ini akan ditampilkan jika tujuan sink menggunakan kunci enkripsi yang tidak memberikan izin yang memadai kepada akun layanan untuk mengenkripsi atau mendekripsi data.

    • Berikan peran Pengenkripsi/Pendekripsi CryptoKey Cloud KMS untuk akun layanan yang ditentukan dalam kolom writerIdentity sink untuk kunci yang digunakan di tujuan. Pastikan juga bahwa Cloud KMS API sudah diaktifkan.

Masalah kuota

Saat sink menulis entri log, kuota khusus tujuan berlaku untuk projectTrusted Cloud tempat sink dibuat. Jika kuota habis, sink akan berhenti merutekan entri log ke tujuan.

Misalnya, sink Anda mungkin merutekan terlalu banyak entri log terlalu cepat.

Untuk memperbaiki masalah kehabisan kuota, kurangi jumlah data log yang dirutekan dengan memperbarui filter sink agar cocok dengan entri log yang lebih sedikit. Anda dapat menggunakan fungsi sample dalam filter untuk memilih sebagian kecil dari jumlah total entri log.

Jika kuota tersedia, sink Anda akan merutekan entri log ke tujuan sink.

Untuk mengetahui detail batas yang mungkin berlaku saat Anda merutekan entri log, tinjau informasi kuota tujuan yang sesuai:

Selain jenis error sinkronisasi umum, berikut adalah jenis error khusus tujuan yang paling umum dan cara memperbaikinya.

Error saat merutekan ke bucket Cloud Logging

Anda mungkin mengalami situasi di mana Anda dapat melihat entri log di Logs Explorer yang Anda kecualikan dengan sink. Anda masih dapat melihat entri log ini jika salah satu kondisi berikut terpenuhi:

  • Anda menjalankan kueri di project Trusted Cloud yang menghasilkan entri log.

    Untuk memperbaikinya, pastikan Anda menjalankan kueri di projectTrusted Cloud yang benar.

  • Entri log yang dikecualikan dikirim ke beberapa bucket log; Anda melihat salinan log yang sama yang seharusnya Anda kecualikan.

    Untuk memperbaikinya, periksa sink Anda di halaman Log Router untuk memverifikasi bahwa Anda tidak menyertakan entri log dalam filter sink lain.

  • Anda memiliki akses ke tampilan di bucket log tempat entri log dikirim. Dalam hal ini, Anda dapat melihat entri log tersebut secara default.

    Untuk menghindari melihat entri log ini di Logs Explorer, Anda dapat memperbaiki cakupan penelusuran ke project atau bucket Trusted Cloud sumber Anda.

Memecahkan masalah penyimpanan log

Mengapa saya tidak dapat menghapus bucket ini?

Jika Anda mencoba menghapus bucket, lakukan langkah-langkah berikut:

  • Verifikasi bahwa Anda memiliki izin yang benar untuk menghapus bucket. Untuk mengetahui daftar izin yang Anda perlukan, lihat Kontrol akses dengan IAM.

  • Tentukan apakah bucket dikunci dengan mencantumkan atribut bucket. Jika bucket dikunci, periksa periode retensi bucket. Anda tidak dapat menghapus bucket yang terkunci hingga semua log dalam bucket tersebut memenuhi periode retensi data bucket.

Akun layanan mana yang merutekan log ke bucket saya?

Untuk menentukan apakah ada akun layanan yang memiliki izin IAM untuk merutekan log ke bucket Anda, lakukan hal berikut:

  1. Di Trusted Cloud konsol, buka halaman IAM:

    Buka IAM

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah IAM & Admin.

  2. Dari tab Izin, lihat menurut Peran. Anda akan melihat tabel yang berisi semua peran dan akun utama IAM yang terkait dengan projectTrusted Cloud .

  3. Di kotak teks Filter tabel, masukkan Logs Bucket Writer.

    Anda akan melihat akun utama apa pun dengan peran Penulis Bucket Log. Jika akun utama adalah akun layanan, ID-nya berisi string .

  4. Opsional: Jika Anda ingin menghapus kemampuan akun layanan untuk merutekan log ke project Trusted Cloud Anda, pilih kotak centang untuk akun layanan tersebut, lalu klik Hapus.

Mengapa saya melihat log untuk project Trusted Cloud , meskipun saya mengecualikannya dari sink _Default?

Anda mungkin melihat log di bucket log dalam project Trusted Cloud terpusat, yang menggabungkan log dari seluruh organisasi Anda.

Jika Anda menggunakan Logs Explorer untuk mengakses log ini dan melihat log yang Anda kecualikan dari sink _Default, tampilan Anda mungkin disetel ke tingkat projectTrusted Cloud .

Untuk memperbaiki masalah ini, pilih Tampilan log di menu Persempit cakupan lalu pilih tampilan log yang terkait dengan bucket _Default di Trusted Cloud project Anda. Anda tidak akan melihat log yang dikecualikan lagi.