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 menyertakan beberapa contoh. Google Cloud menetapkan berbagai kuota yang dapat Anda gunakan untuk melacak dan membatasi resource yang digunakan oleh project atau organisasi. Untuk 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 manipulasinya. Referensi berikut memberikan informasi tambahan:

  • Untuk informasi tentang cara menggunakan data deret waktu, lihat Pemfilteran dan agregasi.
  • Untuk mengetahui 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 subset dari 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 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 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 penggunaan kuota, terutama untuk kuota konsumen, dapat mencakup informasi tentang berbagai kuota. Untuk mengekstrak informasi tentang kuota tertentu untuk diagram atau kebijakan pemberitahuan, Anda perlu mengidentifikasi subset 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 mengidentifikasi batas pada jenis kuota tertentu. Kuota dapat memiliki lebih dari satu batas yang terkait dengannya. Misalnya, kuota untuk panggilan baca mungkin memiliki batas per menit sebesar 100 dan batas per hari sebesar 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 menyertakan 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 konsol Google Cloud, buka halaman Kuota & Batas Sistem:

    Buka Kuota & Batas Sistem

    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.
    • Limit name: Kolom ini menampilkan nilai label limit_name.
    • Resource yang dimonitor: Jika diisi, kuota akan menggunakan resource yang dimonitor yang tercantum. Jika kosong, resource yang dimonitor untuk kuota adalah consumer_quota.
  3. Temukan kuota yang diminati.

    Misalnya, kuota subjaringan Compute Engine API mencantumkan Metrik sebagai compute.googleapis.com/subnetworks, Nama batas sebagai SUBNETWORKS-per-project, dan tidak mencantumkan Resource yang dimonitor. Oleh karena itu, resource yang dimonitor 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, berdasarkan 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 1M.

  4. Luaskan menu Diagram garis, lalu pilih Diagram batang bertumpuk.

  5. Konfigurasikan 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.

    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:

    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, pemfilteran untuk 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 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$ berfungsi dengan baik:

    Filter menurut metrik kuota dan region.

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 akan menggunakan informasi tersebut.

Kebijakan pemberitahuan di Cloud Monitoring

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

Kebijakan pemberitahuan adalah kumpulan kondisi dan informasi notifikasi:

  • Kondisi menjelaskan apa yang sedang dimonitor, cara menggabungkan data deret waktu untuk resource tersebut, dan kapan insiden dihasilkan. Kebijakan pemberitahuan harus menentukan minimal satu kondisi.
  • Saluran notifikasi menentukan siapa yang akan diberi tahu, dan bagaimana mereka akan diberi tahu, saat insiden terjadi. 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 menggunakan antarmuka grafis untuk membuat kondisi kebijakan pemberitahuan, Anda membuat filter. Contoh yang ditampilkan di Menggunakan 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 sedang dipantau dan cara data digabungkan.
  • Tabel kedua menjelaskan kapan insiden akan dibuat.

Contoh ini adalah untuk pendekatan berbasis filter.

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

Memberi tahu tentang error quota/exceeded

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

Menggunakan konsol Google Cloud

Konten lainnya dalam subbagian ini ditujukan 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, dan bahwa Anda ingin mengelompokkan data berdasarkan batas kuota.

Kolom dialog New condition

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 terlampaui.

Untuk metrik ini, fungsi periode bergulir 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 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 jumlah error kuota terlampaui melebihi nilai 0 selama 1 m. Nilai 0 dipilih di sini karena error kuota terlampaui tidak terduga dan merupakan indikasi bahwa kuota perlu ditingkatkan atau layanan perlu diubah untuk mengurangi permintaan API. Sebaiknya gunakan nilai minimum yang lebih tinggi.

Kolom dialog Configure trigger

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 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 Google Cloud Anda melebihi nilai minimum yang ditentukan pengguna. Anda dapat membuat jenis kebijakan ini menggunakan Konsol Google Cloud atau menggunakan Cloud Monitoring API.

Menggunakan konsol Google Cloud

Konten lainnya dalam subbagian ini ditujukan 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/allocation/usage untuk satu layanan di project Google Cloud, dan bahwa Anda ingin mengelompokkan data berdasarkan batas kuota.

Kolom dialog New condition

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 periode bergulir 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 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 selama 1.440 m. Nilai 1440 m cocok dengan periode bergulir. Nilai 2,5 dipilih untuk contoh ini, karena nilainya sedikit lebih tinggi dari nilai normal untuk sistem pengujian. Anda harus memilih nilai minimum berdasarkan layanan yang dipantau bersama dengan pemahaman tentang rentang nilai yang diharapkan untuk metrik.

Kolom dialog Configure trigger

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 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 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 untuk penggunaan kuota kapasitas, yang memerlukan penghitungan rasio metrik pengukur (batas) dan metrik delta (kapasitas).

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

Untuk informasi khusus MQL, lihat Menggunakan Monitoring Query Language. Untuk mengetahui informasi selengkapnya tentang kebijakan pemberitahuan berbasis MQL, lihat 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 tarif per menit dari 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 dalam 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 memperingatkan Anda jika ada yang melebihi nilai minimum.

Pola kueri MQL berikut menjelaskan kebijakan pemberitahuan yang mengirim notifikasi saat penggunaan tarif per menit atau per hari dari 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 penyelaras 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 pengatur next_older, yang tidak mengisi periode 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 dalam 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 dalam 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.

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, 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 75% di region mana pun

Kueri berikut membuat kebijakan pemberitahuan yang terpicu 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 salah satu 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 berdasarkan 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 lebih tinggi dari 50% batas di salah satu zona us-central1. 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.

Notifikasi rasio menggunakan kuota khusus resource

Anda dapat menggunakan MQL untuk menyiapkan rasio untuk metrik terkait kuota khusus resource. Dalam hal ini, Anda menentukan resource khusus layanan yang dipantau dan menghitung rasio dari 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 yang dipantau terkait.
  • Ganti samplemetric dengan string untuk grup jenis metrik.
  • Dalam operasi group_by, cantumkan setiap label resource dan metrik.

Contoh: Penggunaan CPU 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 menggunakan 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 menggunakannya, 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 dari 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 agregasi dan metrik yang dipilih.

Untuk menentukan fungsi perataan, lakukan hal berikut:

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

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

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 yang dikelompokkan berdasarkan nama metrik kuota dan rasio penggunaan ditampilkan, gunakan setelan berikut:

Kolom dialog New condition

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 sampling 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 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 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:

Kolom dialog New condition

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

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:

Kolom dialog New condition

Nilai
Resource and Metric Di menu Resource type, pilih VPC Network.
Di menu Metric category, pilih quota.
Di menu Metrik, pilih Instance per penggunaan kuota 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 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

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, setiap kueri yang ditampilkan dalam contoh kebijakan pemberitahuan MQL dapat dimasukkan ke 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 informasi selengkapnya, lihat Menggunakan editor kode untuk MQL dan contoh MQL.