Ringkasan metrik berbasis log

Halaman ini memberikan ringkasan konseptual tentang metrik berbasis log. Metrik ini dapat membantu Anda mengamati tren dan pola dalam volume besar entri log.

Tentang metrik berbasis log

Metrik berbasis log adalah metrik Cloud Monitoring yang berasal dari konten entri log. 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 diterapkan di level project atau level bucket log. Metrik berbasis log dengan cakupan bucket berguna saat Anda menggunakan sink gabungan untuk merutekan entri log ke bucket log, dan saat Anda merutekan entri log dari satu project ke bucket log di project lain. Untuk mengetahui informasi selengkapnya, lihat bagian di halaman ini yang berjudul Sumber metrik berbasis log.

Cara nilai deret waktu untuk metrik berbasis log ditentukan

Bagian ini secara singkat menjelaskan cara nilai dalam deret waktu untuk metrik berbasis log berjenis penghitung ditentukan. Bagian ini juga menjelaskan mengapa deret waktu untuk metrik berbasis log mungkin memiliki kesenjangan. Prosesnya serupa untuk metrik berbasis log nilai distribusi.

Untuk metrik berbasis log jenis penghitung, Logging melakukan hal berikut:

  1. Proses ini membuat satu atau beberapa aliran data dan untuk setiap aliran, proses ini mengelola serangkaian penghitung dalam memori.

    Ada satu aliran untuk setiap kombinasi nilai unik untuk kumpulan label metrik dan resource. Setiap penghitung dalam memori adalah 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.

  2. Setiap menit, untuk setiap aliran, backend Logging menggunakan nilai penghitung dalam memori untuk menentukan cara memperbarui deret waktu yang dikelola oleh Cloud Monitoring.

    Jika ada lima aliran, berarti ada lima deret waktu yang dikelola oleh Monitoring. Anda dapat membuat diagram 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 dalam nilai di 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 deret waktu contoh, hanya interval T4 yang memiliki nilai bukan nol. Nilai 1 menunjukkan bahwa satu entri log dengan stempel waktu yang sesuai dengan interval T4 cocok dengan filter metrik berbasis log.

  • Jika jumlah gabungan untuk suatu interval adalah nol, nilai nol akan ditulis ke deret waktu jika interval yang berdekatan memiliki nilai bukan nol.

    Dalam deret waktu contoh, pada waktu T3, jumlah yang diagregasi adalah nol. Namun, nilai nol ditulis karena pada waktu T4, jumlah gabungan bukan nol. Demikian pula, pada waktu T5, jumlah gabungannya adalah nol. Nilai nol ditulis ke deret waktu karena nilai untuk interval sebelumnya bukan nol.

  • Jika tidak, deret waktu tidak diperbarui dan ada kesenjangan data untuk interval.

    Dalam deret waktu contoh, tidak ada nilai untuk interval T1, T2, dan T6. Dalam interval ini, jumlah gabungan adalah nol dan jumlah untuk interval yang berdekatan juga nol.

Penanganan entri log yang terlambat tiba dan yang akan datang

Saat entri log tiba dengan stempel waktu untuk interval yang telah diproses, backend Logging akan membuat data historis. Data historis digunakan untuk memperbarui jumlah yang ditulis sebelumnya.

Saat entri log tiba dengan stempel waktu yang ada di masa mendatang, backend Logging akan mengakumulasi 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 mendapatkan 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 Google Cloud resource lain seperti akun atau organisasi Penagihan Cloud.

Untuk mengetahui informasi tentang perbedaan antara metrik berbasis log tingkat project dan metrik berbasis log tingkat 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 berbasis log yang ditentukan sistem berlaku di tingkat project.

Router Log menghitung entri log jika semua hal berikut terpenuhi:

  • Entri log melewati sink log project tempat metrik berbasis log ditetapkan.
  • Entri log disimpan di bucket log. Bucket log dapat berada di project mana pun.

    Misalnya, anggap project A memiliki sink log yang tujuannya adalah project B. Asumsikan juga bahwa sink log di project B merutekan entri log ke bucket log. Dalam skenario ini, entri log yang dirutekan dari project A ke project B berkontribusi pada metrik berbasis log yang ditentukan sistem project A. Entri log ini juga berkontribusi pada metrik berbasis log yang ditentukan sistem project B.

Metrik buatan 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, terlepas dari filter penyertaan atau filter pengecualian yang mungkin berlaku untuk project. Google Cloud Google 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 ditujukan untuk bucket, terlepas dari asalnya. Untuk mengetahui informasi selengkapnya, lihat Metrik berbasis log pada bucket log.

Router Log menghitung entri log jika semua hal berikut terpenuhi:

  • Penagihan diaktifkan di project tempat metrik berbasis log ditentukan.
  • Untuk metrik dengan cakupan bucket, entri log disimpan di bucket log tempat metrik berbasis log ditentukan.
  • Untuk metrik cakupan project, entri log melewati sink log project tempat metrik berbasis log ditentukan.

