Membuat diagram dan memantau metrik kuota

Dokumen ini menjelaskan cara membuat kebijakan dan diagram pemberitahuan untuk memantau kuota yang dialokasikan oleh Google Cloud kepada Anda, dan mencakup beberapa contoh. Google Cloud menetapkan berbagai kuota yang dapat Anda gunakan untuk melacak dan membatasi resource yang digunakan oleh suatu project atau organisasi. Untuk mengetahui informasi umum tentang kuota, termasuk informasi kuota alokasi dan kuota kapasitas, lihat Bekerja dengan kuota.

Sebelum memulai

Dokumen ini mengasumsikan Anda telah memahami data deret waktu dan manipulasinya. Referensi berikut memberikan informasi tambahan:

  • Untuk informasi tentang cara menggunakan data deret waktu, lihat Pemfilteran dan agregasi.
  • Untuk definisi istilah gauge, delta, dan kumulatif, lihat Jenis metrik.
  • Untuk mengetahui detail tentang fungsi yang digunakan untuk menggabungkan deret waktu, lihat Aligner dan Reducer.

Manajemen kuota

Cloud Monitoring mengelola kuota dengan dua cara:

  • Kuota konsumen: Untuk jenis kuota ini, resource yang dimonitor adalah consumer_quota. Metrik untuk resource ini adalah subkumpulan metrik serviceruntime.

    Sebagian besar contoh di halaman ini adalah contoh kuota konsumen.

  • Kuota khusus resource: Beberapa layanan menyediakan resource yang dimonitor yang memiliki metrik khusus resource untuk kuota. Jenis metrik ini muncul dalam kelompok yang terdiri dari tiga jenis dan mengikuti format penamaan:

    • service/quota/quota-type/exceeded
    • service/quota/quota-type/limit
    • service/quota/quota-type/usage

    Misalnya, Compute Engine memiliki resource compute.googleapis.com/VpcNetwork. Metrik terkait kuota yang terkait dengan resource ini adalah subkumpulan compute.googleapis.com/quota dari metrik compute. Ada tiga jenis metrik yang terkait dengan kuota "instance per jaringan VPC":

Mengidentifikasi metrik kuota dan nama batas

Data mentah tentang pemakaian kuota, khususnya untuk kuota konsumen, dapat mencakup informasi tentang berbagai kuota. Untuk mengekstrak informasi tentang kuota tertentu untuk diagram atau kebijakan pemberitahuan, Anda perlu mengidentifikasi subkumpulan data kuota tersebut.

Bergantung pada sumbernya, data kuota mungkin menyertakan label yang dapat Anda gunakan untuk mengisolasi informasi yang Anda inginkan. Label ini mencakup:

  • Metrik kuota: Metrik kuota adalah ID untuk jenis kuota; metrik ini bukan salah satu jenis metrik yang dijelaskan dalam Daftar metrik. Misalnya, semua data kuota konsumen ditulis sebagai jenis metrik serviceruntime.googleapis.com seperti quota/allocation/usage. Jenis metrik ini memiliki label quota_metric yang dapat digunakan untuk memfilter kuota tertentu, misalnya data penggunaan alokasi.
  • Nama batas: Nama batas menunjukkan batas pada jenis kuota tertentu. Kuota dapat memiliki lebih dari satu batas yang dikaitkan dengannya. Misalnya, kuota untuk panggilan baca mungkin memiliki batas per menit sebanyak 100 dan batas per hari sebanyak 1.000, dengan dua nama batas, readsPerMinute dan readsPerDay. Jenis metrik terkait kuota mungkin memiliki kolom limit_name untuk nilai ini.

Semua jenis metrik serviceruntime.googleapis.com/quota menyediakan label quota_metric, tetapi hanya beberapa yang menyertakan label limit_name. Jenis metrik khusus resource untuk kuota mencakup label limit_name.

