Komponen model metrik

Model Cloud Monitoring untuk memantau data terdiri dari tiga konsep utama:

  • Jenis resource yang dimonitor
  • Jenis metrik
  • Deret waktu

Dokumen Model metrik menjelaskan konsep Cloud Monitoring ini secara umum. Jika Anda baru mengenal konsep-konsep ini, bacalah halaman itu terlebih dahulu.

Halaman ini menjelaskan jenis metrik, resource yang dipantau, dan deret waktu, beserta beberapa konsep terkait secara lebih mendetail. Konsep ini mendasari semua metrik Monitoring.

Anda harus memahami informasi di halaman ini jika ingin melakukan salah satu dari hal berikut:

Untuk mengetahui detail selengkapnya tentang konsep ini dan pemetaannya ke Cloud Monitoring API, lihat Struktur deret waktu, terutama jika Anda berencana menggunakan Monitoring API atau metrik kustom.

Penjelasan singkat tentang label

Jenis resource dan jenis metrik yang dimonitor mendukung label, yang memungkinkan data untuk diklasifikasikan selama analisis. Contoh:

  • Jenis resource yang dimonitor untuk virtual machine mungkin menyertakan label untuk lokasi mesin dan project ID yang terkait dengan mesin. Saat informasi tentang resource yang dipantau dicatat, informasi tersebut akan menyertakan nilai untuk label. Resource yang dipantau mungkin juga memiliki label metadata yang disediakan oleh sistem atau pengguna, selain label yang ditentukan untuk jenis resource yang dimonitor.
  • Jenis metrik yang menghitung permintaan API mungkin memiliki label untuk mencatat nama metode yang dipanggil dan status permintaan tersebut.

Penggunaan label dibahas secara lebih mendetail di Label.

Jenis resource yang dimonitor

Resource yang dipantau adalah resource tempat data metrik diambil. Cloud Monitoring mendukung sekitar 270 jenis resource yang dimonitor.

Jenis resource yang dimonitor mencakup tugas dan node umum, komponen arsitektur di Google Kubernetes Engine, tabel di Bigtable, berbagai resource AWS, dan banyak lagi.

Setiap jenis resource yang dipantau dijelaskan secara resmi dalam struktur data yang disebut deskriptor resource yang dimonitor. Untuk mengetahui informasi selengkapnya, lihat Deskripsi resource yang dimonitor.

Setiap jenis resource yang dimonitor dan didukung memiliki entri dalam Daftar resource yang dimonitor. Entri dalam daftar dibuat dari deskriptor resource yang dipantau. Bagian ini menjelaskan informasi yang diambil dalam deskriptor resource yang dimonitor dan menunjukkan cara informasi tersebut ditampilkan dalam daftar.

Contoh jenis resource yang dipantau

Gambar berikut menunjukkan entri dalam daftar untuk bucket Cloud Storage:

Listingan untuk bucket Cloud Storage.

Semua entri dalam daftar menyertakan informasi berikut:

  • Jenis: Header dalam entri mencantumkan jenis resource yang dipantau; gcs_bucket dalam contoh.
  • Nama tampilan: Deskripsi singkat dari resource yang dimonitor.
  • Deskripsi: Deskripsi yang lebih panjang dari resource yang dimonitor.
  • Label: Kumpulan dimensi untuk mengklasifikasikan data. Untuk informasi selengkapnya, lihat Label.

Jenis metrik

Jenis metrik menjelaskan pengukuran yang dapat dikumpulkan dari resource yang dimonitor. Jenis metrik mencakup deskripsi tentang apa yang diukur dan cara pengukuran tersebut ditafsirkan. Cloud Monitoring mendukung sekitar 6.500 jenis metrik, dan memberi Anda kemampuan untuk menentukan jenis baru.

Jenis metrik mencakup jumlah panggilan API, statistik penggunaan disk, penggunaan penyimpanan, dan banyak lagi.

Setiap jenis metrik dijelaskan secara formal dalam struktur data yang disebut deskripsi metrik. Untuk mengetahui informasi selengkapnya, lihat Deskripsi metrik.

Setiap jenis metrik bawaan memiliki entri di halaman Daftar metrik. Entri dalam tabel ini dibuat dari deskriptor metrik. Bagian ini menjelaskan informasi yang diambil dalam jenis metrik dan menunjukkan cara informasi tersebut disajikan dalam materi referensi.

