Struktur deret waktu

Halaman ini adalah kelanjutan mendalam dari diskusi dan contoh yang disampaikan dalam Metrik, deret waktu, dan resource serta Komponen model metrik. Untuk mendapatkan manfaat maksimal dari halaman ini, baca halaman tersebut terlebih dahulu.

Halaman ini ditujukan untuk pembaca yang menginginkan pemahaman yang lebih mendalam tentang deret waktu dan penerapan model metrik Cloud Monitoring, terutama pembaca yang menggunakan Monitoring API. Hal ini mencakup pengguna metrik kustom (yang ditentukan pengguna).

  • Halaman ini memetakan model metrik umum ke Cloud Monitoring API, sehingga berguna bagi siapa saja yang menggunakan Monitoring API secara langsung. Pengguna yang interaksi utamanya adalah dengan konsol Google Cloud mungkin tidak memerlukan tingkat detail ini.

  • Hal ini juga berguna bagi siapa saja yang menggunakan integrasi pihak ketiga seperti OpenTelemetry. Saat data dari sumber eksternal menjangkau Cloud Monitoring melalui integrasi, data tersebut akan dipetakan ke model metrik Cloud Monitoring dan diperlakukan seperti data metrik lainnya.

Untuk mengetahui informasi selengkapnya tentang cara mengumpulkan metrik Anda sendiri, lihat Ringkasan metrik yang ditentukan pengguna.

Peninjauan model metrik

Prasyarat untuk memahami struktur deret waktu adalah pemahaman tentang model metrik yang digunakan oleh Cloud Monitoring. Model ini dijelaskan dalam Metrik, deret waktu, dan resource. Bagian ini memberikan peninjauan singkat.

Secara umum, data pemantauan dicatat dalam deret waktu. Setiap deret waktu individual mencakup tiga informasi yang relevan dengan diskusi ini:

  • Kumpulan titik data yang diberi stempel waktu.
  • Referensi ke jenis metrik yang memberi tahu Anda cara menafsirkan titik data.
  • Referensi ke resource yang dipantau tempat data berasal.

    Struktur deret waktu.

Setiap deret waktu menyimpan pengukuran dari satu sumber fisik atau logis. Jika lingkungan Anda memiliki ratusan resource, setiap resource akan berkontribusi setidaknya satu deret waktu. Faktanya, jika jenis metrik dan jenis resource yang dimonitor memiliki label, Anda akan mendapatkan satu deret waktu per kombinasi nilai label; lihat Kardinalitas untuk informasi selengkapnya.

Contoh deret waktu

Deret waktu direpresentasikan sebagai instance objek TimeSeries. Berikut adalah instance lengkap dari satu deret waktu:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
          "interval": {
            "startTime": "2019-12-20T20:25:38Z",
            "endTime": "2019-12-20T20:26:38Z"
          },
          "value": {
            "int64Value": "20"
          }
        }
      ]
    }

Sebagian besar deret waktu menyertakan lebih banyak titik data; deret waktu ini mencakup interval satu menit. Semua deret waktu memiliki struktur yang sama, dengan kolom berikut:

  • Kumpulan data kolom metric

    • Nilai label metrik untuk deret waktu tertentu ini, yang mewakili satu kombinasi nilai label.
    • Jenis metrik yang dikaitkan dengan data. Jenis metrik menentukan label yang tersedia dan menjelaskan apa yang direpresentasikan oleh titik data.

    Informasi di kolom ini dijelaskan lebih mendetail di Metrik.

  • Kolom resource mencatat:

    • Nilai label resource untuk deret waktu tertentu ini, yang mewakili satu kombinasi nilai label.
    • Resource tertentu yang dipantau tempat data dikumpulkan.

    Informasi di kolom ini dijelaskan lebih mendetail di Objek resource yang dipantau.

  • Kolom metricKind dan valueType memberi tahu Anda cara menafsirkan nilai. Untuk informasi selengkapnya, lihat Jenis dan jenis metrik.

  • Kolom points adalah array nilai stempel waktu. Jenis metrik memberi tahu Anda nilai yang diwakili. Contoh deret waktu memiliki array dengan satu titik data; di sebagian besar deret waktu, array memiliki lebih banyak nilai.