Tidak semua layanan Google Cloud mendukung metrik kuota. Untuk menentukan apakah layanan mendukung metrik kuota dan mengidentifikasi nilai label khusus kuota, Anda dapat menggunakan prosedur berikut:

  1. Di panel navigasi konsol Google Cloud, pilih IAM & Admin, lalu pilih Quotas:

    Buka Kuota

  2. Klik View column dan tambahkan kolom berikut ke tampilan kuota:

    • Metrik: Kolom ini menampilkan nilai label quota_metric.
    • Limit name: Kolom ini menampilkan nilai label limit_name.
    • Resource yang dipantau: Jika diisi, kuota akan menggunakan resource yang dimonitor dan tercantum. Jika kosong, resource yang dimonitor untuk kuota tersebut adalah consumer_quota.
  3. Temukan kuota yang diinginkan.

    Misalnya, kuota subnetwork Compute Engine API mencantumkan Metric sebagai compute.googleapis.com/subnetworks, Limit name sebagai SUBNETWORKS-per-project, dan tidak mencantumkan Monitored resource. Oleh karena itu, resource yang dipantau untuk kuota ini adalah consumer_quota.

Contoh: Melihat penggunaan untuk metrik kuota konsumen tertentu

Tujuannya adalah membuat diagram yang menampilkan total kuota penyimpanan disk Compute Engine menurut region. Contoh kuota konsumen ini mengambil data quota/allocation/usage, lalu memfilter data sehingga penggunaan alokasi untuk metrik kuota tertentu ditampilkan:

  1. Di konsol Google Cloud, pilih Cloud Monitoring, lalu pilih Metrics Explorer.

  2. Pilih tab Configuration

  3. Di toolbar, tetapkan jangka waktu ke satu bulan dengan memilih 1 jt.

  4. Luaskan menu Line chart dan pilih Stacked bar chart.

  5. Konfigurasikan Metrics Explorer untuk menampilkan penggunaan kuota alokasi:

    1. Klik Select a metric, lalu masukkan allocation di Filter bar.
    2. Pilih Consumer Quota untuk resource.
    3. Pilih Kuota untuk kategori metrik.
    4. Pilih AllocationQuota usage untuk metrik, lalu klik Apply.

    Pilih kuota konsumen.

    Diagram menampilkan penggunaan kuota alokasi sebagai diagram batang selama periode enam minggu. Dengan melihat legenda, Anda akan melihat bahwa diagram menampilkan penggunaan kuota untuk beberapa layanan.

    Jika Anda menggunakan Cloud Monitoring API, nilai filter yang setara adalah:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    

    Anda dapat melihat nilai filter ini dengan meluaskan menu Resource type, lalu memilih Direct filter mode.

  6. Untuk membatasi diagram ke layanan Compute Engine, tambahkan filter service = compute.googleapis.com:

    Filter kuota konsumen menurut layanan komputasi.

    Jika Anda menggunakan Cloud Monitoring API, nilai filter yang setara adalah:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    

    Diagram kini menampilkan deret waktu untuk penggunaan kuota yang dialokasikan untuk kuota Compute Engine. Legenda menampilkan nilai label quota_metric untuk setiap deret waktu yang ditampilkan. Nilai ini mengidentifikasi kuota tertentu. Misalnya, compute.googleapis.com/disks_total_storage mengidentifikasi deret waktu untuk total kuota penyimpanan disk Compute Engine.

    Diagram hanya menampilkan penggunaan kuota untuk kuota yang telah dicatat penggunaan. Misalnya, jika project tidak memiliki resource Compute Engine, memfilter layanan compute.googleapis.com akan menghasilkan diagram tanpa data.

  7. Untuk membuat diagram yang menampilkan total penggunaan kuota penyimpanan disk Compute Engine, gunakan filter quota_metric = compute.googleapis.com/disks_total_storage:

    Memfilter kuota konsumen menurut metrik kuota.

    Jika Anda menggunakan Cloud Monitoring API, nilai filter yang setara adalah:

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  8. Diagram sebelumnya menampilkan deret waktu untuk region us-central1 dan us-east1, serta untuk beberapa zona termasuk zona us-central1-a.

    Untuk menyaring diagram agar hanya menampilkan data untuk region, tanpa zona, tambahkan filter berdasarkan label location. Untuk contoh ini, dengan kedua wilayah diawali dengan us- dan diakhiri dengan 1, filter yang menggunakan ekspresi reguler location =~ ^us.*1$ akan berfungsi dengan baik:

    Filter menurut metrik kuota dan region.

