Halaman ini menyediakan ringkasan konseptual tentang metrik berbasis log.
Metrik berbasis log dapat membantu Anda mengamati tren dan pola dalam volume entri log yang besar. Misalnya, Anda dapat menggunakan metrik berbasis log untuk menghitung jumlah entri log yang berisi pesan tertentu atau untuk mengekstrak informasi latensi yang dicatat dalam entri log. Anda dapat menampilkan metrik berbasis log dalam diagram Cloud Monitoring, dan kebijakan pemberitahuan dapat memantau metrik ini.
Metrik berbasis log dapat dikelompokkan ke dalam dua kategori:
Berbasis project. Metrik berbasis log ini mengevaluasi entri log yang melewati sink log project, lalu disimpan di bucket log dalam projectGoogle Cloud . Entri log yang dievaluasi mencakup entri yang dirutekan ke project Google Cloud Anda oleh sink log di project lain.
Anda mungkin tidak dapat menggunakan metrik berbasis log untuk mengevaluasi semua entri log yang berasal dari project Anda. Misalnya, jika administrator telah membuat sink gabungan yang menyadap, entri log yang dirutekan oleh sink tersebut akan dicegah agar tidak mencapai sink tingkat project. Oleh karena itu, entri log ini tidak dapat berkontribusi pada metrik berbasis log.
Berbasis bucket log. Metrik berbasis log ini mengevaluasi entri log yang disimpan dalam bucket log tertentu.
Cara nilai deret waktu untuk metrik berbasis log ditentukan
Bagian ini menjelaskan secara singkat cara menentukan nilai dalam deret waktu untuk metrik berbasis log jenis penghitung. Bagian ini juga menjelaskan mengapa deret waktu untuk metrik berbasis log mungkin memiliki celah. Prosesnya serupa untuk metrik berbasis log nilai distribusi.
Untuk metrik berbasis log jenis penghitung, logging melakukan hal berikut:
Fungsi ini membuat satu atau beberapa aliran data dan untuk setiap aliran data, fungsi ini mengelola kumpulan penghitung dalam memori.
Ada satu aliran untuk setiap kombinasi nilai unik untuk kumpulan label metrik dan resource. Setiap penghitung dalam memori ditujukan untuk interval waktu yang berbeda, tetapi setiap penghitung mencatat jumlah entri log yang cocok dengan filter dan yang memiliki stempel waktu yang sesuai dengan interval.
Setiap menit, untuk setiap aliran data, backend Logging menggunakan nilai penghitung dalam memori untuk menentukan cara memperbarui deret waktu yang dikelola oleh Cloud Monitoring.
Jika ada lima aliran data, berarti ada lima deret waktu yang dikelola oleh Monitoring. Anda dapat memetakan deret waktu ini. Anda juga dapat membuat kebijakan pemberitahuan untuk memantau deret waktu ini.
Contoh: Cara nilai nol dapat menyebabkan kesenjangan data
Pertimbangkan deret waktu berikut:
Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)
Dalam ekspresi sebelumnya, (T1, -)
berarti tidak ada nilai yang ditulis
untuk waktu T1
. Hal ini sesuai dengan kesenjangan nilai dalam deret waktu.
Sebaliknya, (T3, 0)
berarti nilai deret waktu
pada waktu T3
adalah nol.
Untuk setiap aliran, sistem backend untuk metrik berbasis log menggunakan aturan berikut untuk menentukan nilai yang akan ditulis ke deret waktu yang disimpan oleh Monitoring:
Jika jumlah gabungan untuk interval bukan nol, nilai tersebut akan ditulis ke deret waktu.
Dalam contoh deret waktu, hanya interval
T4
yang memiliki nilai bukan nol. Nilai1
menunjukkan bahwa satu entri log dengan stempel waktu yang sesuai dengan intervalT4
cocok dengan filter metrik berbasis log.Jika jumlah gabungan untuk interval adalah nol, nilai nol akan ditulis ke deret waktu saat interval yang berdekatan memiliki nilai bukan nol.
Dalam contoh deret waktu, pada waktu
T3
, jumlah gabungannya adalah nol. Namun, nilai nol ditulis karena pada waktuT4
jumlah gabungan bukan nol. Demikian pula, pada waktuT5
, jumlah gabungannya adalah nol. Nilai nol ditulis ke deret waktu karena nilai untuk interval sebelumnya bukan nol.Jika tidak, deret waktu tidak akan diperbarui dan akan ada kesenjangan data untuk interval tersebut.
Dalam contoh deret waktu, tidak ada nilai untuk interval
T1
,T2
, danT6
. Dalam interval ini, jumlah gabungannya adalah nol dan jumlah untuk interval yang berdekatan juga nol.
Penanganan entri log yang terlambat dan mendatang
Saat entri log tiba dengan stempel waktu untuk interval yang telah diproses, backend Logging akan menghasilkan data historis. Data historis digunakan untuk memperbarui jumlah yang ditulis sebelumnya.
Saat entri log tiba dengan stempel waktu yang akan datang, backend Logging akan mengumpulkan jumlah ini. Dalam deret waktu, entri log ini dihitung saat stempel waktunya sesuai dengan interval saat ini.
Sumber metrik berbasis log
Anda dapat menggunakan metrik yang ditentukan oleh Cloud Logging untuk mengumpulkan informasi penggunaan umum, dan Anda dapat menentukan metrik berbasis log Anda sendiri untuk mengambil informasi khusus aplikasi atau bisnis Anda.
Metrik berbasis log dapat diterapkan dalam satu project Google Cloud atau dalam bucket log. Anda tidak dapat membuat metrik berbasis log untuk resource Google Cloud lain seperti akun atau organisasi Penagihan Cloud.
Untuk informasi tentang perbedaan antara metrik berbasis log berbasis project dan metrik berbasis log berbasis bucket, lihat Metrik berbasis log dengan cakupan bucket.
Metrik yang ditentukan sistem
Logging menyediakan serangkaian metrik untuk nilai penggunaan seperti jumlah entri log yang disimpan dalam bucket log di project Anda, atau jumlah byte yang telah Anda ekspor. Untuk mengetahui daftar lengkap metrik yang ditentukan sistem, lihat Google Cloud metrics: logging.
Metrik yang ditentukan pengguna
Anda dapat membuat metrik berbasis log yang ditentukan pengguna untuk melacak metrik lain yang penting bagi project Anda. Misalnya, Anda dapat membuat metrik berbasis log untuk menghitung jumlah entri log yang cocok dengan filter tertentu.
Secara default, metrik berbasis log yang ditentukan pengguna dihitung dari semua log yang diterima oleh Logging API untuk project Google Cloud , terlepas dari filter penyertaan atau filter pengecualian yang mungkin berlaku untuk projectGoogle Cloud .
Anda juga dapat membuat metrik berbasis log yang ditentukan pengguna untuk bucket log tertentu dalam project Google Cloud . Metrik berbasis log dengan cakupan bucket dihitung dari semua log yang dituju untuk bucket, terlepas dari asalnya. Untuk informasi selengkapnya, lihat Metrik berbasis log di bucket log.
Jenis data untuk metrik berbasis log
Metrik berbasis log dapat mengekstrak data dari log untuk membuat metrik dari jenis berikut:
- Penghitung: metrik ini menghitung jumlah entri log yang cocok dengan filter yang ditentukan dalam jangka waktu tertentu. Gunakan penghitung jika Anda ingin melacak jumlah kemunculan nilai atau string dalam log.
- Distribusi: metrik ini juga menghitung nilai, tetapi mengumpulkan jumlah ke dalam rentang nilai (bucket histogram). Gunakan distribusi saat Anda ingin mengekstrak nilai seperti latensi.
- Boolean: metrik ini menangkap apakah entri log cocok dengan filter yang ditentukan atau tidak.
Metrik berbasis log yang ditentukan pengguna dapat berupa jenis metrik penghitung atau metrik distribusi. Sebagian besar metrik berbasis log yang ditentukan sistem adalah penghitung, tetapi beberapa metrik adalah jenis boolean. Karakteristik penghitung dan distribusi dijelaskan secara lebih mendetail di bagian berikutnya.
Data untuk metrik berbasis log yang ditentukan pengguna hanya berasal dari entri log yang diterima setelah metrik dibuat. Metrik tidak diisi secara retroaktif dengan data dari entri log yang sudah ada di Logging.
Metrik berbasis log sistem hanya dihitung dari log yang disertakan. Metrik berbasis log yang ditentukan pengguna dihitung dari log yang disertakan dan dikecualikan.
Bagian berikut menjelaskan karakteristik metrik jenis penghitung dan jenis distribusi.
Metrik penghitung
Metrik penghitung menghitung jumlah entri log yang cocok dengan filter tertentu. Misalnya, Anda dapat melakukan hal berikut:
- Menghitung entri log yang berisi pesan error tertentu.
Hitung frekuensi setiap pengguna memanggil operasi, dengan mencari pesan log yang cocok dengan pola ini:
... user USERNAME called OPERATION ...
Dengan mengekstrak USERNAME dan OPERATION serta menggunakannya sebagai nilai untuk dua label, Anda nantinya dapat bertanya, "Berapa kali
sally
memanggil operasiupdate
?", "Berapa banyak orang yang memanggil operasiread
?", "Berapa kaligeorge
memanggil operasi?", dan seterusnya.
Untuk informasi selengkapnya, lihat Mengonfigurasi metrik penghitung.
Metrik distribusi
Metrik distribusi mengakumulasi data numerik dari entri log yang cocok dengan filter. Metrik ini berisi deret waktu objek distribusi, yang masing-masing berisi hal berikut:
- Hitungan jumlah nilai dalam distribusi.
- Rata-rata nilai.
- Jumlah kuadrat deviasi: Jumlahi=1..n(xi–rata-rata)2
- Kumpulan bucket histogram dengan jumlah nilai di setiap bucket. Anda dapat menggunakan tata letak bucket default atau memilih sendiri.
Penggunaan umum untuk metrik distribusi adalah melacak latensi. Saat setiap entri log diterima, nilai latensi diekstrak dari suatu tempat dalam entri log dan ditambahkan ke distribusi. Secara berkala, distribusi akumulasi akan ditulis ke Cloud Monitoring.
Untuk informasi tentang distribusi, termasuk formatnya dalam deret waktu dan cara memvisualisasinya, lihat Membuat diagram metrik distribusi.
Untuk informasi tentang cara membuat metrik berbasis log distribusi, lihat Mengonfigurasi metrik distribusi.
Jenis resource
Sebaiknya metrik berbasis log Anda menentukan satu jenis resource. Spesifikasi ini memastikan bahwa deret waktu yang dihasilkan untuk metrik berbasis log Anda cocok dengan model data yang diharapkan oleh Cloud Monitoring. Hal ini juga menyederhanakan proses pembuatan diagram dan kebijakan pemberitahuan, karena tidak ada ambiguitas terkait data deret waktu yang dipetakan atau dipantau.
Pertimbangkan metrik berbasis log dengan filter berikut:
severity>="ERROR"
resource.type="gce_instance"
Cloud Monitoring mengenali bahwa data ini ditujukan untuk instance VM Compute Engine. Oleh karena itu, saat Anda membuat diagram untuk instance VM, metrik berbasis log akan dicantumkan sebagai opsi di menu. Saat Anda membuat diagram untuk jenis resource yang berbeda, metrik berbasis log tidak tercantum sebagai opsi.
Jika Anda membuat metrik berbasis log tanpa menentukan jenis resource, Monitoring akan mencantumkan metrik berbasis log sebagai opsi untuk beberapa jenis resource, meskipun Anda tidak menghitung entri dari resource tersebut.
Label
Metrik berbasis log dapat memiliki label, yang memungkinkan beberapa deret waktu dikumpulkan untuk metrik. Nilai untuk label diekstrak dari kolom dalam entri log yang cocok. Pencatatan log mencatat deret waktu terpisah untuk setiap kombinasi nilai label.
Sebagian besar metrik berbasis log menyediakan label log
default.
Label ini menyimpan nilai bagian LOG_ID dari
kolom logName
dalam entri log, misalnya,
cloudresourcemanager.googleapis.com%2Factivity
.
Metrik berbasis log sistem memiliki label yang telah ditentukan sebelumnya dan tidak dapat diubah.
Metrik berbasis log yang ditentukan pengguna dapat menyertakan label yang Anda tentukan. Biasanya, label ini mengekstrak nilai dari entri log yang berkontribusi pada metrik berbasis log.
Misalnya, Anda dapat menggunakan label dalam metrik berbasis log untuk mencatat folder atau organisasi tempat entri log berasal, meskipun metrik berbasis log cakupan bucket tidak dapat dibuat untuk folder atau organisasi. Untuk informasi selengkapnya, lihat Label metrik berbasis log.
Diagram dan kebijakan pemberitahuan di Cloud Monitoring
Anda dapat menggunakan metrik berbasis log yang ditentukan sistem maupun pengguna di Cloud Monitoring untuk membuat diagram dan kebijakan pemberitahuan. Untuk diagram dan kebijakan pemberitahuan ini, Anda dapat menggunakan label untuk memfilter atau menggabungkan deret waktu. Misalnya, Anda dapat menetapkan filter untuk hanya menampilkan deret waktu tertentu. Untuk informasi selengkapnya, lihat Membuat daftar dan diagram metrik berbasis log dan Pemberitahuan tentang metrik berbasis log.
Di Cloud Monitoring, metrik berbasis log menggunakan pola penamaan berikut:
- Sistem:
logging.googleapis.com/SYSTEM_METRIC_NAME
- Ditentukan pengguna:
logging.googleapis.com/user/USER_METRIC_NAME
Perhatikan bahwa metrik berbasis log yang ditentukan pengguna menyertakan string user
.
Visibilitas ke cakupan metrik Monitoring
Metrik berbasis log diserap oleh Cloud Monitoring, dan visibilitas data metrik ke project Google Cloud ditentukan oleh cakupan metrik. Cakupan metrik adalah daftar project yang dipantau oleh project yang menghosting cakupan metrik; project hosting disebut project cakupan.
Secara default, setiap project menghosting cakupan metrik yang hanya mencakup dirinya sendiri, sehingga project adalah project cakupan untuk dirinya sendiri. Oleh karena itu, metrik Anda, termasuk metrik berbasis log, hanya dapat dilihat oleh projectGoogle Cloud Anda.
Anda juga dapat membuat cakupan metrik multi-project untuk project cakupan. Dengan cakupan metrik multi-project, project cakupan dapat melihat metrik dari semua project dalam cakupan metrik. Yang terlihat oleh setiap project dalam cakupan metrik multi-project ditentukan oleh cakupan metrik yang dihosting oleh setiap project tersebut. Fakta bahwa dua project berada dalam cakupan metrik multi-project tidak berarti setiap project memiliki akses ke data metrik atau konfigurasi di project lain.
Satu project juga dapat muncul di beberapa cakupan metrik. Metrik dari project tersebut dapat dilihat oleh project cakupan dari setiap cakupan metrik tersebut.
Metrik, termasuk metrik berbasis log, ditentukan dalam project tertentu. Jika project tersebut muncul di beberapa cakupan metrik, metrik akan terlihat oleh project selain project tempat metrik tersebut ditentukan. Untuk informasi tentang cara cakupan metrik dan metrik berbasis log cakupan bucket berinteraksi, lihat Project dan cakupan metrik.
Untuk informasi selengkapnya tentang cakupan metrik, termasuk cakupan metrik multi-project, dan tentang cakupan project, lihat hal berikut:
Harga
Semua metrik berbasis log yang ditentukan pengguna adalah class dalam metrik kustom Cloud Monitoring dan dapat dikenakan biaya. Untuk mengetahui informasi harga, lihat Harga Cloud Logging: Metrik berbasis log.
Kuota
Untuk mengetahui informasi tentang kuota dan batas yang terkait dengan metrik berbasis log yang ditentukan pengguna, lihat Kuota dan batas.
Pemecahan masalah
Jika Anda mengalami masalah saat menggunakan metrik berbasis log, lihat Memecahkan masalah metrik berbasis log.