Contoh kebijakan di JSON

Dokumen ini memberikan contoh kebijakan pemberitahuan. Contoh ditulis dalam JSON, dan menggunakan filter Monitoring. Anda dapat membuat kebijakan dalam JSON atau YAML, terlepas dari apakah Anda menentukan kebijakan tersebut atau tidak dengan menggunakan filter Monitoring atau Bahasa Kueri Monitoring (MQL). Google Cloud CLI dapat membaca dan menulis JSON dan YAML, sedangkan REST API dapat membaca JSON.

Untuk mengetahui contoh kebijakan pemberitahuan yang menggunakan MQL, lihat dokumen berikut:

Untuk mengetahui informasi tentang cara mengonfigurasi kolom kebijakan pemberitahuan, lihat bagian berikut:

Membuat YAML untuk kebijakan yang ada

Untuk membuat representasi YAML dari kebijakan pemberitahuan yang sudah ada, gunakan perintah gcloud alpha monitoring policies list untuk mencantumkan kebijakan Anda dan perintah gcloud alpha monitoring policies describe untuk mencetak kebijakan.

Untuk membuat representasi YAML dari saluran notifikasi yang ada, gunakan perintah gcloud alpha monitoring channels list untuk menampilkan daftar saluran Anda dan perintah gcloud alpha monitoring channels describe untuk mencetak konfigurasi saluran.

Jika Anda tidak menyertakan flag --format dalam perintah Google Cloud CLI, maka format akan ditetapkan secara default ke YAML untuk kedua perintah gcloud ... describe.

Misalnya, perintah gcloud alpha monitoring policies describe berikut mengambil satu kebijakan bernama projects/a-gcp-project/alertPolicies/12669073143329903307 dan pengalihan (>) akan menyalin output ke file test-policy.yaml:

gcloud alpha monitoring policies describe projects/a-gcp-project/alertPolicies/12669073143329903307 > test-policy.yaml

Membuat JSON untuk kebijakan yang ada

Untuk membuat representasi JSON terkait saluran notifikasi dan kebijakan pemberitahuan yang sudah ada, lakukan salah satu tindakan berikut:

Contoh kebijakan

Seperti yang ditunjukkan dalam contoh pencadangan/pemulihan, Anda dapat menggunakan kebijakan tersimpan untuk membuat salinan baru dari kebijakan tersebut.

Anda dapat menggunakan kebijakan yang disimpan di satu project untuk membuat kebijakan baru atau serupa di project lain. Namun, Anda harus terlebih dahulu melakukan perubahan berikut dalam salinan kebijakan yang disimpan:

  • Hapus kolom berikut dari saluran notifikasi:
    • name
    • verificationStatus
  • Buat saluran notifikasi sebelum merujuk ke saluran dalam kebijakan pemberitahuan (Anda memerlukan ID saluran baru).
  • Hapus kolom berikut dari kebijakan pemberitahuan yang Anda buat ulang:
    • name
    • condition.name
    • creationRecord
    • mutationRecord

Kebijakan dalam dokumen ini disusun menggunakan terminologi yang sama dengan yang digunakan Monitoring di konsol Google Cloud, misalnya, “kebijakan tingkat perubahan”, dan ada dua jenis ketentuan:

  • Kondisi nilai minimum; hampir semua jenis kebijakan yang disebutkan di UI merupakan varian dari kondisi nilai minimum
  • Kondisi ketidakhadiran

Dalam contoh berikut, kondisi ini sesuai dengan conditionThreshold dan conditionAbsent. Untuk informasi selengkapnya, lihat halaman referensi untuk Condition.

Anda dapat membuat banyak kebijakan ini secara manual dengan menggunakan Konsol Google Cloud, tetapi beberapa kebijakan hanya dapat dibuat dengan menggunakan Monitoring API. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan (UI) atau Membuat kebijakan pemberitahuan menggunakan API.

Kebijakan batas metrik

Kebijakan batas metrik mendeteksi saat beberapa nilai melampaui batas yang telah ditentukan. Kebijakan nilai minimum memberi tahu Anda bahwa ada sesuatu yang mendekati titik penting, sehingga Anda dapat mengambil beberapa tindakan. Misalnya, kondisi untuk kebijakan batas metrik terpenuhi saat kapasitas disk yang tersedia kurang dari 10 persen dari total ruang disk.