Untuk contoh langsung yang mengambil data deret waktu, lihat Deret waktu: data dari resource yang dimonitor.

Bagian lainnya dari halaman ini melihat informasi di kolom metric dan resource secara lebih mendetail.

Resource yang dimonitor

Cloud Monitoring mengumpulkan data dari resource yang dimonitor dan mencatatnya dalam deret waktu. Setiap deret waktu yang dibuat menyertakan deskripsi resource yang dipantau tempat data dikumpulkan.

Objek resource yang dimonitor

Resource yang dimonitor diwakili oleh instance objek MonitoredResource. Resource yang dimonitor menjelaskan sumber nilai dalam deret waktu. Objek MonitoredResource disematkan ke deret waktu dan mengidentifikasi instance tertentu dari jenis resource yang dipantau yang diketahui oleh Monitoring: objek ini mengarah ke entity fisik atau logis.

Misalnya, berikut adalah objek resource yang dipantau yang menjelaskan instance Compute Engine tertentu, yang diekstrak dari contoh deret waktu:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "5106847938295940291",
          "zone": "us-central1-a",
          "project_id": "a-gcp-project"
        }
      }

Instance resource yang dimonitor ini berjenis gce_instance, yang memiliki nilai instance_id tertentu (5106847938295940291) di project a-gcp-project. Instance tersebut berada di Amerika Serikat. Deret waktu lain mungkin berasal dari instance resource yang dipantau ini yang berbeda. Setiap kombinasi nilai label mengidentifikasi resource unik tempat data dikumpulkan.

Kumpulan label yang berbeda akan sesuai untuk resource yang berbeda. Kumpulan label untuk resource ditentukan oleh deskripsi resource yang dimonitor untuk jenis tersebut.

Deskripsi resource yang dimonitor

Informasi tentang jenis resource yang dimonitor disimpan dalam struktur data yang disebut deskripsi resource yang dimonitor. Untuk definisi struktur data ini, lihat MonitoredResourceDescriptor.

Deskripsi resource yang dipantau seperti skema atau spesifikasi untuk struktur data. File ini tidak berisi data tentang instance tertentu dari resource yang dipantau; file ini memberi tahu Anda cara mendeskripsikan resource yang dipantau dari jenis tertentu. Misalnya, berikut adalah deskripsi resource yang dimonitor untuk resource gce_instance:

{
  "type": "gce_instance",
  "displayName": "VM Instance",
  "description": "A virtual machine instance hosted in Compute Engine.",
  "name": "projects/[PROJECT_ID]/monitoredResourceDescriptors/gce_instance"
  "labels": [
    {
      "key": "project_id",
      "description": "The identifier of the GCP project associated with this resource, such as \"my-project\"."
    },
    {
      "key": "instance_id",
      "description": "The numeric VM instance identifier assigned by Compute Engine."
    },
    {
      "key": "zone",
      "description": "The Compute Engine zone in which the VM is running."
    }
  ],
}

Bandingkan deskripsi resource yang dipantau ini dengan instance resource gce_instance tertentu yang ditampilkan di Objek resource yang dipantau. Deskripsi ini tidak menjelaskan resource tertentu yang dipantau; sebagai gantinya, deskripsi menentukan label, dan setiap kombinasi nilai label mengidentifikasi resource tertentu yang dipantau.

Anda dapat mengambil deskripsi resource yang dipantau di project Google Cloud menggunakan Cloud Monitoring API. Lihat, misalnya, halaman referensi untuk metode monitoredResourceDescriptors.list dan monitoredResourceDescriptors.get.

Contoh langsung: Jika memiliki project Google Cloud, Anda dapat mengambil deskripsi ini menggunakan widget APIs Explorer sebagai berikut:

  1. Buka halaman referensi monitoredResourceDescriptors.list.

  2. Di panel berlabel Coba metode ini, masukkan kode berikut:

    • name: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

      Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  3. Klik Jalankan.

Permintaan akan menampilkan deskriptor sebelumnya.

Untuk contoh penggunaan metode Monitoring API, lihat Mencantumkan metrik dan jenis resource.

Metrik

