Komponen model metrik

Memahami cara kerja jenis resource yang dimonitor, jenis metrik, label, dan deret waktu bersama-sama di Cloud Monitoring akan membantu Anda membuat kueri data, membuat diagram dan pemberitahuan, serta mendesain metrik kustom. Anda menerapkan konsep ini saat memeriksa metrik di Metrics Explorer, mengonfigurasi kebijakan pemberitahuan, mengambil data deret waktu dengan Cloud Monitoring API, atau membuat metrik yang ditentukan pengguna.

Jika konsep ini baru bagi Anda, mulailah dengan Metrik, deret waktu, dan resource. Untuk skema objek Monitoring API dan detail metrik kustom, lihat Struktur deret waktu.

Tentang label

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

  • Jenis resource yang dimonitor untuk virtual machine dapat mencakup label untuk lokasi mesin dan project ID yang terkait dengan mesin tersebut. Saat informasi tentang resource yang dimonitor dicatat, informasi tersebut mencakup nilai untuk label. Resource yang dimonitor juga mungkin memiliki label metadata yang disediakan 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.

Penggunaan label dibahas secara lebih mendetail di Label.

Jenis resource yang dipantau

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

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

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

Setiap jenis resource yang dimonitor yang didukung memiliki entri dalam Daftar resource yang dimonitor. Entri dalam daftar dibuat dari deskriptor resource yang dimonitor. Bagian ini menjelaskan informasi yang dicatat dalam deskriptor resource yang dimonitor dan menunjukkan cara penyajiannya dalam daftar.

Contoh jenis resource yang dimonitor

Gambar berikut menunjukkan entri dalam daftar untuk bucket Cloud Storage:

Listingan untuk bucket Cloud Storage.

Semua entri dalam daftar menyertakan informasi berikut:

  • Type: Header dalam entri mencantumkan jenis resource yang dimonitor, gcs_bucket dalam contoh.
  • Nama tampilan: Deskripsi singkat tentang resource yang dimonitor.
  • Description: Deskripsi panjang dari resource yang dimonitor.
  • Label: Kumpulan dimensi untuk mengklasifikasikan data. Untuk mengetahui informasi selengkapnya, lihat Label.

Jenis metrik

Jenis metrik menjelaskan pengukuran yang dapat dikumpulkan dari resource yang dipantau. 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, konsumsi penyimpanan, dan banyak lagi.

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

Setiap jenis metrik bawaan memiliki entri di halaman Daftar metrik. Entri dalam tabel ini dibuat dari deskriptor metrik. Bagian ini menjelaskan informasi yang dicatat dalam jenis metrik dan menunjukkan cara penyajiannya 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 bertindak sebagai namespace untuk Cloud Storage. Semua jenis metrik yang terkait dengan jenis resource yang dipantau tertentu menggunakan namespace yang sama.

    Namespace dihilangkan dari entri dalam tabel.

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

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

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

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

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

    • Type: 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 tidak ada unit yang diperlukan.

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

  • Deskripsi: Informasi yang lebih mendetail tentang apa yang direkam dan caranya. Tulis dalam huruf miring untuk membedakannya dari label.

  • Label: Kumpulan dimensi untuk mengklasifikasikan data. Untuk mengetahui 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 hanya akan melihat jumlah API untuk bucket Cloud Storage di project Anda. Jika project Anda tidak menggunakan bucket Cloud Storage, data metrik tidak akan 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 siapa saja.

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

Metrik kustom

Saat membangun aplikasi, Anda mungkin memiliki properti tertentu yang ingin diukur, hal-hal yang tidak memiliki metrik bawaan di Cloud Monitoring. Dengan Cloud Monitoring, Anda dapat menentukan jenis metrik Anda 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, metrik tersebut adalah metrik kustom. Metrik yang terakhir biasanya berasal dari Google Cloud Managed Service for Prometheus.

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

Label

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

Label metrik dan resource yang dimonitor

Definisi jenis metrik dan resource yang dimonitor mencakup label. Label adalah pengklasifikasi untuk data yang dikumpulkan; label membantu mengategorikan 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, serta nama, lokasi, dan project bucket yang terlibat. Kumpulan label bervariasi sesuai dengan jenis metrik atau resource yang dimonitor; label yang tersedia didokumentasikan di 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, 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 masing-masing disebut sebagai kardinalitas. Kardinalitas adalah jumlah kemungkinan deret waktu yang mungkin dikumpulkan untuk sepasang jenis metrik dan resource yang dimonitor: 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 jenis metrik dan resource yang dimonitor, 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 mereka 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.

Label metadata resource hanya muncul di hasil kueri jika Anda menggabungkannya secara eksplisit.

Untuk mengetahui informasi selengkapnya tentang pemfilteran, lihat Filter pemantauan.