Kebijakan pemberitahuan berikut menggunakan penggunaan CPU rata-rata sebagai indikator kesehatan sekelompok VM. Kondisi kebijakan ini terpenuhi saat penggunaan CPU rata-rata VM dalam sebuah project, yang diukur dalam interval 60 detik, melebihi batas pemakaian 90 persen selama 15 menit (900 detik):

{
    "displayName": "Very high CPU usage",
    "combiner": "OR",
    "conditions": [
        {
            "displayName": "CPU usage is extremely high",
            "conditionThreshold": {
                "aggregations": [
                    {
                        "alignmentPeriod": "60s",
                        "crossSeriesReducer": "REDUCE_MEAN",
                        "groupByFields": [
                            "project"
                        ],
                        "perSeriesAligner": "ALIGN_MAX"
                    }
                ],
                "comparison": "COMPARISON_GT",
                "duration": "900s",
                "filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\"
                          AND resource.type=\"gce_instance\"",
                "thresholdValue": 0.9,
                "trigger": {
                    "count": 1
                }
            }
        }
    ],
}

Kebijakan absensi metrik

Kondisi absensi metrik terpenuhi saat tidak ada data yang ditulis ke metrik selama durasi yang ditentukan.

Salah satu cara untuk mendemonstrasikan ini adalah dengan membuat metrik kustom.

Berikut adalah contoh deskripsi untuk metrik kustom. Anda dapat membuat metrik menggunakan APIs Explorer.

{
  "description": "Number of times the pipeline has run",
  "displayName": "Pipeline runs",
  "metricKind": "GAUGE",
  "type": "custom.googleapis.com/pipeline_runs",
  "labels": [
    {
      "description": "The name of the pipeline",
      "key": "pipeline_name",
      "valueType": "STRING"
    },
  ],
  "unit": "1",
  "valueType": "INT64"
}

Lihat Ringkasan metrik buatan pengguna untuk informasi selengkapnya.

Kondisi dalam kebijakan pemberitahuan berikut terpenuhi saat data berhenti ditulis ke metrik selama sekitar satu jam: dengan kata lain, pipeline per jam Anda gagal dijalankan. Perhatikan bahwa kondisi yang digunakan di sini adalah conditionAbsent.

{
    "displayName": "Data ingestion functioning",
    "combiner": "OR",
    "conditions": [
        {
            "displayName": "Hourly pipeline is up",
            "conditionAbsent": {
                "duration": "3900s",
                "filter": "resource.type=\"global\"
                          AND metric.type=\"custom.googleapis.com/pipeline_runs\"
                          AND metric.label.pipeline_name=\"hourly\"",
            }
        }
    ],
}

Kebijakan perkiraan

Kondisi perkiraan terpenuhi jika semua perkiraan yang dibuat untuk deret waktu dalam periode durasi sama, dan kondisi tersebut memperkirakan bahwa deret waktu akan melanggar batas dalam cakrawala perkiraan.

Kondisi perkiraan adalah kondisi batas metrik yang dikonfigurasi untuk menggunakan perkiraan. Seperti yang diilustrasikan dalam contoh berikut, kondisi ini mencakup kolom forecastOptions yang memungkinkan perkiraan dan menentukan Horizon perkiraan. Pada contoh berikut, cakrawala perkiraan ditetapkan ke satu jam, yang merupakan nilai minimum:

{
    "displayName": "NFS free bytes alert",
    "combiner": "OR",
    "conditions": [
      {
        "displayName": "Filestore Instance - Free disk space percent",
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "300s",
              "perSeriesAligner": "ALIGN_MEAN"
            }
          ],
          "comparison": "COMPARISON_LT",
          "duration": "900s",
          "filter": "resource.type = \"filestore_instance\" AND metric.type = \"file.googleapis.com/nfs/server/free_bytes_percent\"",
          "forecastOptions": {
            "forecastHorizon": "3600s"
          },
          "thresholdValue": 20,
          "trigger": {
            "count": 1
          }
        }
      }
    ],
}

Kebijakan tingkat perubahan

Kondisi laju perubahan terpenuhi saat nilai dalam deret waktu meningkat, atau menurun, setidaknya sebesar persentase yang ditentukan oleh nilai minimum. Saat Anda membuat jenis kondisi ini, komputasi persentase perubahan diterapkan pada deret waktu sebelum dibandingkan dengan nilai minimum.