Contoh jenis metrik

Gambar berikut menunjukkan entri untuk jenis metrik Cloud Storage:

Cuplikan daftar metrik untuk Cloud Storage.

Jenis metrik ditampilkan dalam tabel, dan header tabel menjelaskan tata letak informasi. Bagian ini menggunakan satu entri sebagai contoh, tetapi semua tabel menggunakan format yang sama.

Contoh entri tabel Cloud Storage memberi Anda informasi berikut tentang satu jenis metrik:

  • Jenis metrik: ID untuk jenis metrik, storage.googleapis.com/api/request_count dalam contoh.

    Awalan storage.googleapis.com berfungsi sebagai namespace untuk Cloud Storage. Semua jenis metrik yang terkait dengan jenis resource tertentu yang dimonitor menggunakan namespace yang sama.

    Namespace dihilangkan dari entri di tabel.

    Semua jenis metrik yang berkaitan dengan Cloud Storage tercantum dalam tabel untuk metrik Cloud Storage.

  • Tahap peluncuran: Blok berwarna yang menunjukkan tahap peluncuran jenis metrik dengan nilai seperti Alfa, Beta, dan GA.

  • Nama tampilan: String singkat yang menjelaskan jenis metrik, “Jumlah permintaan” dalam contoh.

  • Kind, Type, Unit: Baris ini memberikan informasi untuk menafsirkan nilai data: contoh ini menunjukkan metrik delta yang dicatat sebagai bilangan bulat 64-bit tanpa unit (itu adalah nilai 1).

    • Jenis: Contoh ini adalah metrik delta, yang mencatat perubahan selama periode waktu tertentu. Artinya, setiap titik data mencatat jumlah panggilan API karena titik data sebelumnya ditulis. Untuk mengetahui informasi selengkapnya tentang jenis, lihat Jenis nilai dan jenis metrik.

    • Jenis: Contoh ini mencatat nilainya sebagai bilangan bulat 64-bit. Untuk mengetahui informasi selengkapnya tentang jenis, lihat Jenis nilai dan jenis metrik.

    • Unit: Metrik ini tidak memerlukan unit eksplisit karena mewakili jumlah; digit 1 digunakan untuk menunjukkan bahwa unit tidak diperlukan.

  • Resource yang dimonitor: Resource yang dimonitor yang jenis metrik ini tersedia. Nilai di sini sama dengan nilai yang dijelaskan dalam Jenis resource yang dimonitor.

  • Deskripsi: Informasi lebih mendetail tentang apa yang direkam dan bagaimana caranya. Atur dalam cetak miring untuk membedakannya dari label.

  • Label: Kumpulan dimensi untuk mengklasifikasikan data. Untuk informasi selengkapnya, lihat Label.

Saat mengakses data pemantauan melalui Cloud Monitoring API, Anda menyertakan project Google Cloud dalam panggilan API. Anda hanya dapat mengambil data yang terlihat oleh project Google Cloud tersebut. Misalnya, jika Anda meminta data project untuk jenis metrik storage.googleapis.com/api/request_count, Anda akan melihat jumlah API hanya untuk bucket Cloud Storage di project Anda. Jika project Anda tidak menggunakan bucket Cloud Storage, tidak ada data metrik yang ditampilkan.

Jenis metrik bawaan

Jenis metrik bawaan ditentukan oleh layanan Google Cloud, termasuk Cloud Monitoring. Jenis metrik ini menjelaskan pengukuran standar untuk berbagai infrastruktur umum dan tersedia untuk digunakan oleh siapa saja.

Daftar Metrik menampilkan seluruh kumpulan jenis metrik bawaan. Metrik yang tercantum di halaman [Daftar metrik eksternal][metrics-external] adalah subkumpulan khusus metrik bawaan yang ditentukan oleh Cloud Monitoring melalui kemitraan dengan project open source atau penyedia pihak ketiga. Biasanya, metrik ini memiliki awalan external.googleapis.com.

Metrik kustom

