Membuat diagram dan memantau metrik kuota

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

Sebelum memulai

Dokumen ini mengasumsikan bahwa Anda sudah memahami data deret waktu dan cara memanipulasinya. Referensi berikut memberikan informasi tambahan:

  • Untuk mengetahui informasi tentang cara menggunakan data deret waktu, lihat Memfilter dan menggabungkan.
  • Untuk mengetahui definisi istilah pengukur, 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 dipantau adalah consumer_quota. Metrik untuk resource ini adalah subset dari metrik serviceruntime.

    Sebagian besar contoh di halaman ini adalah contoh kuota konsumen.

  • Kuota khusus resource: Beberapa layanan menyediakan resource yang dipantau yang memiliki metrik khusus resource untuk kuota. Jenis metrik ini muncul dalam grup tiga 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 subset 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 penggunaan kuota, terutama untuk kuota konsumen, dapat mencakup informasi tentang banyak kuota yang berbeda. Untuk mengekstrak informasi tentang kuota tertentu untuk diagram atau kebijakan pemberitahuan, Anda harus mengidentifikasi subset data kuota tersebut.

Bergantung pada sumbernya, data kuota dapat 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 mengidentifikasi batas pada jenis kuota tertentu. Kouta dapat memiliki lebih dari satu batas yang terkait dengannya. Misalnya, kuota untuk panggilan baca mungkin memiliki batas per menit 100 dan batas per hari 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 memberikan label quota_metric, tetapi hanya beberapa yang menyertakan label limit_name. Jenis metrik khusus resource untuk kuota mencakup label limit_name.

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

  1. Di konsol Google Cloud , buka halaman Quotas & System Limits:

    Buka Quotas & System Limits

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

  2. Klik Lihat kolom dan tambahkan kolom berikut ke tampilan kuota:

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

    Misalnya, kuota subnetwork Compute Engine API mencantumkan Metrik sebagai compute.googleapis.com/subnetworks, Nama batas sebagai SUBNETWORKS-per-project, dan tidak mencantumkan Resource yang dipantau. 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, menurut wilayah, kuota total penyimpanan disk Compute Engine. 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. Di toolbar, luaskan menu jangka waktu dan pilih 14 hari terakhir.

  3. Luaskan menu Jenis widget dan pilih Diagram batang bertumpuk.

  4. Konfigurasi Metrics Explorer untuk menampilkan penggunaan kuota alokasi:

    1. Klik Select a metric dan masukkan allocation di Filter bar.
    2. Pilih Consumer Quota untuk resource.
    3. Pilih Quota untuk kategori metrik.
    4. Pilih Penggunaan kuota alokasi untuk metrik, lalu klik Terapkan.
    5. Luaskan menu Agregasi dan pilih Tidak diagregasi.

    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 Jenis resource, lalu memilih Mode filter langsung.

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

    Memfilter 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 menampilkan penggunaan kuota hanya untuk kuota yang telah mencatat penggunaan. Misalnya, jika project tidak memiliki resource Compute Engine, maka memfilter layanan compute.googleapis.com akan menghasilkan diagram tanpa data.

  6. Untuk membuat diagram yang menampilkan penggunaan kuota penyimpanan disk total 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"
    
  7. Diagram sebelumnya menampilkan deret waktu untuk region us-central1 dan us-east1, serta untuk beberapa zona termasuk zona us-central1-a.

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

    Memfilter menurut metrik dan region kuota.

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

Kebijakan pemberitahuan di Cloud Monitoring

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

Kebijakan pemberitahuan adalah kumpulan kondisi dan informasi notifikasi:

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

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

  • Menggunakan filter Pemantauan untuk memilih dan memanipulasi data. Misalnya, saat Anda menggunakan antarmuka grafis untuk membuat kondisi kebijakan pemberitahuan, Anda 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 tersebut.

Contoh kebijakan pemberitahuan filter

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

  • Tabel pertama menjelaskan apa yang dipantau dan cara menggabungkan data.
  • Tabel kedua menjelaskan kapan insiden akan dibuat.

Contoh ini adalah untuk pendekatan berbasis filter.

Tidak ada kebijakan ini yang menghitung rasio. Untuk contoh berbasis rasio, lihat Contoh kebijakan pemberitahuan MQL.

Memperingatkan saat terjadi error quota/exceeded

Anda dapat membuat kebijakan pemberitahuan untuk memberi tahu Anda jika ada layanan di projectGoogle Cloud Anda yang melaporkan error kuota terlampaui. Anda dapat membuat jenis kebijakan ini menggunakan Google Cloud konsol atau menggunakan Cloud Monitoring API.