Untuk kuota konsumen, nilai label quota_metric mengidentifikasi layanan dan penggunaan kuota spesifik yang dipantau. Saat membuat diagram atau kebijakan pemberitahuan yang memantau metrik kuota tertentu, Anda akan menggunakan informasi tersebut.

Kebijakan pemberitahuan di Cloud Monitoring

Kebijakan pemberitahuan adalah cara mengonfigurasi Monitoring untuk memberi tahu Anda ketika sesuatu, seperti mencapai 85% dari batas kuota, terjadi.

Kebijakan pemberitahuan adalah kumpulan kondisi dan informasi notifikasi:

  • Kondisi menjelaskan hal yang dipantau, bagaimana data deret waktu untuk resource tersebut digabungkan, dan kapan insiden dibuat. Kebijakan pemberitahuan harus menentukan setidaknya satu kondisi.
  • Saluran notifikasi menentukan siapa yang akan diberi tahu dan bagaimana mereka akan diberi tahu saat terjadi insiden. Misalnya, Anda dapat mengonfigurasi kebijakan pemberitahuan untuk mengirim email ke orang tertentu atau ke sekelompok orang.

Ada dua teknik yang dapat Anda gunakan untuk membuat kondisi kebijakan pemberitahuan:

  • Menggunakan filter Monitoring untuk memilih dan memanipulasi data. Misalnya, saat Anda menggunakan antarmuka grafis untuk membuat kondisi kebijakan pemberitahuan, Anda sedang membuat filter. Contoh yang ditampilkan dalam Bekerja dengan metrik kuota menggunakan filter untuk memilih data untuk diagram. Anda juga dapat menggunakan filter dalam permintaan ke Monitoring API.

  • Menggunakan MQL untuk memilih dan memanipulasi data. MQL adalah bahasa kueri berbasis teks. Dengan editor kode MQL, Anda dapat membuat kueri yang tidak dapat dibuat dengan teknik berbasis filter. Sebaiknya gunakan MQL untuk membuat kebijakan pemberitahuan berbasis rasio. Untuk mengetahui informasi selengkapnya, lihat contoh kebijakan pemberitahuan MQL.

Halaman ini membahas kedua teknik tersebut. Anda juga dapat membuat diagram menggunakan salah satu teknik.

Memfilter contoh kebijakan pemberitahuan

Di bagian ini, setiap subbagian mencakup representasi JSON dari kebijakan pemberitahuan, beserta sepasang tabel yang menjelaskan cara mengonfigurasi kebijakan di Konsol Google Cloud:

  • Tabel pertama menjelaskan apa yang dipantau dan bagaimana data tersebut akan digabungkan.
  • Tabel kedua menjelaskan kapan sebuah insiden akan dibuat.

Contoh-contoh ini ditujukan untuk pendekatan berbasis filter.

Tidak satu pun dari kebijakan ini yang menghitung rasio. Untuk contoh berbasis rasio, lihat contoh kebijakan pemberitahuan MQL.

Pemberitahuan pada quota/exceeded error

Anda dapat membuat kebijakan pemberitahuan untuk memberi tahu Anda jika layanan dalam project Google Cloud Anda melaporkan error kuota terlampaui. Anda dapat membuat jenis kebijakan ini dengan menggunakan Konsol Google Cloud atau Cloud Monitoring API.

Menggunakan Konsol Google Cloud

Konten lainnya dalam subbagian ini ditujukan untuk dialog kondisi pada kebijakan pemberitahuan.

Isi dialog New condition menggunakan setelan dalam tabel berikut. Setelan ini menentukan bahwa Anda ingin memantau data deret waktu untuk metrik serviceruntime /quota/exceeded bagi semua layanan di project Google Cloud, dan bahwa Anda ingin mengelompokkan data berdasarkan batas kuota.

Dialog Kondisi baru
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Kategori metrik, pilih Kuota.
Di menu Metrics, pilih Quota exceeded error.

