Dokumen ini membahas label metrik berbasis log, dan menjelaskan cara membuat serta menggunakan label pada metrik log.
Jika sudah memahami label, Anda dapat langsung membuka bagian Membuat label di halaman ini.
Ringkasan label untuk metrik berbasis log
Label memungkinkan metrik berbasis log berisi beberapa deret waktu—satu untuk setiap kombinasi nilai label. Semua metrik berbasis log dilengkapi dengan beberapa label default.
Anda dapat membuat label tambahan yang ditentukan pengguna dalam metrik jenis penghitung dan jenis distribusi dengan menentukan ekspresi ekstraktor. Ekspresi ekstraktor memberi tahu Cloud Logging cara mengekstrak nilai label dari entri log. Anda dapat menentukan nilai label sebagai salah satu dari berikut:
- Seluruh konten kolom bernama dalam objek
LogEntry
. - Bagian dari kolom bernama yang cocok dengan ekspresi reguler (regexp).
Anda dapat mengekstrak label dari
kolom bawaan LogEntry
, seperti
httpRequest.status
, atau dari salah satu kolom payload textPayload
,
jsonPayload
, atau protoPayload
.
Untuk mengetahui informasi tentang ekspresi reguler, lihat Sintaksis RE2.
Jangan masukkan informasi sensitif dalam ekspresi ekstraktor dan jangan ekstrak data sensitif ke dalam label. Data ini diperlakukan sebagai data layanan.
Batasan label yang ditentukan pengguna
Batasan berikut berlaku untuk label yang ditentukan pengguna:
Anda dapat membuat hingga 10 label yang ditentukan pengguna per metrik.
Setelah membuat label, Anda tidak dapat menghapusnya.
Anda dapat mengubah ekspresi ekstraktor dan deskripsi label yang telah dibuat.
Anda tidak dapat mengubah nama atau jenis nilai label yang telah Anda buat.
Hanya 1.024 karakter pertama dari nilai label yang disimpan.
Setiap metrik berbasis log dibatasi hingga sekitar 30.000 deret waktu aktif, yang bergantung pada jumlah kemungkinan nilai untuk setiap label, termasuk label default.
Misalnya, jika entri log Anda berasal dari 100 resource seperti instance VM, dan Anda menentukan label dengan 20 kemungkinan nilai, Anda dapat memiliki hingga 2.000 deret waktu untuk metrik.
Jika Anda memiliki terlalu banyak deret waktu atau terlalu banyak titik data, biaya Anda akan meningkat dan aktivitas Anda mungkin akan dibatasi. Untuk informasi selengkapnya tentang biaya metrik berbasis log, lihat Harga Cloud Monitoring: Metrik yang dapat ditagih. Untuk mengetahui informasi tentang batas yang berlaku untuk metrik berbasis log, lihat Kuota dan batas: Metrik berbasis log dan Memecahkan masalah metrik berbasis log.
Label default
Semua metrik berbasis log dilengkapi dengan beberapa label standar:
Label resource: Semua metrik menggunakan objek resource yang dimonitor untuk mengidentifikasi sumber data deret waktu. Setiap jenis resource menyertakan nama jenis dan satu atau beberapa label. Contoh jenis resource meliputi instance VM, database Cloud SQL, dan load balancer.
Resource dan labelnya dicantumkan secara terpisah dari label metrik lainnya di Cloud Monitoring, tetapi memiliki efek yang sama: keduanya membuat deret waktu tambahan dalam metrik. Untuk mengetahui informasi selengkapnya, lihat Metrik, Deret Waktu, dan Resource.
log: Label ini menyimpan nilai bagian
LOG_ID
dari kolomlogName
dalam entri log.severity: Label ini menyimpan nilai kolom
severity
dalam entri log. Label tingkat keparahan disediakan secara default hanya di metrik berbasis log sistem.
Contoh: Menggunakan Metrics Explorer
Screenshot berikut dari Metrics Explorer menampilkan label pada salah satu metrik berbasis log sistem. Anda mendapatkan daftar label dengan mengklik di dalam kotak Filter:
Screenshot menampilkan informasi berikut:
Metrics Explorer menggunakan deret waktu dari metrik
logging/log_entry_count
dan jenis resourcegce_instance
—instance VM Compute Engine.Metrik ini juga berisi deret waktu dari jenis resource lainnya, tetapi Metrics Explorer memungkinkan Anda melihat hanya satu jenis resource dalam satu waktu.
Jenis resource
gce_instance
memiliki tiga label resource:project_id
,instance_id
, danzone
.Metrik ini memiliki dua label metrik:
log
danseverity
. Label yang ditentukan pengguna juga akan muncul di bagian ini.
Membuat label
Anda membuat label yang ditentukan pengguna saat membuat metrik. Metrik penghitung dan metrik distribusi dapat memiliki label. Anda tidak dapat menambahkan label ke metrik berbasis log sistem.
Konsol
Saat Anda membuat metrik berbasis log, panel Create logs metric akan menyertakan opsi untuk menambahkan label.
Klik Tambahkan label.
Tips: Untuk melihat kolom dan nilai di dalam entri log, lakukan hal berikut:
- Di bagian Filter selection, klik Preview logs.
- Di panel Lihat log, pilih entri log, lalu klik ekspander navigate_next di sampingnya.
- Klik Luaskan kolom bertingkat.
Tetapkan kolom berikut di bagian Label:
Nama label: Masukkan nama untuk label. Contoh,
ID
.Nama harus memenuhi kriteria berikut:
- Panjangnya tidak boleh lebih dari 100 karakter.
- Cocok dengan ekspresi reguler [a-zA-Z][a-zA-Z0-9_]*.
- Terdiri dari lebih dari sekadar string "log".
Deskripsi: Jelaskan label. Cobalah untuk sespesifik mungkin tentang format nilai log yang diharapkan. Contoh,
Instance number
.Jenis label: Pilih String, Boolean, atau Bilangan bulat.
Nama kolom: Masukkan nama kolom entri log yang berisi nilai label. Anda akan ditawari pilihan saat mengetik. Dalam contoh ini, kolomnya adalah:
labels."compute.googleapis.com/resource_id"
Ekspresi reguler: Jika nilai label Anda terdiri dari seluruh konten kolom, Anda dapat mengosongkan kolom ini. Jika tidak, tentukan grup tangkapan regexp yang mengekstrak nilai label dari nilai kolom.
Misalnya, kolom biasanya berisi teks seperti berikut:
The instance number is 0123456789; the ID is my-test-instance22
Jika Anda ingin nilai label menjadi nomor instance, ada banyak ekspresi reguler yang akan mengekstrak nomor yang benar. Misalnya, dalam ekspresi berikut, tanda kurung adalah grup pengambilan yang mengidentifikasi bagian teks yang akan diekstrak:
The instance number is ([0-9]+); .*
Untuk informasi selengkapnya tentang ekspresi reguler, lihat Sintaksis RE2.
Klik Done untuk membuat label. Anda dapat menambahkan label lainnya dengan mengulangi langkah-langkah ini.
Untuk menyelesaikan pembuatan metrik, klik Create metric.
gcloud
Untuk membuat metrik berbasis log dengan label kustom, Anda harus membuat file yang
berisi representasi definisi LogMetric
dalam
format JSON atau YAML, termasuk label kustom. Kemudian, buat metrik
dengan memanggil perintah create
dengan flag --config-from-file
,
ganti FILENAME dengan nama file JSON atau YAML Anda:
gcloud logging metrics create METRIC_NAME --config-from-file FILENAME
Untuk informasi selengkapnya, lihat
gcloud logging metrics create
.
API
Label ditentukan sebagai bagian dari objek LogMetric
dalam isi permintaan
panggilan ke metode projects.metrics.create
Logging API. Untuk informasi tentang panggilan metode lengkap,
lihat Membuat metrik penghitung
atau Membuat metrik distribusi.
Untuk setiap label, Anda harus menambahkan segmen ke kolom metricDescriptor
dan
labelExtractors
di LogMetric
.
Sintaksisnya adalah sebagai berikut:
{ ... metricDescriptor: { labels: [ { key: LABEL_NAME, valueType: LABEL_TYPE, description: LABEL_DESCRIPTION }, ... ] }, labelExtractors: { LABEL_NAME: EXTRACTOR_EXPRESSION, ... }, }
Elemen sintaksis memiliki arti sebagai berikut:
- LABEL_NAME: Nama label sebagai string.
- VALUE_TYPE: Jenis label:
STRING
,BOOL
, atauINT64
. - LABEL_DESCRIPTION: Deskripsi label.
EXTRACTOR_EXPRESSION: String yang menggabungkan nama kolom entri log dengan ekspresi reguler opsional. Ekspresi ekstraktor dapat berupa salah satu dari berikut ini:
EXTRACT(FIELD)
REGEXP_EXTRACT(FIELD, REGEXP)
Untuk informasi selengkapnya tentang ekspresi reguler, lihat Sintaksis RE2.
Berikut adalah contoh dengan dua label:
{
...
metricDescriptor: {
labels: [
{ key: "label_name_a", valueType: STRING },
{ key: "label_name_b", valueType: INT64 },
]
},
labelExtractors: {
"label_name_a":
"REGEXP_EXTRACT(jsonPayload.field_a, \"before ([a-zA-Z ]+) after\")",
"label_name_b": "EXTRACT(jsonPayload.field_b)",
},
}
Untuk detail selengkapnya, lihat jenis LogMetric
.