Menggunakan Google Cloud console

Sisa konten dalam subbagian ini adalah untuk dialog kondisi kebijakan pemberitahuan.

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

Dialog New condition
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Metric categories, pilih Quota.
Di menu Metrics, pilih Quota exceeded error.

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

Tambahkan filter agar 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 adalah pengukuran seketika. Jenis nilainya adalah BOOL. Nilai true menunjukkan bahwa kuota telah terlampaui.

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

Di seluruh deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi otomatis ditetapkan ke sum saat data dikelompokkan. Setelan ini menentukan cara penggabungan data dalam deret waktu individual.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data menurut jenis nama quota_metric.

Selesaikan dialog Konfigurasi pemicu menggunakan setelan berikut. Setelan ini menyebabkan kebijakan pemberitahuan membuat pemberitahuan jika jumlah error karena kuota terlampaui melebihi nilai 0 selama 1 menit. Nilai 0 dipilih di sini karena error kuota terlampaui tidak terduga dan menunjukkan bahwa kuota perlu ditingkatkan atau layanan perlu diubah untuk mengurangi permintaan API. Sebaiknya gunakan nilai minimum yang lebih tinggi.

Dialog Configure trigger
Field

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

Menggunakan Cloud Monitoring API

Anda dapat membuat kebijakan pemberitahuan ini menggunakan metode API alertPolicies.create. Anda dapat memanggil Cloud Monitoring API secara langsung, menggunakan Google Cloud CLI, atau 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 tentang quota/allocation/usage absolut

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

Menggunakan Google Cloud console

Bagian konten lainnya dalam subbagian ini adalah untuk dialog kondisi kebijakan pemberitahuan.

Selesaikan dialog Kondisi baru 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 Google Cloud project Anda, dan Anda ingin mengelompokkan data menurut batas kuota.

Dialog New condition
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Metric categories, pilih Quota.
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 agar 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

Periode yang cocok adalah interval sampling untuk metrik ini.

Rolling window function Pilih next older

Fungsi jendela geser ditetapkan ke next older untuk menyertakan nilai terukur terbaru dari metrik GAUGE ini.

Di seluruh deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi otomatis ditetapkan ke sum saat data dikelompokkan. Setelan ini menentukan cara penggabungan data dalam deret waktu individual.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data menurut jenis nama quota_metric.

Selesaikan dialog Konfigurasi pemicu menggunakan setelan berikut. Setelan ini menyebabkan kebijakan pemberitahuan membuat pemberitahuan jika nilai deret waktu melebihi 2,5 selama 1440 m. Nilai 1440 m cocok dengan jendela geser. Nilai 2,5 dipilih untuk contoh ini, karena sedikit lebih tinggi daripada nilai normal untuk sistem pengujian. Anda harus memilih nilai minimum berdasarkan layanan yang Anda pantau dalam kombinasi dengan pemahaman tentang rentang nilai yang diharapkan untuk metrik.

Dialog Configure trigger
Field

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

Menggunakan Cloud Monitoring API

Anda dapat membuat kebijakan pemberitahuan ini menggunakan metode API alertPolicies.create. Anda dapat memanggil Cloud Monitoring API secara langsung, menggunakan Google Cloud CLI, atau 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 pipe. MQL memungkinkan Anda membuat kueri yang lebih canggih dan fleksibel daripada yang dapat Anda buat dengan filter Monitoring. Sebaiknya gunakan MQL untuk menyiapkan kebijakan pemberitahuan berbasis rasio. Misalnya, dengan MQL, Anda dapat menyiapkan rasio penggunaan kuota kecepatan, yang memerlukan penghitungan rasio metrik pengukur (batas) dan metrik delta (kecepatan).

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, lihat Kebijakan pemberitahuan dengan MQL.

Kebijakan pemberitahuan yang memantau rasio kuota kecepatan terhadap batas kuota

Pola kueri MQL berikut menjelaskan kebijakan pemberitahuan yang mengirim notifikasi saat penggunaan per menit 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, lakukan 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 seberapa jauh titik data dalam hasil kueri.

Anda tidak dapat membuat kueri ini dengan filter.

Kebijakan pemberitahuan yang memantau rasio kuota kecepatan 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 memperingatkan Anda jika ada yang melebihi batas.

Pola kueri MQL berikut menjelaskan kebijakan pemberitahuan yang mengirim notifikasi saat penggunaan per menit atau per hari 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(23h)
      | 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(23h), max(val()) }
    | ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')

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