(metric.type adalah serviceruntime.googleapis.com/quota/exceeded,
dan resource.type adalah consumer_quota).
Filter

Tambahkan filter sehingga diagram hanya menampilkan data untuk layanan yang ingin Anda pantau. Misalnya, untuk memantau layanan Identity and Access Management, tambahkan filter berikut: service = iam.googleapis.com.

Jika kolom filter kosong, semua data metrik yang tersedia akan disertakan dalam diagram.

Rolling window Pilih 1 m
Rolling window function Pilih count true

Metrik ini berjenis GAUGE, yang berarti setiap titik data dalam deret waktu merupakan pengukuran instan. Jenis nilainya adalah BOOL. Nilai true menunjukkan bahwa kuota terlampaui.

Untuk metrik ini, fungsi rolling window count true dan count adalah setara.

Di sepanjang deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi ditetapkan secara otomatis ke sum saat data dikelompokkan. Setelan ini menentukan cara menggabungkan data dalam setiap deret waktu.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data berdasarkan jenis nama quota_metric.

Selesaikan dialog Configure trigger dengan menggunakan setelan berikut. Setelan ini menyebabkan kebijakan pemberitahuan membuat pemberitahuan jika jumlah error yang melebihi kuota melebihi nilai 0 untuk 1 bulan. Nilai 0 dipilih di sini karena error kuota terlampaui merupakan hal yang tidak terduga dan merupakan indikasi bahwa kuota perlu ditambah atau layanan perlu diubah untuk mengurangi permintaan API. Sebaiknya gunakan nilai minimum yang lebih tinggi.

Dialog Konfigurasi pemicu
Kolom

Nilai
Condition type Threshold
Alert trigger Any time series violates
Threshold position Above threshold
Threshold value 0
Retest window 1 mnt

Menggunakan Cloud Monitoring API

Anda dapat membuat kebijakan pemberitahuan ini menggunakan metode API alertPolicies.create. Anda dapat memanggil Cloud Monitoring API secara langsung, dengan menggunakan Google Cloud CLI, atau dengan menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan.

Untuk mengetahui informasi tentang cara merepresentasikan kebijakan pemberitahuan dalam JSON atau YAML, lihat Contoh kebijakan.

Berikut adalah representasi kebijakan pemberitahuan ini dalam format JSON.


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

Pemberitahuan pada quota/allocation/usage absolut

Anda dapat membuat kebijakan pemberitahuan untuk memberi tahu Anda jika penggunaan kuota alokasi untuk layanan tertentu dalam project Google Cloud melebihi batas yang ditentukan pengguna. Anda dapat membuat jenis kebijakan ini dengan menggunakan Konsol Google Cloud atau Cloud Monitoring API.

Menggunakan Konsol Google Cloud

Konten lainnya dalam subbagian ini ditujukan untuk dialog kondisi kebijakan pemberitahuan.

Isi dialog New condition menggunakan setelan dalam tabel berikut. Setelan ini menentukan bahwa Anda ingin memantau data deret waktu untuk metrik serviceruntime /quota/allocation/usage untuk satu layanan di project Google Cloud, dan Anda ingin mengelompokkan data berdasarkan batas kuota.

Dialog Kondisi baru
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Kategori metrik, pilih Kuota.
Di menu Metrics, pilih Allocation quota usage.

(metric.type adalah serviceruntime.googleapis.com/quota/allocation/usage,
dan resource.type adalah consumer_quota).
Filter

Tambahkan filter sehingga diagram hanya menampilkan data untuk layanan yang ingin Anda pantau. Misalnya, untuk memantau layanan Identity and Access Management, tambahkan filter berikut: service = iam.googleapis.com.

Jika kolom filter kosong, semua data metrik yang tersedia akan disertakan dalam diagram.

Rolling window Pilih 1440 m

Kecocokan periode adalah interval pengambilan sampel untuk metrik ini.

Rolling window function Pilih next older

Fungsi rolling window ditetapkan ke next older untuk menyertakan nilai terukur terbaru dari metrik GAUGE ini.