Setiap deret waktu yang dibuat oleh Cloud Monitoring mencatat sekumpulan titik data serta informasi tentang organisasi dan arti titik data tersebut.

Objek metrik

Setiap deret waktu menyertakan referensi ke deskripsi data yang dicatat dalam objek metrik.

Objek metrik yang terdapat dalam deret waktu menentukan jenis pengukuran dan informasi khusus metrik tentang pengukuran tersebut. Untuk mengetahui definisi struktur data objek metrik, lihat Metric. Misalnya, berikut adalah objek metrik yang diekstrak dari deret waktu di Contoh deret waktu:

    {
      "metric": {
        "labels": {
          "log": "kubelet",
          "severity": "DEFAULT"
        },
        "type": "logging.googleapis.com/log_entry_count"
      }

Objek ini memberi tahu Anda bahwa deret waktu berisi pengukuran logging.googleapis.com/log_entry_count. Nilai label memberi tahu Anda bahwa deret waktu spesifik ini hanya menghitung entri log dengan tingkat keparahan DEFAULT dalam file log yang disebut kubelet.

Ada satu deret waktu untuk setiap kombinasi nilai label, sehingga entri INFO ke file log yang sama akan muncul dalam deret waktu yang berbeda.

Kumpulan label yang dikumpulkan dalam objek metrik ditentukan dalam deskripsi untuk jenis metrik tersebut.

Deskriptor metrik

Informasi tentang jenis metrik disimpan dalam struktur data yang disebut deskripsi metrik. Untuk definisi struktur data ini, lihat MetricDescriptor.

Deskripsi metrik adalah skema atau spesifikasi untuk struktur data. Dokumen ini tidak berisi data tentang metrik tertentu; melainkan, dokumen ini memberi tahu Anda cara menafsirkan data yang terkait dengan jenis metrik tertentu.

Berikut adalah contoh deskripsi metrik:

{
  "type": "logging.googleapis.com/log_entry_count",
  "name": "projects/a-gcp-project/metricDescriptors/logging.googleapis.com/log_entry_count",
  "labels": [
    {
      "key": "log",
      "description": "Name of the log."
    },
    {
      "key": "severity",
      "description": "Severity of the log entry."
    }
  ],
  "metricKind": "DELTA",
  "valueType": "INT64",
  "unit": "1",
  "description": "Number of log entries that contributed to user-defined metrics.",
  "displayName": "Log entries",
  "metadata": {
    "launchStage": "GA",
    "samplePeriod": "60s"
  },
  "launchStage": "GA"
}

Bandingkan deskripsi metrik ini dengan objek metrik yang ditampilkan di Objek metrik. Deskripsi memberi tahu Anda arti nilai label, serta cara menafsirkan nilai titik data.

Anda dapat mengambil deskripsi metrik menggunakan Cloud Monitoring API. Lihat, misalnya, halaman referensi untuk metode metricDescriptors.list dan metricDescriptors.get.

Contoh langsung: Jika memiliki project Google Cloud, Anda dapat mengambil deskripsi ini menggunakan widget APIs Explorer sebagai berikut:

  1. Buka halaman referensi metricDescriptors.list.

  2. Di panel berlabel Coba metode ini, masukkan kode berikut:

    • name: projects/PROJECT_ID/metricDescriptors/logging.googleapis.com/log_entry_count Ganti PROJECT_ID dengan ID project Google Cloud Anda.
  3. Klik Jalankan.

Permintaan akan menampilkan deskriptor sebelumnya.

Untuk contoh penggunaan metode Monitoring API, lihat Mencantumkan metrik dan jenis resource.

Sebagian besar kolom dalam deskripsi metrik sudah cukup jelas. Dua jenis yang mungkin memerlukan penjelasan lebih lanjut adalah jenis metrik dan jenis nilai, yang dijelaskan lebih lanjut di Jenis dan jenis metrik.

Cloud Monitoring memiliki sekitar 6.500 jenis metrik bawaan; lihat Daftar metrik untuk mengetahui detailnya. Anda juga dapat membuat deskripsi metrik sendiri untuk mengambil metrik kustom. Untuk informasi selengkapnya, lihat Ringkasan metrik yang ditentukan pengguna.