Memecahkan masalah metrik berbasis log

Halaman ini memberikan informasi pemecahan masalah untuk skenario umum saat menggunakan metrik berbasis log di Cloud Logging.

Tidak dapat melihat atau membuat metrik

Metrik berbasis log hanya berlaku untuk satu project Google Cloud atau untuk bucket Logging dalam project Google Cloud. Anda tidak dapat membuat metrik berbasis log untuk resource Google Cloud lainnya seperti akun penagihan atau organisasi. Metrik berbasis log dihitung hanya untuk log dalam project Google Cloud atau bucket tempat metrik tersebut diterima.

Untuk membuat metrik, Anda memerlukan izin Identity and Access Management yang benar. Untuk mengetahui detailnya, baca Kontrol akses dengan IAM: Metrik berbasis log.

Metrik tidak memiliki data log

Ada beberapa kemungkinan alasan hilangnya data dalam metrik berbasis log:

  • Entri log baru mungkin tidak cocok dengan filter metrik Anda. Metrik berbasis log mendapatkan data dari entri log yang cocok, yang diterima setelah metrik dibuat. Logging tidak mengisi ulang metrik dari entri log sebelumnya.

  • Entri log baru mungkin tidak berisi kolom yang benar, atau format data mungkin tidak benar untuk ekstraksi berdasarkan metrik distribusi Anda. Pastikan nama kolom dan ekspresi reguler Anda sudah benar.

  • Jumlah metrik Anda mungkin tertunda. Meskipun entri log yang dapat dihitung muncul di Logs Explorer, mungkin perlu waktu hingga 10 menit untuk memperbarui metrik berbasis log di Cloud Monitoring.

  • Entri log yang ditampilkan mungkin dihitung terlambat atau mungkin tidak dihitung sama sekali, karena entri tersebut diberi stempel waktu terlalu jauh di masa lalu atau mendatang. Jika entri log diterima oleh Cloud Logging lebih dari 24 jam di masa lalu atau 10 menit di masa mendatang, entri log tersebut tidak akan dihitung dalam metrik berbasis log.

    Jumlah entri yang datang terlambat dicatat untuk setiap log dalam metrik berbasis log sistem logging.googleapis.com/logs_based_metrics_error_count.

    Contoh: Entri log yang cocok dengan metrik berbasis log terlambat diterima. Waktu timestamp pukul 14.30 pada 20 Februari 2020, dan receivedTimestamp pukul 14.45 pada 21 Februari 2020. Entri ini tidak akan dihitung dalam metrik berbasis log.

  • Metrik berbasis log dibuat setelah kedatangan entri log yang mungkin dihitung oleh metrik. Metrik berbasis log mengevaluasi entri log saat disimpan di bucket log; metrik ini tidak mengevaluasi entri log yang disimpan di Logging.

Jenis resource "tidak ditentukan" di Cloud Monitoring

Beberapa jenis resource yang dipantau Cloud Logging tidak dipetakan langsung ke jenis resource yang dipantau Cloud Monitoring. Misalnya, saat pertama kali membuat pemberitahuan atau diagram dari metrik berbasis log, Anda mungkin melihat bahwa jenis resource "tidak ditentukan".

Jenis resource tidak ditentukan.

Jenis resource yang dimonitor dipetakan ke global atau jenis resource yang dimonitor lainnya di Cloud Monitoring. Lihat bagian Pemetaan untuk resource khusus Logging guna menentukan jenis resource yang dipantau yang perlu Anda pilih.

Peringatan atau notifikasi positif palsu yang tidak dipicu

Anda bisa mendapatkan pemberitahuan positif palsu atau pemberitahuan yang tidak dipicu dari metrik berbasis log karena periode penyelarasan untuk pemberitahuan terlalu singkat. Skenario umum saat periode penyelarasan yang terlalu singkat menyebabkan masalah adalah saat pemberitahuan menggunakan logika kurang dari, atau pemberitahuan didasarkan pada kondisi persentil untuk metrik distribusi.

Notifikasi positif palsu dapat terjadi karena entri log dapat terlambat dikirim ke Logging. Misalnya, kolom log timestamp dan receiveTimestamp dapat memiliki delta menit dalam beberapa kasus. Selain itu, saat Logging yang disimpan di bucket log, ada penundaan inheren antara saat entri log dibuat dan saat Logging menerimanya. Artinya, Logging mungkin tidak memiliki jumlah total untuk entri log tertentu hingga waktu tertentu setelah entri log dibuat. Inilah alasan pemberitahuan yang menggunakan logika less than atau berdasarkan kondisi persentil untuk metrik distribusi dapat menghasilkan notifikasi positif palsu: tidak semua entri log telah diperhitungkan.