Di sepanjang deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi ditetapkan secara otomatis ke sum saat data dikelompokkan. Setelan ini menentukan cara menggabungkan data dalam setiap deret waktu.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data berdasarkan jenis nama quota_metric.

Selesaikan dialog Configure trigger menggunakan setelan berikut. Setelan ini menyebabkan kebijakan pemberitahuan membuat pemberitahuan jika nilai deret waktu melebihi 2,5 untuk 1.440 m. Nilai 1440 m cocok dengan jendela yang bergulir. Nilai 2,5 dipilih untuk contoh ini, karena sedikit lebih tinggi dari nilai normal untuk sistem pengujian. Anda harus memilih nilai minimum berdasarkan layanan yang Anda pantau dan juga memahami rentang nilai yang diharapkan untuk metrik.

Dialog Konfigurasi pemicu
Kolom

Nilai
Condition type Threshold
Alert trigger Any time series violates
Threshold position Above threshold
Threshold value 2.5
Retest window 1.440 m

Menggunakan Cloud Monitoring API

Anda dapat membuat kebijakan pemberitahuan ini menggunakan metode API alertPolicies.create. Anda dapat memanggil Cloud Monitoring API secara langsung, dengan menggunakan Google Cloud CLI, atau dengan menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan.

Untuk mengetahui informasi tentang cara merepresentasikan kebijakan pemberitahuan dalam JSON atau YAML, lihat Contoh kebijakan.

Berikut adalah representasi kebijakan pemberitahuan ini dalam format JSON.


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "86400s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

Contoh kebijakan pemberitahuan MQL

MQL adalah bahasa kueri berbasis teks yang menggunakan serangkaian operasi yang ditautkan oleh pipa. MQL memungkinkan Anda membuat kueri yang lebih andal dan fleksibel dibandingkan dengan filter Monitoring. Sebaiknya gunakan MQL untuk menyiapkan kebijakan pemberitahuan berbasis rasio. Misalnya, dengan MQL, Anda dapat menyiapkan rasio untuk penggunaan kuota kapasitas, yang memerlukan komputasi rasio metrik pengukur (batas) dan metrik delta (tarif).

Anda dapat membuat kebijakan pemberitahuan berbasis MQL menggunakan Konsol Google Cloud atau Monitoring API:

Untuk informasi khusus MQL, lihat Menggunakan Bahasa Kueri Monitoring. Untuk mengetahui informasi selengkapnya tentang kebijakan pemberitahuan berbasis MQL, baca Kebijakan pemberitahuan dengan MQL.

Kebijakan pemberitahuan yang memantau rasio kuota kapasitas terhadap batas kuota

Pola kueri MQL berikut menjelaskan kebijakan pemberitahuan yang mengirim notifikasi saat penggunaan kecepatan per menit untuk layanan resource tertentu melebihi 80% dari batas tertentu:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
    | align delta_gauge(1m)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sum(value.net_usage)
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Untuk menggunakan pola kueri ini, buat perubahan berikut:

  • Ganti sample.googleapis.com dengan layanan yang ingin Anda pantau.
  • Ganti Limit untuk metric.limit_name dengan batas yang ingin Anda lacak. Untuk mengetahui informasi tentang cara menemukan nama batas, lihat Mengidentifikasi metrik kuota dan nama batas
  • Ganti 1m di fungsi delta_gauge dan sliding dengan jendela yang sesuai untuk batas Anda.

Jangan ubah operasi every 1m, yang menentukan jarak titik data dalam hasil kueri.

Anda tidak dapat membuat kueri ini dengan filter.

Kebijakan pemberitahuan yang memantau rasio kuota kapasitas dengan karakter pengganti

MQL mendukung pemfilteran dengan karakter pengganti, ekspresi reguler, dan logika boolean. Misalnya, Anda dapat menggunakan MQL untuk membuat kebijakan pemberitahuan yang melacak beberapa batas dan memberikan peringatan jika ada batas yang terlampaui.

Pola kueri MQL berikut menjelaskan kebijakan pemberitahuan yang mengirim notifikasi saat penggunaan tarif per menit atau per hari untuk layanan resource apa pun melebihi 80%:

fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(1m)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerMinute.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(1m), max(val()) }
    | ratio
  ; { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(23hr)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerDay.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(23hr), max(val()) }
    | ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')

Pada kueri sebelumnya, argumen untuk aligner delta_gauge ditetapkan ke 23 jam, bukan 1 hari. MQL hanya dapat memerlukan data selama 23 jam 30 menit, dan untuk tujuan komputasi, aligner delta_gauge menambahkan satu jam ke periode perataan. Jika Anda menggunakan delta_gauge(1d), kondisi tersebut tidak dapat disimpan karena kondisi tersebut memerlukan data selama 25 jam. Perilaku ini berbeda dengan aligner next_older, yang tidak melakukan padding jendela perataan.

Untuk menggunakan pola kueri ini, buat perubahan berikut:

  • Ganti ekspresi reguler untuk resource.service dengan ekspresi reguler untuk layanan yang ingin Anda lacak.
  • Dalam rasio pertama:
    • Ganti .*PerMinute.* untuk metric.limit_name dengan ekspresi reguler untuk grup batas pertama yang ingin Anda lacak. Untuk mengetahui informasi tentang cara menemukan nama batas, lihat Mengidentifikasi metrik kuota dan nama batas
    • Ganti 1m di fungsi delta_gauge dan sliding dengan jendela yang sesuai dengan batas Anda.
  • Dalam rasio kedua:
    • Ganti .*PerDay.* untuk metric.limit_name dengan ekspresi reguler untuk grup batas kedua yang ingin Anda lacak.
    • Ganti 23hr di fungsi delta_gauge dan sliding dengan jendela yang sesuai dengan batas Anda.

Jangan ubah operasi every 1m, yang menentukan jarak titik data dalam hasil kueri.

Anda tidak dapat membuat kueri ini dengan filter.

Notifikasi rasio tentang penggunaan kuota alokasi untuk satu batas

Pola kueri MQL berikut menjelaskan pemberitahuan yang memantau kapan penggunaan alokasi per hari untuk layanan resource tertentu melebihi 80% dari batas tertentu:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'Limit'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Untuk menggunakan pola kueri ini, buat perubahan berikut:

  • Ganti sample.googleapis.com dengan layanan yang ingin Anda pantau.
  • Ganti Limit untuk metric.limit_name dengan batas yang ingin Anda lacak. Untuk mengetahui informasi tentang cara menemukan nama batas, lihat Mengidentifikasi metrik kuota dan nama batas

Jangan ubah operasi every 1m, yang menentukan jarak titik data dalam hasil kueri.

Contoh: Penggunaan CPU sebesar 75% di region mana pun

Kueri berikut membuat kebijakan pemberitahuan yang terpicu saat penggunaan CPU instance VM Compute Engine melebihi 75% batas di region mana pun:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-region'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.75 '1')

Kebijakan kuota konsumen ini menggunakan nama batas CPUS-per-project-region dalam kuota "CPU" Compute Engine API. Untuk mengetahui informasi tentang cara menemukan nama batas, lihat Mengidentifikasi metrik kuota dan nama batas.

Kebijakan pemberitahuan yang memantau rasio kuota alokasi untuk layanan apa pun

MQL mendukung pemfilteran dengan karakter pengganti, ekspresi reguler, dan logika boolean. Misalnya, Anda dapat menggunakan MQL untuk membuat pemberitahuan yang melacak beberapa batas atau layanan, serta memperingatkan Anda jika ada batas atau layanan yang melebihi nilai minimum.

Kueri MQL berikut menjelaskan pemberitahuan yang memantau kapan penggunaan alokasi per hari untuk layanan resource apa pun melebihi 80% untuk batas kuota:

fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Anda dapat menggunakan kueri ini seperti yang ditampilkan, atau Anda dapat mengganti ekspresi reguler untuk resource.service dengan ekspresi reguler untuk layanan yang ingin dilacak. Anda juga dapat memfilter layanan tertentu dan menggunakan karakter pengganti dalam filter batas.

Jangan ubah operasi every 1m, yang menentukan jarak titik data dalam hasil kueri.

Contoh: Penggunaan CPU lebih tinggi dari 50% di zona tertentu