Kondisi tersebut menghitung rata-rata nilai metrik dari 10 menit terakhir, lalu membandingkan hasilnya dengan rata-rata 10 menit yang diukur tepat sebelum periode durasi. Periode lihat balik 10 menit yang digunakan oleh rasio metrik kondisi perubahan merupakan nilai tetap; Anda tidak dapat mengubahnya. Namun, Anda menentukan periode durasi saat membuat kondisi.

Kebijakan ini memperingatkan Anda saat tingkat penggunaan CPU meningkat dengan cepat:

{
  "displayName": "High CPU rate of change",
  "combiner": "OR",
  "conditions": [
    {
      "displayName": "CPU usage is increasing at a high rate",
      "conditionThreshold": {
         "aggregations": [
           {
             "alignmentPeriod": "900s",
             "perSeriesAligner": "ALIGN_PERCENT_CHANGE",
           }],
        "comparison": "COMPARISON_GT",
        "duration": "180s",
        "filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\" AND resource.type=\"gce_instance\"",
        "thresholdValue": 0.5,
        "trigger": {
          "count": 1
         }
      }
    }
  ],
}

Kebijakan agregat grup

Kebijakan ini akan memberi tahu Anda saat penggunaan CPU rata-rata di seluruh cluster Google Kubernetes Engine melebihi batas:

{
    "displayName": "CPU utilization across GKE cluster exceeds 10 percent",
    "combiner": "OR",
    "conditions": [
         {
            "displayName": "Group Aggregate Threshold across All Instances in Group GKE cluster",
            "conditionThreshold": {
                "filter": "group.id=\"3691870619975147604\" AND metric.type=\"compute.googleapis.com/instance/cpu/utilization\" AND resource.type=\"gce_instance\"",
                "comparison": "COMPARISON_GT",
                "thresholdValue": 0.1,
                "duration": "300s",
                "trigger": {
                    "count": 1
                },
                "aggregations": [
                    {
                        "alignmentPeriod": "60s",
                        "perSeriesAligner": "ALIGN_MEAN",
                        "crossSeriesReducer": "REDUCE_MEAN",
                        "groupByFields": [
                              "project"
                        ]
                    },
                    {
                        "alignmentPeriod": "60s",
                        "perSeriesAligner": "ALIGN_SUM",
                        "crossSeriesReducer": "REDUCE_MEAN"
                    }
                ]
            },
        }
    ],
}

Kebijakan ini mengasumsikan keberadaan grup berikut:

    {
        "name": "projects/a-gcp-project/groups/3691870619975147604",
        "displayName": "GKE cluster",
        "filter": "resource.metadata.name=starts_with(\"gke-kuber-cluster-default-pool-6fe301a0-\")"
    }

Agar dapat mengidentifikasi kolom yang setara untuk grup Anda, cantumkan detail grup menggunakan APIs Explorer di halaman referensi project.groups.list.

Kebijakan cek uptime

Status cek uptime akan ditampilkan di halaman Uptime checks, tetapi Anda dapat mengonfigurasi kebijakan pemberitahuan agar Cloud Monitoring mengirimkan notifikasi jika cek uptime gagal.

Misalnya, JSON berikut menjelaskan cek uptime HTTPS di situs Google Cloud. Kebijakan pemberitahuan memeriksa ketersediaan setiap 5 menit.

Cek uptime dibuat dengan konsol Google Cloud. Representasi JSON di sini dibuat dengan mencantumkan cek uptime dalam project menggunakan Monitoring API. Lihat uptimeCheckConfigs.list. Anda juga dapat membuat cek uptime dengan Monitoring API.

{
    "name": "projects/a-gcp-project/uptimeCheckConfigs/uptime-check-for-google-cloud-site",
    "displayName": "Uptime check for Google Cloud site",
    "monitoredResource": {
        "type": "uptime_url",
        "labels": {
            "host": "cloud.google.com"
      }
    },
    "httpCheck": {
        "path": "/index.html",
        "useSsl": true,
        "port": 443,
        "authInfo": {}
    },
    "period": "300s",
    "timeout": "10s",
    "contentMatchers": [
        {}
    ]
}

Untuk membuat kebijakan pemberitahuan tentang cek uptime, lihat cek uptime menurut UPTIME_CHECK_ID. ID ini ditetapkan saat pemeriksaan dibuat; ID ini muncul sebagai komponen terakhir kolom name dan terlihat di UI sebagai Check ID dalam ringkasan konfigurasi. Jika Anda menggunakan Monitoring API, metode uptimeCheckConfigs.create akan menampilkan ID.