Namun, metrik berbasis log pada akhirnya selalu konsisten. Metrik berbasis log pada akhirnya konsisten karena entri log yang cocok dengan metrik berbasis log dapat dikirim ke Logging dengan timestamp yang secara signifikan lebih lama atau lebih baru daripada receiveTimestamp log.

Artinya, metrik berbasis log dapat menerima entri log dengan stempel waktu yang lebih lama setelah entri log yang ada dengan stempel waktu yang sama telah diterima oleh Logging. Dengan demikian, nilai metrik harus diperbarui.

Untuk menjamin bahwa pemberitahuan tetap akurat bahkan untuk data tepat waktu, kebijakan pemberitahuan untuk metrik berbasis log harus menggunakan kondisi pemberitahuan dengan periode penyelarasan lebih dari atau sama dengan dua menit. Untuk entri log yang dikirim ke Logging dengan penundaan yang diukur dalam hitungan menit, sebaiknya gunakan periode penyelarasan selama sepuluh menit untuk menyeimbangkan ketepatan waktu dan akurasi.

Metrik memiliki terlalu banyak deret waktu

Jumlah deret waktu dalam metrik bergantung pada jumlah kombinasi nilai label yang berbeda. Jumlah deret waktu disebut kardinalitas metrik, dan tidak boleh melebihi 30.000.

Karena Anda dapat menghasilkan deret waktu untuk setiap kombinasi nilai label, jika Anda memiliki satu atau beberapa label dengan jumlah nilai yang tinggi, tidak sulit untuk melebihi 30.000 deret waktu. Anda ingin menghindari metrik berkardinalitas tinggi.

Seiring peningkatan kardinalitas metrik, metrik dapat di-throttle dan beberapa titik data mungkin tidak ditulis ke metrik. Diagram yang menampilkan metrik dapat lambat dimuat karena banyaknya deret waktu yang harus diproses diagram. Anda mungkin juga dikenai biaya panggilan API untuk mengkueri data deret waktu. Tinjau biaya Cloud Monitoring untuk mengetahui detailnya.

Untuk menghindari pembuatan metrik berkardinalitas tinggi:

  • Pastikan kolom label dan ekspresi reguler ekstraktor Anda cocok dengan nilai yang memiliki kardinalitas terbatas.

  • Hindari mengekstrak pesan teks yang dapat berubah, tanpa batas, sebagai nilai label.

  • Hindari mengekstrak nilai numerik dengan kardinalitas tak terbatas.

  • Hanya ekstrak nilai dari label kardinalitas yang diketahui; misalnya, kode status yang memiliki kumpulan nilai yang diketahui.

Metrik berbasis log sistem ini dapat membantu Anda mengukur pengaruh penambahan atau penghapusan label terhadap kardinalitas metrik:

Saat memeriksa metrik ini, Anda dapat memfilter lebih lanjut hasil berdasarkan nama metrik. Untuk mengetahui detailnya, lihat Memilih metrik: pemfilteran.

Nama metrik tidak valid

Saat membuat metrik penghitung atau distribusi, pilih nama metrik yang unik di antara metrik berbasis log dalam project Google Cloud Anda.

String nama metrik tidak boleh lebih dari 100 karakter dan hanya dapat berisi karakter berikut:

  • A-Z
  • a-z
  • 0-9
  • Karakter khusus _-.,+!*',()%\/.

    Karakter garis miring / menunjukkan hierarki potongan dalam nama metrik dan tidak boleh menjadi karakter pertama nama.

Nilai label terpotong

Nilai untuk label yang ditentukan pengguna tidak boleh lebih dari 1.024 byte.

Tidak dapat menghapus metrik log kustom

Anda mencoba menghapus metrik berbasis log kustom menggunakan Konsol Google Cloud. Permintaan penghapusan gagal dan dialog penghapusan menampilkan pesan error There is an unknown error while executing this operation.

Untuk mengatasi masalah ini, coba langkah berikut:

  • Muat ulang halaman Log-based metrics di Konsol Google Cloud. Pesan error mungkin ditampilkan karena masalah pengaturan waktu internal.

  • Identifikasi dan hapus kebijakan pemberitahuan yang memantau metrik berbasis log. Setelah Anda memastikan bahwa metrik berbasis log tidak dipantau oleh kebijakan pemberitahuan, hapus metrik berbasis log tersebut. Metrik berbasis log yang dipantau oleh kebijakan pemberitahuan tidak dapat dihapus.