Kueri berikut membuat kebijakan pemberitahuan yang terpicu saat penggunaan CPU instance VM Compute Engine melebihi 50% batas di zona us-central1 mana pun. Kueri ini memfilter data limit berdasarkan nama batas dan lokasi resource:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-zone' &&
              resource.location =~ 'us-central1-.*'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.50 '1')

Kebijakan kuota konsumen ini menggunakan nama batas CPUS-per-project-zone dalam kuota "CPU" Compute Engine API. Untuk mengetahui informasi tentang cara menemukan nama batas, lihat Mengidentifikasi metrik kuota dan nama batas.

Pemberitahuan rasio menggunakan kuota khusus resource

Anda dapat menggunakan MQL untuk menyiapkan rasio untuk metrik terkait kuota khusus resource. Dalam hal ini, Anda menentukan resource yang dimonitor khusus layanan dan menghitung rasio melalui sepasang metrik terkait kuota khusus resource.

Pola kueri berikut menjelaskan pemberitahuan yang memantau saat penggunaan kuota melebihi 80% batas:

fetch sample.googleapis.com/SampleResource
  | { metric sample.googleapis.com/quota/samplemetric/usage
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        max(val())
  ; metric sample.googleapis.com/quota/samplemetric/limit
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Untuk menggunakan pola kueri ini, buat perubahan berikut:

  • Ganti sample.googleapis.com dengan layanan yang ingin Anda pantau.
  • Ganti sampleResource dengan resource terkait yang dimonitor.
  • Ganti samplemetric dengan string untuk grup jenis metrik.
  • Di operasi group_by, cantumkan setiap label resource dan metrik.

Contoh: Penggunaan CPU sebesar 75% di region mana pun

Misalnya, kueri MQL berikut menyiapkan pemberitahuan yang memantau kapan penggunaan kuota instances_per_vpc_network Compute Engine melebihi 80% untuk ID jaringan apa pun:

fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        max(val())
  ; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.80 '1')

Perhatikan bahwa kueri ini menggunakan jenis resource compute.googleapis.com/VpcNetwork, bukan consumer_quota, dan memerlukan rasio dua metrik compute.googleapis.com/quota/instances_per_vpc_network, usage dan limit.

Contoh diagram

Diagram menampilkan data deret waktu. Anda dapat menggunakan Metrics Explorer untuk membuat diagram. Dengan Metrics Explorer, Anda dapat menghapus diagram saat tidak lagi diperlukan, atau menyimpannya ke dasbor. Di tampilan dasbor, Anda dapat menambahkan diagram ke dasbor.

Jika hanya ingin mengonfigurasi diagram yang menampilkan data kuota, Anda dapat menggunakan setelan dalam tabel Kondisi baru. Kondisi pemberitahuan menggunakan notasi yang berbeda dengan alat diagram. Alat diagram mencakup Metrics Explorer dan mengonfigurasi diagram di dasbor kustom:
Nama kolom
dialog kondisi baru
Diagram
Rolling window function

Dikonfigurasi secara optimal berdasarkan setelan metrik dan agregasi yang dipilih.

Untuk menentukan fungsi perataan, lakukan langkah berikut:

  1. Di elemen Aggregation, luaskan menu pertama dan pilih Configure aligner. Elemen Alignment function dan Grouping ditambahkan.
  2. Perluas elemen Alignment function dan buat pilihan.

Rolling window Interval Min
(untuk mengakses, klik Tambahkan elemen kueri)
Mengelompokkan deret waktu menurut
(di bagian Di sepanjang deret waktu)
Menu kedua elemen Agregasi
Agregasi deret waktu
(di bagian Di sepanjang deret waktu)
Menu pertama elemen Agregasi

Deret waktu untuk quota/rate/net_usage

Untuk melihat data deret waktu untuk metrik serviceruntime quota/rate/net_usage, untuk semua layanan dalam project Google Cloud Anda, tempat data dikelompokkan menurut nama metrik kuota dan tingkat penggunaan ditampilkan, gunakan setelan berikut:

Dialog Kondisi baru
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Kategori metrik, pilih Kuota.
Di menu Metrics, pilih Rate quota usage.