ID ini berasal dari displayName, yang ditetapkan di UI dalam hal ini. Verifikasi email tersebut dapat diverifikasi dengan mencantumkan cek uptime dan melihat nilai name.

ID untuk cek uptime yang dijelaskan sebelumnya adalah uptime-check-for-google-cloud-site.

Kondisi kebijakan pemberitahuan berikut terpenuhi jika cek uptime gagal atau jika sertifikat SSL di situs Google Cloud akan habis masa berlakunya dalam waktu kurang dari 15 hari. Jika salah satu kondisi terpenuhi, Monitoring akan mengirim notifikasi ke saluran notifikasi yang ditentukan:

{
    "displayName": "Google Cloud site uptime failure",
    "combiner": "OR",
    "conditions": [
        {
            "displayName": "Failure of uptime check_id uptime-check-for-google-cloud-site",
            "conditionThreshold": {
                "aggregations": [
                    {
                        "alignmentPeriod": "1200s",
                        "perSeriesAligner": "ALIGN_NEXT_OLDER",
                        "crossSeriesReducer": "REDUCE_COUNT_FALSE",
                        "groupByFields": [ "resource.label.*" ]
                    }
                ],
                "comparison": "COMPARISON_GT",
                "duration": "600s",
                "filter": "metric.type=\"monitoring.googleapis.com/uptime_check/check_passed\"
                          AND metric.label.check_id=\"uptime-check-for-google-cloud-site\"
                          AND resource.type=\"uptime_url\"",
                "thresholdValue": 1,
                "trigger": {
                    "count": 1
                }
            }
        },
        {
            "displayName": "SSL Certificate for google-cloud-site expiring soon",
            "conditionThreshold": {
                "aggregations": [
                    {
                        "alignmentPeriod": "1200s",
                        "perSeriesAligner": "ALIGN_NEXT_OLDER",
                        "crossSeriesReducer": "REDUCE_MEAN",
                        "groupByFields": [ "resource.label.*" ]
                    }
                ],
                "comparison": "COMPARISON_LT",
                "duration": "600s",
                "filter": "metric.type=\"monitoring.googleapis.com/uptime_check/time_until_ssl_cert_expires\"
                          AND metric.label.check_id=\"uptime-check-for-google-cloud-site\"
                          AND resource.type=\"uptime_url\"",
                "thresholdValue": 15,
                "trigger": {
                    "count": 1
                }
            }
        }
    ],
}

Filter dalam kondisi menentukan metrik yang dipantau berdasarkan jenis dan labelnya. Jenis metriknya adalah monitoring.googleapis.com/uptime_check/check_passed dan monitoring.googleapis.com/uptime_check/time_until_ssl_cert_expires. Label metrik mengidentifikasi cek uptime tertentu yang sedang dipantau. Dalam contoh ini, kolom label check_id berisi ID cek uptime.

AND metric.label.check_id=\"uptime-check-for-google-cloud-site\"

Lihat Filter pemantauan untuk informasi selengkapnya.

Kebijakan kesehatan proses

Kebijakan kesehatan proses dapat memberi tahu Anda jika jumlah proses yang cocok dengan suatu pola melampaui batas. Ini dapat digunakan untuk memberi tahu Anda, misalnya, bahwa suatu proses telah berhenti berjalan.

Kebijakan pemberitahuan ini menyebabkan Monitoring mengirimkan notifikasi ke saluran notifikasi yang ditentukan ketika tidak ada proses yang cocok dengan string nginx, yang berjalan sebagai pengguna www, telah tersedia selama lebih dari 5 menit:

{
    "displayName": "Server health",
    "combiner": "OR",
    "conditions": [
        {
            "displayName": "Process 'nginx' is not running",
            "conditionThreshold": {
                "filter": "select_process_count(\"has_substring(\\\"nginx\\\")\", \"www\") AND resource.type=\"gce_instance\"",
                "comparison": "COMPARISON_LT",
                "thresholdValue": 1,
                "duration": "300s"
            }
        }
    ],
}

Untuk mengetahui informasi selengkapnya, lihat Kondisi proses.

Rasio metrik

