Struktur deret waktu

Halaman ini merupakan lanjutan dari diskusi mendalam dan contoh-contoh yang disajikan dalam Metrik, deret waktu, dan resource serta Komponen model metrik. Untuk mendapatkan hasil maksimal dari halaman ini, baca halaman tersebut terlebih dahulu.

Halaman ini ditujukan bagi pembaca yang menginginkan pemahaman lebih mendalam tentang deret waktu dan implementasi model metrik Cloud Monitoring, terutama bagi pembaca yang menggunakan Monitoring API. Jumlah ini mencakup pengguna dengan metrik kustom (ditentukan oleh 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.

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

Untuk informasi lebih lanjut tentang pengumpulan metrik Anda sendiri, lihat Ringkasan metrik yang ditentukan pengguna.

Tinjauan model metrik

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

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

  • Serangkaian 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, masing-masing resource berkontribusi setidaknya pada satu deret waktu. Bahkan, jika jenis metrik dan jenis resource yang dipantau memiliki label, Anda akan mendapatkan satu deret waktu per kombinasi nilai label. Lihat Kardinalitas untuk mengetahui informasi selengkapnya.

Contoh deret waktu

Deret waktu direpresentasikan sebagai instance objek TimeSeries. Berikut adalah contoh 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 mencakup lebih banyak titik data; deret ini mencakup interval satu menit. Semua deret waktu memiliki struktur yang sama, dengan kolom berikut:

  • Kolom metric mencatat

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

    Informasi di kolom ini dijelaskan secara lebih mendetail di Metrik.

  • Kolom resource mencatat:

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

    Informasi dalam kolom ini dijelaskan secara lebih mendetail dalam Objek resource yang dimonitor.

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

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

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

Halaman ini menampilkan 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 dimonitor tempat data dikumpulkan.

Objek resource yang dipantau

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

Misalnya, berikut adalah objek resource yang dipantau dan mendeskripsikan 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 dipantau ini adalah jenis gce_instance, yang memiliki nilai instance_id spesifik (5106847938295940291) dalam project a-gcp-project. Instance ini berada di Amerika Serikat. Deret waktu lain mungkin berasal dari instance lain dari resource yang dipantau ini. Setiap kombinasi nilai label mengidentifikasi resource unik tempat data dikumpulkan.

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

Deskriptor resource yang dipantau

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

Deskriptor resource yang dimonitor mirip dengan skema atau spesifikasi untuk struktur data. Resource ini tidak berisi data tentang instance tertentu dari resource yang dimonitor; resource ini memberi tahu Anda cara menjelaskan resource yang dimonitor 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 deskriptor resource yang dimonitor ini dengan instance spesifik resource gce_instance yang ditampilkan di objek resource yang dipantau. Deskripsi ini tidak mendeskripsikan resource tertentu yang dimonitor; tetapi, deskripsi ini menentukan label, dan setiap kombinasi nilai label mengidentifikasi resource tertentu yang dipantau.

Anda dapat mengambil deskriptor resource yang dimonitor dalam project Google Cloud menggunakan Cloud Monitoring API. Sebagai contoh, lihat halaman referensi untuk metode monitoredResourceDescriptors.list dan monitoredResourceDescriptors.get.

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

  1. Buka halaman referensi monitoredResourceDescriptors.list.

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

    • nama: projects/PROJECT_ID/monitoredResourceDescriptors/gce_instance

      Ganti PROJECT_ID dengan ID project Google Cloud Anda.

  3. Klik Jalankan.

Permintaan menampilkan deskripsi sebelumnya.

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

Metrik

Setiap deret waktu yang dibuat oleh Cloud Monitoring akan mencatat kumpulan 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 dalam 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 khusus ini hanya menghitung entri log 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 deskriptor untuk jenis metrik tersebut.

Deskripsi metrik

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

Deskriptor metrik adalah skema atau spesifikasi untuk struktur kumpulan data. Tampilan ini tidak berisi data tentang metrik tertentu; melainkan memberi tahu Anda cara menafsirkan data yang terkait dengan jenis metrik tertentu.

Berikut adalah contoh deskriptor 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 deskriptor metrik ini dengan objek metrik yang ditampilkan dalam Objek metrik. Deskripsi memberi tahu Anda arti nilai label, serta cara menafsirkan nilai titik data.

Anda dapat mengambil deskriptor metrik dengan menggunakan Cloud Monitoring API. Misalnya, lihat halaman referensi untuk metode metricDescriptors.list dan metricDescriptors.get.

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

  1. Buka halaman referensi metricDescriptors.list.

  2. Di panel berlabel Try this method, masukkan perintah 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 menampilkan deskripsi sebelumnya.

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

Sebagian besar kolom dalam deskripsi metrik dapat dipahami dengan jelas. Dua hal yang mungkin memerlukan penjelasan lebih lanjut adalah jenis metrik dan jenis nilai, yang dijelaskan lebih lanjut dalam Jenis dan jenis metrik.

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