(metric.type adalah serviceruntime.googleapis.com/quota/rate/net_usage,
dan resource.type adalah consumer_quota).
Filter

Tambahkan filter sehingga diagram hanya menampilkan data untuk layanan yang ingin Anda pantau. Misalnya, untuk memantau layanan Identity and Access Management, tambahkan filter berikut: service = iam.googleapis.com.

Jika kolom filter kosong, semua data metrik yang tersedia akan disertakan dalam diagram.

Rolling window Pilih 1 m

Periode 1 menit cocok dengan interval pengambilan sampel untuk metrik ini.

Rolling window function Pilih rate

Dengan menetapkan penyelaras ke nilai rate, nilai yang disimpan dalam deret waktu untuk metrik DELTA ini akan dikonversi menjadi deret waktu baru yang menyimpan data tarif. Sumbu y untuk diagram memiliki unit kuota per detik.

Di sepanjang deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi ditetapkan secara otomatis ke sum saat data dikelompokkan. Setelan ini menentukan cara menggabungkan data dalam setiap deret waktu.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data berdasarkan jenis nama quota_metric.

Deret waktu untuk quota/instances_per_vpc_network/limit

Untuk melihat data deret waktu untuk metrik compute.googleapis.com quota/instances_per_vpc_network/limit, untuk semua jaringan di project Google Cloud Anda, gunakan setelan berikut:

Dialog Kondisi baru
Kolom

Nilai
Resource and Metric Di menu Resource type, pilih VPC Network.
Di menu Metric category, pilih quota.
Di menu Metric, pilih Instances per VPC Network quota limit.

(metric.type adalah compute.googleapis.com/quota/instances_per_vpc_network/limit,
dan resource.type adalah compute.googleapis.com/VpcNetwork).
Filter Biarkan kosong
Rolling window Pilih 1 m

Kecocokan periode adalah interval pengambilan sampel untuk metrik ini.

Rolling window function Pilih mean
Di sepanjang deret waktu
Agregasi deret waktu
Biarkan sebagai none
Di seluruh deret waktu
Mengelompokkan deret waktu menurut
Biarkan kosong

Deret waktu untuk quota/instances_per_vpc_network/usage

Untuk melihat data deret waktu untuk metrik compute.googleapis.com quota/instances_per_vpc_network/usage, untuk salah satu jaringan di project Google Cloud Anda, gunakan setelan berikut:

Dialog Kondisi baru
Kolom

Nilai
Resource and Metric Di menu Resource type, pilih VPC Network.
Di menu Metric category, pilih quota.
Di menu Metric, pilih Instances per VPC Network quota usage.

(metric.type adalah compute.googleapis.com/quota/instances_per_vpc_network/usage,
dan resource.type adalah compute.googleapis.com/VpcNetwork).
Metrik Di menu Metric, pilih compute.googleapis.com/quota/instances_per_vpc_network/usage.
Filter

Tambahkan filter sehingga diagram hanya menampilkan sebagian dari semua data. Misalnya, untuk melihat penggunaan jaringan tertentu, tambahkan filter berikut: network_id = identifier.

Jika kolom filter kosong, semua data metrik yang tersedia akan disertakan dalam diagram.

Rolling window Pilih 1 m

Kecocokan periode adalah interval pengambilan sampel untuk metrik ini.

Rolling window function Pilih mean
Di sepanjang deret waktu
Agregasi deret waktu
Biarkan sebagai none
Di seluruh deret waktu
Mengelompokkan deret waktu menurut
Biarkan kosong

Diagram MQL

Anda dapat menggunakan kueri MQL untuk membuat diagram menggunakan editor kode MQL. Misalnya, salah satu kueri yang ditampilkan dalam contoh kebijakan pemberitahuan MQL dapat dimasukkan ke editor kode. Anda dapat menghilangkan operasi terakhir, condition, di setiap kueri; itu berlaku kecuali saat membuat kondisi untuk kebijakan pemberitahuan. Dalam diagram, operasi condition tidak melakukan apa pun.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan editor kode untuk MQL dan contoh MQL.