Saat mem-build aplikasi, Anda mungkin memiliki beberapa properti yang ingin diukur, yaitu properti yang tidak memiliki metrik yang disertakan dalam Cloud Monitoring. Dengan Cloud Monitoring, Anda dapat menentukan jenis metrik sendiri atau mengimpor jenis metrik dari sumber eksternal. Jenis metrik ini disebut metrik kustom. Jika metrik memiliki awalan custom.googleapis.com atau prometheus.googleapis.com, berarti metrik tersebut adalah metrik kustom. Metrik yang terakhir biasanya berasal dari Google Cloud Managed Service for Prometheus.

Misalnya, jika ingin melacak jumlah widget yang dijual oleh toko, Anda perlu menggunakan metrik kustom. Untuk informasi selengkapnya, lihat Ringkasan metrik buatan pengguna.

Label

Label adalah pasangan nilai kunci yang dapat digunakan untuk memberikan informasi tentang nilai data.

Label metrik dan resource yang dipantau

Definisi jenis metrik dan resource yang dipantau mencakup label. Label adalah pengklasifikasi untuk data yang dikumpulkan; label membantu mengkategorikan data untuk analisis yang lebih mendalam. Contoh:

  • Jenis metrik Cloud Storage storage.googleapis.com/api/request_count memiliki dua label, response_code dan method.
  • Jenis resource yang dimonitor Cloud Storage gcs_bucket memiliki tiga label, project_id, bucket_name, dan location. Label mengidentifikasi instance tertentu dari jenis resource.

Oleh karena itu, semua data yang dikumpulkan untuk permintaan API dari bucket Cloud Storage diklasifikasikan berdasarkan metode yang dipanggil, kode respons untuk panggilan, nama, lokasi, dan project bucket yang terlibat. Kumpulan label bervariasi menurut metrik atau jenis resource yang dipantau; label yang tersedia didokumentasikan dalam halaman Daftar metrik dan Daftar resource yang dimonitor.

Dengan melacak kode respons, nama metode, dan lokasi saat menghitung panggilan API, Anda dapat mengambil jumlah panggilan ke metode API tertentu, atau jumlah panggilan yang gagal ke metode apa pun, atau jumlah panggilan yang gagal ke metode tertentu di lokasi tertentu.

Jumlah label dan jumlah nilai yang dapat diasumsikan oleh masing-masing label disebut sebagai kardinalitas. Kardinalitas adalah jumlah kemungkinan deret waktu yang dapat dikumpulkan untuk sepasang jenis metrik dan resource yang dipantau: ada satu deret waktu untuk setiap kombinasi nilai labelnya. Untuk mengetahui informasi selengkapnya, lihat Kardinalitas: deret waktu dan label.

Label metadata resource

Selain label yang ditentukan pada metrik dan jenis resource yang dipantau, Monitoring secara internal mengumpulkan informasi tambahan tentang resource yang dimonitor dan menyimpan informasi ini dalam label metadata sistem. Label metadata sistem ini tersedia bagi pengguna sebagai nilai hanya baca. Beberapa resource juga memungkinkan pengguna membuat label metadata resource sendiri saat mengonfigurasi resource seperti instance VM di Konsol Google Cloud.

Label metadata sistem dan pengguna secara kolektif disebut label metadata resource. Anda dapat menggunakan label ini seperti label yang ditentukan pada jenis metrik dan resource yang dimonitor dalam filter deret waktu. Untuk informasi selengkapnya tentang pemfilteran, lihat Filter pemantauan.

Deret waktu: data dari resource yang dimonitor

Bagian ini membahas apa yang dimaksud dengan data pemantauan dan cara pengaturannya dalam deret waktu. Di sinilah komponen konseptual dari model metrik menjadi artefak konkret.

Cloud Monitoring menyimpan pengukuran reguler dari waktu ke waktu untuk pasangan metrik dan jenis resource yang dipantau. Pengukuran dikumpulkan ke dalam deret waktu, dan setiap deret waktu berisi item berikut:

  • Nama jenis metrik yang mencakup deret waktu, dan satu kombinasi nilai untuk label metrik.

  • Rangkaian pasangan (timestamp, value). Nilai adalah pengukuran, dan stempel waktu adalah waktu saat pengukuran dilakukan.

  • Resource yang dipantau yang merupakan sumber data deret waktu, dan satu kombinasi nilai untuk label resource.