Sebaiknya gunakan Bahasa Kueri Monitoring (MQL) untuk membuat kebijakan pemberitahuan berbasis rasio. Meskipun Cloud Monitoring API mendukung pembuatan beberapa rasio berbasis filter, MQL memberikan solusi yang lebih fleksibel dan andal:

Bagian ini menjelaskan rasio berbasis filter. Dengan API, Anda dapat membuat dan melihat kebijakan yang menghitung rasio dua metrik terkait dan diaktifkan saat rasio tersebut melampaui nilai minimum. Metrik terkait harus memiliki MetricKind yang sama. Misalnya, Anda dapat membuat kebijakan pemberitahuan berbasis rasio jika kedua metrik merupakan metrik pengukur. Untuk menentukan MetricKind jenis metrik, lihat Daftar metrik.

Kondisi rasio adalah varian pada kondisi nilai minimum sederhana, dengan kondisi dalam kebijakan rasio menggunakan dua filter: filter biasa, yang bertindak sebagai pembilang rasio, dan denominatorFilter, yang bertindak sebagai penyebut rasio.

Deret waktu dari kedua filter harus digabungkan dengan cara yang sama, sehingga perhitungan rasio nilai ini bermanfaat. Kondisi kebijakan pemberitahuan terpenuhi saat rasio kedua filter melanggar nilai minimum selama durasi yang ditentukan.

Bagian berikutnya akan menjelaskan cara mengonfigurasi kebijakan pemberitahuan yang memantau rasio respons error HTTP terhadap semua respons HTTP.

Rasio error HTTP

Kebijakan pemberitahuan berikut memiliki kondisi nilai minimum yang dibuat berdasarkan rasio jumlah respons error HTTP terhadap jumlah semua respons HTTP.

{
    "displayName": "HTTP error count exceeds 50 percent for App Engine apps",
    "combiner": "OR",
    "conditions": [
        {
            "displayName": "Ratio: HTTP 500s error-response counts / All HTTP response counts",
            "conditionThreshold": {
                 "filter": "metric.label.response_code>=\"500\" AND
                            metric.label.response_code<\"600\" AND
                            metric.type=\"appengine.googleapis.com/http/server/response_count\" AND
                            project=\"a-gcp-project\" AND
                            resource.type=\"gae_app\"",
                 "aggregations": [
                    {
                        "alignmentPeriod": "300s",
                        "crossSeriesReducer": "REDUCE_SUM",
                        "groupByFields": [
                          "project",
                          "resource.label.module_id",
                          "resource.label.version_id"
                        ],
                        "perSeriesAligner": "ALIGN_DELTA"
                    }
                ],
                "denominatorFilter": "metric.type=\"appengine.googleapis.com/http/server/response_count\" AND
                                      project=\"a-gcp-project\" AND
                                      resource.type=\"gae_app\"",
                "denominatorAggregations": [
                   {
                      "alignmentPeriod": "300s",
                      "crossSeriesReducer": "REDUCE_SUM",
                      "groupByFields": [
                        "project",
                        "resource.label.module_id",
                        "resource.label.version_id"
                       ],
                      "perSeriesAligner": "ALIGN_DELTA",
                    }
                ],
                "comparison": "COMPARISON_GT",
                "thresholdValue": 0.5,
                "duration": "0s",
                "trigger": {
                    "count": 1
                }
            }
        }
    ]
}

Metrik dan jenis resource

Jenis metrik untuk kebijakan ini adalah appengine.googleapis.com/http/server/response_count, yang memiliki dua label:

  • response_code, bilangan bulat 64-bit yang mewakili kode status HTTP untuk permintaan. Kebijakan ini memfilter data deret waktu pada label ini, sehingga dapat menentukan hal berikut:
    • Jumlah respons yang diterima.
    • Jumlah respons error yang diterima.
    • Rasio respons error terhadap semua respons.
  • loading, nilai boolean yang menunjukkan apakah permintaan sedang dimuat. Label loading tidak relevan dalam kebijakan pemberitahuan ini.

Kebijakan pemberitahuan mengevaluasi data respons dari aplikasi App Engine, yaitu data yang berasal dari jenis resource yang dimonitor gae_app. Resource yang dimonitor ini memiliki tiga label:

  • project_id, ID untuk project Google Cloud.
  • module_id, nama layanan atau modul dalam aplikasi.
  • version_id, versi aplikasi.