Deret waktu: data dari resource yang dimonitor

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

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

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

  • Serangkaian pasangan (stempel waktu, nilai). Nilai adalah pengukuran, dan stempel waktu adalah waktu saat pengukuran dilakukan.

  • Resource yang dimonitor 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. Tabel berikut menunjukkan beberapa kemungkinan deret waktu.

Dalam tabel, nilai bucket: xyz mewakili nilai label bucket_name dalam jenis resource yang dimonitor, dan response_code serta method adalah label dalam jenis metrik. Ada satu deret waktu untuk setiap kombinasi nilai dalam label resource dan metrik; tabel ini menampilkan beberapa di antaranya:

Label resource
yang dipantau
Label metrik Data metrik
bucket: 1234 response_code: OK,
method: read
{
(3, Wed 2:00pm),
(2, Wed 2:05pm),
(8, Wed 2:10pm),
...}
bucket: 1234 response_code: OK,
method: write
{
(1, Wed 2:01pm),
(2, Wed 2:04pm),
(7, Wed 2:09pm),
...}
bucket: 1234 response_code: FAIL,
method: write
{
(1, Wed 2:01pm),
(0, Wed 2:04pm),
(0, Wed 2:09pm),
...}
bucket: 9876 response_code: OK,
method: read
{
(2, Wed 1:59pm),
(4, Wed 2:05pm),
(3, Wed 2:10pm),
...}

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 ada data yang dikumpulkan untuk label tersebut, dan tidak ada deret waktu yang menyebutkannya. Artinya, 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 dimonitor 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 dimonitor.

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 kode 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, permintaan tersebut akan menampilkan data deret waktu yang cocok dengan permintaan. Tampilannya 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 penggunaan widget APIs Explorer, termasuk pemecahan masalah, lihat APIs Explorer.

Kardinalitas: deret waktu dan label

Setiap deret waktu dikaitkan dengan pasangan jenis metrik dan resource yang dimonitor tertentu. Jenis metrik dan resource yang dimonitor masing-masing menyediakan sejumlah label. Di Cloud Monitoring, jumlah kombinasi nilai unik untuk kumpulan label adalah kardinalitas jenis metrik atau jenis resource yang dimonitor. Nilai ini disebut sebagai kardinalitas metrik dan kardinalitas resource, dan menentukan jumlah kemungkinan deret waktu, total kardinalitas, yang mungkin dihasilkan.

Kardinalitas metrik, resource, dan total

Misalkan Anda memiliki jenis metrik yang menentukan dua label, 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 kemungkinan zona, “east” dan “west”, 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, kardinalitas metriknya adalah 2.000 (1.000×2). Penghitungan yang sama berlaku jika label ini berada pada jenis resource yang dimonitor, bukan pada jenis metrik.

Nilai kardinalitas ini adalah nilai maksimum, berdasarkan jumlah kombinasi kemungkinan nilai label. Nilai efektif di dunia nyata mungkin jauh lebih rendah 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 kombinasi tertentu tidak muncul dan apakah kombinasi tersebut mungkin muncul di masa mendatang.

Kardinalitas bergantung pada nilai yang dapat dimiliki label apa pun.

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

Saat mendesain metrik Anda sendiri, pastikan kumpulan nilai yang mungkin untuk label apa pun dibatasi. Sekumpulan kecil nilai diskret (seperti “merah”, “hijau”, dan “biru”) adalah pendekatan yang lebih disukai. 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, segala jenis ID unik, ID pengguna, alamat IP, URL tanpa parameter, dan sebagainya, untuk label metrik.

Performa dan kardinalitas kueri

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 yang sama yang mencakup enam bulan. Namun, volume data yang ditampilkan oleh permintaan juga sensitif terhadap jumlah deret waktu dalam permintaan. Kueri yang mengambil data selama dua bulan untuk metrik berkardinalitas rendah kemungkinan akan lebih cepat daripada kueri lain yang mengambil data selama dua bulan untuk metrik berkardinalitas sangat tinggi, karena jumlah data yang diambil.

Kardinalitas terutama bergantung pada jumlah nilai yang dapat dimiliki label Anda, bukan pada jumlah label. Secara umum, Anda tidak memiliki kontrol atas kardinalitas resource, seperti saat 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. Jika Anda menyerap metrik Prometheus, Anda dapat menggunakan pelabelan ulang untuk mengubah set label dan menghapus deret waktu yang tidak ingin Anda serap.

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

  1. Di konsol Google Cloud , buka halaman  Metrics management:

    Buka Metrics management

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

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

Untuk mengetahui informasi selengkapnya tentang halaman Metrics Management, lihat Melihat dan mengelola penggunaan metrik.

Untuk mengetahui latar belakang teknis tentang cara Cloud Monitoring menyimpan dan mengambil data deret waktu, lihat Monarch: Database Deret Waktu Dalam Memori Berskala Global Google.

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