Untuk menggunakan pola kueri ini, lakukan 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 23h di fungsi delta_gauge dan sliding dengan jendela yang sesuai dengan batas Anda.

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

Anda tidak dapat membuat kueri ini dengan filter.

Pemberitahuan rasio penggunaan kuota alokasi untuk satu batas

Pola kueri MQL berikut menjelaskan pemberitahuan yang memantau saat penggunaan alokasi per hari dari 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, lakukan 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 seberapa jauh titik data dalam hasil kueri.

Contoh: Penggunaan CPU sebesar 75% di region mana pun

Kueri berikut membuat kebijakan pemberitahuan yang dipicu saat penggunaan CPU instance VM Compute Engine lebih tinggi dari 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 dan memperingatkan Anda jika ada yang melebihi batas.

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

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 Anda lacak. Anda juga dapat memfilter layanan tertentu dan menggunakan karakter pengganti dalam filter batas.

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

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

Kueri berikut membuat kebijakan pemberitahuan yang dipicu saat penggunaan CPU instance VM Compute Engine lebih tinggi dari 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 dipantau khusus layanan dan menghitung rasio atas sepasang metrik terkait kuota khusus resource.

Pola kueri berikut menjelaskan pemberitahuan yang memantau saat penggunaan kuota melebihi 80% dari 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, lakukan perubahan berikut:

  • Ganti sample.googleapis.com dengan layanan yang ingin Anda pantau.
  • Ganti sampleResource dengan resource yang dipantau terkait.
  • Ganti samplemetric dengan string untuk grup jenis metrik.
  • Dalam 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 saat 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 mengambil 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 jika tidak lagi diperlukan, atau menyimpannya ke dasbor. Dalam tampilan dasbor, Anda dapat menambahkan diagram ke dasbor.

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

Dikonfigurasi secara optimal berdasarkan setelan metrik dan agregasi yang dipilih.

Untuk menentukan fungsi penyelarasan, lakukan hal berikut:

  1. Pada elemen Aggregation, luaskan menu pertama, lalu pilih Configure aligner. Elemen Fungsi perataan dan Pengelompokan ditambahkan.
  2. Luaskan elemen Alignment function dan buat pilihan.

Rolling window Interval Min
(untuk mengakses, klik Tambahkan elemen kueri)
Pengelompokan deret waktu menurut
(di bagian Di seluruh deret waktu)
Menu kedua elemen Agregasi
Agregasi deret waktu
(di bagian Di seluruh 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 di project Google Cloud Anda, dengan data dikelompokkan menurut nama metrik kuota dan laju penggunaan ditampilkan, gunakan setelan berikut:

Dialog New condition
Kolom

Nilai
Resource and Metric Di menu Resources, pilih Consumer Quota.
Di menu Metric categories, pilih Quota.
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 agar 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 menyetel penyelarasan ke nilai rate, nilai yang disimpan dalam deret waktu untuk metrik DELTA ini dikonversi menjadi deret waktu baru yang menyimpan data rasio. Sumbu y untuk diagram memiliki satuan kuota per detik.

Di seluruh deret waktu
Agregasi deret waktu

Pilih sum.

Kolom agregasi otomatis ditetapkan ke sum saat data dikelompokkan. Setelan ini menentukan cara penggabungan data dalam deret waktu individual.

Di seluruh deret waktu
Mengelompokkan deret waktu menurut

Pilih quota_metric.

Opsi ini mengelompokkan data menurut 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 New condition
Kolom

Nilai
Resource and Metric Di menu Jenis resource, pilih VPC Network.
Di menu Metric category, pilih kuota.
Di menu Metrik, pilih Batas kuota Instance per Jaringan VPC.

(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

Periode yang cocok adalah interval sampling untuk metrik ini.

Rolling window function Pilih mean
Di seluruh 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 New condition
Kolom

Nilai
Resource and Metric Di menu Jenis resource, pilih VPC Network.
Di menu Metric category, pilih kuota.
Di menu Metrik, pilih Penggunaan kuota Instance per Jaringan VPC.

(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 agar diagram hanya menampilkan sebagian 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

Periode yang cocok adalah interval sampling untuk metrik ini.

Rolling window function Pilih mean
Di seluruh 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, semua kueri yang ditampilkan dalam Contoh kebijakan pemberitahuan MQL dapat dimasukkan ke dalam editor kode. Anda dapat menghilangkan operasi terakhir, condition, di setiap kueri; hal ini 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.