Jenis data untuk metrik berbasis log

Metrik berbasis log dapat mengekstrak data dari log untuk membuat metrik jenis berikut:

  • Penghitung: metrik ini menghitung jumlah entri log yang cocok dengan filter tertentu dalam jangka waktu tertentu. Gunakan penghitung jika Anda ingin melacak jumlah kemunculan nilai atau string dalam log Anda.
  • 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 mencatat apakah entri log cocok dengan filter yang ditentukan atau tidak.

Metrik berbasis log yang ditentukan pengguna dapat berupa jenis metrik penghitung atau distribusi. Sebagian besar metrik berbasis log yang ditentukan sistem adalah penghitung, tetapi beberapa di antaranya berjenis 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 dihitung hanya 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 jumlah 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 dapat bertanya nanti, "Berapa kali sally memanggil operasi update?", "Berapa banyak orang yang memanggil operasi read tersebut?", "Berapa kali george memanggil operasi?", dan sebagainya.

Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi metrik penghitung.

Metrik distribusi

Metrik distribusi mengakumulasi data numerik dari entri log yang cocok dengan filter. Metrik berisi deret waktu objek distribusi, yang masing-masing berisi hal berikut:

  • Hitungan jumlah nilai dalam distribusi.
  • Rata-rata nilai.
  • Jumlah kuadrat deviasi: Sumi=1..n(xi–mean)2
  • Kumpulan bucket histogram dengan jumlah nilai di setiap bucket. Anda dapat menggunakan tata letak bucket default atau memilih tata letak Anda sendiri.

Penggunaan umum untuk metrik distribusi adalah untuk melacak latensi. Saat setiap entri log diterima, nilai latensi diekstrak dari suatu tempat dalam entri log dan ditambahkan ke distribusi. Pada interval reguler, distribusi yang terakumulasi akan ditulis ke Cloud Monitoring.

Untuk mengetahui informasi tentang distribusi, termasuk formatnya dalam deret waktu dan cara visualisasinya, lihat Membuat diagram metrik distribusi.

Untuk mengetahui 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 mengenai data deret waktu mana yang diplot atau dipantau.

Pertimbangkan metrik berbasis log dengan filter berikut:

severity>="ERROR"
resource.type="gce_instance"

Cloud Monitoring mengenali bahwa data ini adalah untuk instance VM Compute Engine. Oleh karena itu, saat Anda membuat diagram untuk instance VM, metrik berbasis log Anda akan tercantum sebagai opsi di menu. Saat Anda membuat diagram untuk jenis resource yang berbeda, metrik berbasis log Anda tidak tercantum sebagai opsi.

Jika Anda membuat metrik berbasis log tanpa menentukan jenis resource, maka Monitoring akan mencantumkan metrik berbasis log Anda 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 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 menyetel filter untuk hanya menampilkan deret waktu tertentu. Untuk mengetahui informasi selengkapnya, lihat Membuat daftar dan membuat diagram metrik berbasis log dan Membuat pemberitahuan pada metrik berbasis log.

Di Cloud Monitoring, metrik berbasis log menggunakan pola penamaan berikut:

  • Sistem: logging.googleapis.com/SYSTEM_METRIC_NAME
  • Ditetapkan 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 ditentukan oleh cakupan metrik. Google Cloud 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 menjadi project pencakupan 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 pencakupan. Dengan cakupan metrik multi-project, project pencakupan dapat melihat metrik dari semua project dalam cakupan metrik. Apa yang terlihat oleh masing-masing 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 bahwa setiap project memiliki akses ke data metrik atau konfigurasi di project lain.

Satu project juga dapat muncul dalam beberapa cakupan metrik. Metrik dari project tersebut dapat dilihat oleh project pencakupan dari setiap cakupan metrik tersebut.

Metrik, termasuk metrik berbasis log, ditentukan dalam project tertentu. Jika project tersebut muncul dalam beberapa cakupan metrik, metriknya dapat dilihat oleh project selain project tempat metrik tersebut ditentukan. Untuk mengetahui informasi tentang cara interaksi cakupan metrik dan metrik berbasis log cakupan bucket, lihat Project dan cakupan metrik.

Untuk mengetahui informasi selengkapnya tentang cakupan metrik, termasuk cakupan metrik multi-project, dan tentang project yang dicakup, lihat artikel berikut:

Batasan

Anda tidak dapat membuat metrik berbasis log yang menghitung jumlah entri log yang berisi grup error. Anda juga tidak dapat mengekstrak ID grup error ke dalam label yang dilampirkan ke metrik berbasis log.

Harga

Semua metrik berbasis log yang ditentukan pengguna adalah sebuah 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.