Deret waktu dibuat untuk setiap kombinasi label metrik dan resource yang menghasilkan data.

Contoh bergaya: Jenis metrik storage.googleapis.com/api/request_count dapat memiliki banyak deret waktu untuk bucket Cloud Storage project Anda. Ilustrasi berikut menunjukkan beberapa kemungkinan deret waktu.

Dalam ilustrasi, nilai bucket: xxxx mewakili nilai label bucket_name dalam jenis resource yang dipantau, serta response_code dan method adalah label pada jenis metrik. Ada satu deret waktu untuk setiap kombinasi nilai dalam label resource dan metrik; ilustrasi menunjukkan beberapa di antaranya:

Gambar yang menampilkan beberapa deret waktu dalam satu metrik

Cloud Monitoring tidak mencatat deret waktu “kosong”. Dalam contoh bucket Cloud Storage, jika Anda tidak menggunakan bucket tertentu atau tidak pernah memanggil metode API tertentu, tidak akan ada data yang dikumpulkan untuk label tersebut, dan tidak ada deret waktu yang menyebutkannya. Ini berarti, jika project Anda tidak memiliki data sama sekali untuk metrik tertentu, Anda tidak akan pernah melihat jenis metrik tersebut.

Jenis metrik tidak menunjukkan jenis resource yang dipantau yang ditemukan dalam deret waktu metrik. Untuk Cloud Storage, hanya ada satu jenis resource yang dimonitor—gcs_bucket. Beberapa jenis metrik dipasangkan dengan lebih dari satu resource yang dipantau.

Contoh langsung: Jika memiliki project Google Cloud, Anda dapat mencoba widget APIs Explorer, yang terletak di halaman referensi untuk metode timeSeries.list di Monitoring API.

  1. Buka halaman referensi timeSeries.list.

  2. Di panel berlabel Try this method, masukkan perintah berikut:

    • name: projects/PROJECT_ID Ganti PROJECT_ID dengan ID project Google Cloud Anda.
    • filter: metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
    • interval.start_time: Masukkan waktu mulai dan pastikan waktu tersebut 20 menit lebih awal dari waktu berakhir.
    • interval.end_time: Masukkan waktu berakhir.

Jika permintaan berhasil, data deret waktu yang cocok dengan permintaan akan ditampilkan. Cuplikan tersebut akan terlihat seperti cuplikan berikut:

{
  "timeSeries": [
    {
      "metric": {
        "labels": {
          "severity": "INFO",
          "log": "compute.googleapis.com/activity_log"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "0",
          "zone": "us-central1",
          "project_id": "your-project-id"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
        "interval": {
            "startTime": "2024-03-29T13:53:00Z",
            "endTime": "2024-03-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

Untuk mengetahui informasi selengkapnya tentang cara menggunakan widget APIs Explorer, termasuk pemecahan masalah, lihat APIs Explorer.

Kardinalitas: deret waktu dan label

Setiap deret waktu dikaitkan dengan pasangan metrik tertentu dan jenis resource yang dimonitor. Jenis metrik dan resource yang dipantau masing-masing menyediakan beberapa label. Dalam Cloud Monitoring, jumlah kombinasi nilai unik untuk sekumpulan label adalah kardinalitas jenis metrik atau jenis resource yang dipantau. Nilai ini disebut sebagai kardinalitas metrik dan kardinalitas resource, serta menentukan jumlah kemungkinan deret waktu, kardinalitas total, yang dapat dihasilkan.

Metrik, resource, dan kardinalitas total

Misalkan Anda memiliki jenis metrik yang menentukan dua label, yaitu color dan zone. Kardinalitas metrik bergantung pada jumlah kemungkinan nilai yang dimiliki label tersebut:

  • Jika hanya ada tiga kemungkinan warna, "merah", "hijau", dan "biru", label color dapat memiliki hingga tiga nilai yang berbeda.
  • Jika hanya ada dua zona yang memungkinkan, "timur" dan "barat", label zone dapat memiliki hingga dua nilai yang berbeda.

Kardinalitas metrik ini adalah 6 (3×2). Jika ada 1.000 kemungkinan nilai untuk label color, dan jika setiap warna dapat muncul di setiap zona, maka kardinalitas metrik adalah 2.000 (1.000×2). Penghitungan yang sama berlaku jika ini adalah label pada jenis resource yang dipantau, bukan pada jenis metrik.

Nilai kardinalitas ini adalah maksimum, berdasarkan jumlah kombinasi kemungkinan nilai label. Nilai yang efektif di dunia nyata mungkin akan lebih rendah secara signifikan jika semua kombinasi nilai label tidak benar-benar terjadi. Misalnya, jika setiap warna hanya muncul di satu zona, bukan di kedua zona, jumlah maksimum deret waktu yang Anda lihat dalam sistem yang berjalan adalah 1.000. Namun, kegunaan kardinalitas efektif bergantung pada alasan mengapa kombinasi tertentu tidak muncul dan apakah kombinasi tersebut mungkin muncul di masa mendatang.

Kardinalitas bergantung pada nilai yang dapat dimiliki label.

Saat ditulis, data deret waktu diklasifikasikan menurut jenis resource yang dimonitor dan metrik. Untuk pasangan jenis metrik dan resource, total kardinalitas adalah hasil kali kardinalitas metrik dan kardinalitas resource. Jika Anda memiliki metrik dengan kardinalitas 1.000, dan resource dengan kardinalitas 100, dan jika setiap nilai label muncul, berarti Anda memiliki deret waktu 100.000 (1.000×100).

Saat mendesain metrik Anda sendiri, pastikan kumpulan kemungkinan nilai untuk label apa pun dibatasi. Serangkaian kecil nilai terpisah (seperti "merah", "hijau", dan "biru") adalah pendekatan yang disarankan. Misalnya, jika Anda menggunakan nilai RGB 8 bit untuk label color, Anda dapat memiliki lebih dari 16 juta nilai yang berbeda. Jangan gunakan nilai resolusi tinggi seperti stempel waktu, jenis ID unik apa pun, ID pengguna, alamat IP, URL yang tidak berparameter, dan sebagainya, untuk label metrik.

Performa kueri dan kardinalitas

Saat Anda mengeluarkan kueri untuk data, volume data yang Anda minta adalah faktor terbesar dalam performa kueri: kueri untuk data satu jam umumnya lebih cepat daripada kueri sama yang mencakup enam bulan. Namun, volume data yang ditampilkan oleh permintaan juga sensitif terhadap jumlah deret waktu dalam permintaan. Kueri yang mengambil data dari dua bulan untuk metrik berkardinalitas rendah cenderung lebih cepat daripada kueri lain yang mengambil data selama dua bulan untuk metrik berkardinalitas sangat tinggi, karena banyaknya data yang diambil.

Kardinalitas sangat bergantung pada jumlah nilai yang dapat dimiliki label Anda, bukan jumlah label. Secara umum, Anda tidak memiliki kontrol atas kardinalitas resource, seperti ketika jumlah pod atau VM berubah berdasarkan kebutuhan bisnis. Namun, saat menyerap metrik ke Cloud Monitoring, alih-alih menggunakan metrik sistem, Anda sering kali memiliki kontrol atas kardinalitas metrik. Misalnya, dengan metrik kustom yang ditentukan pengguna, Anda menentukan label dan kemungkinan nilainya untuk metrik tersebut. Jika menyerap metrik Prometheus, Anda dapat menggunakan pelabelan ulang untuk mengubah kumpulan label dan menghapus deret waktu yang tidak ingin diserap.

Anda dapat menggunakan halaman Metrics Management Cloud Monitoring untuk mengidentifikasi metrik yang mungkin memiliki masalah kardinalitas. Untuk menampilkan halaman Metrics Management, lakukan hal berikut:

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Metrics management:

    Buka Pengelolaan metrik

  2. Di toolbar, pilih periode waktu. Secara default, halaman Metrics Management menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.

Untuk informasi selengkapnya tentang halaman Metrics Management, baca artikel Melihat dan mengelola penggunaan metrik.

Untuk latar belakang teknis terkait cara Cloud Monitoring menyimpan dan mengambil data deret waktu, lihat Monarch: Database Deretan Waktu Dalam Memori dari Google.

Untuk mengetahui informasi tentang batas metrik yang ditentukan pengguna di Cloud Monitoring, lihat Metrik yang ditentukan pengguna.