Untuk informasi referensi tentang jenis metrik dan resource yang dipantau, lihat metrik App Engine dalam daftar metrik dan entri gae_app dalam daftar resource yang dipantau.

Fungsi kebijakan ini

Kondisi ini menghitung rasio respons error terhadap total respons. Kondisi ini terpenuhi jika rasionya lebih besar dari 50% (yaitu, rasionya lebih besar dari 0,5) selama periode penyelarasan 5 menit.

Kebijakan ini menangkap modul dan versi aplikasi yang melanggar kondisi dengan mengelompokkan deret waktu di setiap filter berdasarkan nilai label tersebut.

  • Filter dalam kondisi melihat respons HTTP dari aplikasi App Engine dan memilih respons tersebut dalam rentang error, 5xx. Ini adalah pembilang dalam rasio.
  • Filter penyebut dalam kondisi melihat semua respons HTTP dari aplikasi App Engine.

Kondisinya terpenuhi dan Monitoring akan segera mengirimkan notifikasi untuk insiden baru; durasi yang diizinkan untuk kondisi tersebut adalah nol detik. Kondisi ini menggunakan trigger sebanyak satu, yang merupakan jumlah deret waktu yang perlu melanggar kondisi untuk menyebabkan insiden. Untuk aplikasi App Engine dengan satu layanan, trigger berjumlah satu tidak masalah. Jika Anda memiliki aplikasi dengan 20 layanan dan ingin menyebabkan insiden jika 3 layanan atau lebih melanggar kondisi, gunakan jumlah trigger sebesar 3.

Menyiapkan rasio

Filter pembilang dan penyebut sama persis, kecuali filter kondisi pada pembilang cocok dengan kode respons dalam rentang error, dan filter kondisi pada penyebut cocok dengan semua kode respons. Klausa berikut hanya muncul dalam kondisi pembilang:

      metric.label.response_code>=\"500\" AND
      metric.label.response_code<\"600\"

Jika tidak, filter pembilang dan penyebutnya sama.

Deret waktu yang dipilih oleh setiap filter harus digabungkan dengan cara yang sama agar komputasi rasio menjadi valid. Setiap filter dapat mengumpulkan beberapa deret waktu karena akan ada deret waktu yang berbeda untuk setiap kombinasi nilai untuk label. Kebijakan ini mengelompokkan kumpulan deret waktu berdasarkan label resource yang ditentukan, yang akan mempartisi kumpulan deret waktu menjadi sekumpulan grup. Beberapa deret waktu di setiap grup cocok dengan filter pembilang; sisanya cocok dengan filter penyebut.

Untuk menghitung rasio, kumpulan deret waktu yang cocok dengan setiap filter harus digabungkan ke dalam satu deret waktu. Dengan begitu, setiap kelompok akan memiliki dua deret waktu, satu untuk pembilang dan satu untuk penyebut. Selanjutnya, rasio poin dalam deret waktu pembilang dan penyebut di setiap grup dapat dihitung.

Dalam kebijakan ini, deret waktu untuk kedua filter digabungkan sebagai berikut:

  • Setiap filter membuat sejumlah deret waktu yang diselaraskan dalam interval 5 menit, dengan nilai yang mewakili ALIGN_DELTA komputasi pada nilai dalam interval penyelarasan 5 menit tersebut. Aligner ini menampilkan jumlah respons yang cocok dalam interval tersebut sebagai bilangan bulat 64-bit.

  • Deret waktu dalam setiap filter juga dikelompokkan menurut nilai label resource untuk modul dan versi, sehingga setiap grup berisi dua rangkaian deret waktu yang diselaraskan, yang cocok dengan filter pembilang dan yang cocok dengan filter penyebut.

  • Deret waktu dalam setiap grup yang cocok dengan filter pembilang atau penyebut digabungkan menjadi satu waktu dengan menjumlahkan nilai dalam setiap deret waktu menggunakan pengurang lintas deret REDUCER_SUM. Hal ini menghasilkan satu deret waktu untuk pembilang dan satu untuk penyebut, masing-masing melaporkan jumlah respons di semua deret waktu yang cocok dalam interval penyelarasan.

Kebijakan tersebut kemudian menghitung rasio nilai untuk deret waktu pembilang dan penyebut yang mewakili setiap grup. Setelah rasio tersedia, kebijakan ini akan menjadi kebijakan batas metrik yang sederhana.