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 dengan menggunakan filter Pemantauan atau Monitoring Query Language (MQL). Google Cloud CLI dapat membaca dan menulis JSON dan YAML, sedangkan REST API dapat membaca JSON.

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

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

Membuat YAML untuk kebijakan yang ada

Untuk membuat representasi YAML dari kebijakan pemberitahuan yang ada, gunakan perintah gcloud alpha monitoring policies list untuk mencantumkan kebijakan 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 mencantumkan saluran dan perintah gcloud alpha monitoring channels describe untuk mencetak konfigurasi saluran.

Jika Anda tidak menyertakan flag --format dalam perintah Google Cloud CLI, maka, format defaultnya adalah 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 (>) 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 dari kebijakan pemberitahuan dan saluran notifikasi yang ada, lakukan salah satu hal berikut:

Contoh kebijakan

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

Anda dapat menggunakan kebijakan yang disimpan dalam satu project untuk membuat kebijakan baru, atau serupa, dalam project lain. Namun, Anda harus melakukan perubahan berikut terlebih dahulu di 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 oleh pemantauan di konsol Google Cloud , misalnya, “kebijakan laju perubahan”, dan ada dua jenis kondisi:

  • Kondisi batas; hampir semua jenis kebijakan yang disebutkan di UI adalah varian dari kondisi batas
  • Kondisi tidak hadir

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, menggunakan konsol Google Cloud , tetapi beberapa kebijakan hanya dapat dibuat menggunakan Monitoring API. Untuk 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 sesuatu mendekati titik penting, sehingga Anda dapat mengambil tindakan. Misalnya, kondisi untuk kebijakan batas metrik terpenuhi saat ruang disk yang tersedia menjadi kurang dari 10 persen dari total ruang disk.

Kebijakan pemberitahuan berikut menggunakan penggunaan CPU rata-rata sebagai indikator kondisi grup VM. Kondisi kebijakan terpenuhi saat pemakaian CPU rata-rata VM dalam project, yang diukur selama interval 60 detik, melebihi nilai minimum 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 tidak adanya metrik

Kondisi tidak adanya metrik terpenuhi jika tidak ada data yang ditulis ke metrik dalam rentang waktu yang ditentukan oleh kolom duration.

Salah satu cara untuk menunjukkannya adalah dengan membuat metrik kustom.

Berikut adalah contoh deskriptor 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 yang ditentukan pengguna untuk mengetahui 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 berjalan. 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 hal berikut terjadi:

  • Semua perkiraan untuk deret waktu sama dalam rentang waktu yang ditentukan oleh kolom duration.
  • Cloud Monitoring memperkirakan bahwa deret waktu akan melanggar nilai minimum dalam cakupan perkiraan.

Kondisi perkiraan adalah kondisi nilai minimum metrik yang dikonfigurasi untuk menggunakan perkiraan. Seperti yang diilustrasikan dalam contoh berikut, kondisi ini mencakup kolom forecastOptions yang memungkinkan perkiraan dan menentukan cakrawala perkiraan. Dalam contoh berikut, horizon 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 laju perubahan

Kondisi laju perubahan terpenuhi jika 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 ke deret waktu sebelum dibandingkan dengan nilai minimum.

Kondisi ini menghitung rata-rata nilai metrik dari 10 menit terakhir, lalu membandingkan hasilnya dengan rata-rata 10 menit yang diukur tepat sebelum periode perataan dimulai. Anda tidak dapat mengubah periode 10 menit yang digunakan untuk perbandingan dalam kebijakan pemberitahuan laju perubahan. Namun, Anda menentukan periode penyelarasan saat membuat kondisi.

Kebijakan pemberitahuan ini memantau apakah 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 gabungan grup

Kebijakan pemberitahuan ini memantau apakah penggunaan CPU rata-rata di seluruh cluster Google Kubernetes Engine melebihi nilai minimum:

{
    "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-\")"
    }

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

Kebijakan cek uptime

Status cek uptime muncul di halaman Cek uptime, tetapi Anda dapat mengonfigurasi kebijakan pemberitahuan sehingga Cloud Monitoring akan mengirimkan notifikasi jika cek uptime gagal.

Misalnya, JSON berikut menjelaskan pemeriksaan 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 untuk cek uptime, lihat cek uptime berdasarkan UPTIME_CHECK_ID-nya. 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 berasal dari displayName, yang dalam hal ini ditetapkan di UI. Hal ini dapat diverifikasi dengan mencantumkan cek uptime dan melihat nilai name.

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

Kondisi kebijakan pemberitahuan berikut terpenuhi jika pemeriksaan waktu aktif gagal atau jika sertifikat SSL di situs Google Cloud akan berakhir dalam waktu kurang dari 15 hari. Jika salah satu kondisi terpenuhi, Monitoring akan mengirimkan 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 pemeriksaan uptime tertentu yang sedang dipantau. Dalam contoh ini, kolom label check_id berisi ID pemeriksaan uptime.

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

Lihat Memantau filter untuk mengetahui informasi selengkapnya.

Kebijakan kondisi proses

Kebijakan kesehatan proses dapat memberi tahu Anda jika jumlah proses yang cocok dengan pola melampaui batas. Hal 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 jika tidak ada proses yang cocok dengan string nginx, yang berjalan sebagai pengguna www, yang 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 Kesehatan proses.

Rasio metrik

Sebaiknya gunakan Bahasa Kueri Monitoring (MQL) untuk membuat kebijakan pemberitahuan berbasis rasio. Meskipun Cloud Monitoring API mendukung pembuatan rasio berbasis filter tertentu, 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 adalah metrik pengukur. Untuk menentukan MetricKind jenis metrik, lihat Daftar metrik.

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

Deret waktu dari kedua filter harus diagregasi dengan cara yang sama, sehingga penghitungan rasio nilai menjadi bermakna. Kondisi kebijakan pemberitahuan terpenuhi saat rasio filter melanggar nilai minimum untuk rentang waktu yang ditentukan oleh kolom duration.

Bagian berikutnya 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
                }
            }
        }
    ]
}

Jenis metrik dan 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 merepresentasikan 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 dipantau gae_app. Resource yang dipantau ini memiliki tiga label:

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

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

Fungsi kebijakan ini

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

Kebijakan ini mencatat modul dan versi aplikasi yang melanggar kondisi dengan mengelompokkan deret waktu di setiap filter menurut 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.

Kondisi terpenuhi dan Monitoring segera mengirimkan notifikasi untuk insiden baru; rentang waktu yang diizinkan untuk kolom duration dalam kondisi adalah nol detik. Kondisi ini menggunakan jumlah trigger sebanyak satu, yaitu jumlah deret waktu yang harus melanggar kondisi untuk menyebabkan insiden. Untuk aplikasi App Engine dengan satu layanan, jumlah trigger satu sudah cukup. Jika Anda memiliki aplikasi dengan 20 layanan dan Anda ingin menyebabkan insiden jika 3 atau lebih layanan melanggar kondisi, gunakan jumlah trigger 3.

Menyiapkan rasio

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

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

Jika tidak, filter numerator dan denominator sama.

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

Untuk menghitung rasio, kumpulan deret waktu yang cocok dengan setiap filter harus digabungkan menjadi satu deret waktu. Dengan demikian, setiap grup akan memiliki dua deret waktu, satu untuk pembilang dan satu untuk penyebut. Selanjutnya, rasio titik 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 pada interval 5 menit, dengan nilai yang diwakili oleh ALIGN_DELTA yang dihitung pada nilai dalam periode penyelarasan 5 menit tersebut. Penyelarasan ini menampilkan jumlah respons yang cocok dalam periode penyelarasan tersebut sebagai bilangan bulat 64-bit.

  • Deret waktu dalam setiap filter juga dikelompokkan berdasarkan nilai label resource untuk modul dan versi, sehingga setiap grup akan berisi dua set deret waktu yang selaras, yaitu 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 deret waktu individual menggunakan peredam lintas deret REDUCER_SUM. Hal ini menghasilkan satu deret waktu untuk pembilang dan satu untuk penyebut, yang masing-masing melaporkan jumlah respons di semua deret waktu yang cocok dalam periode penyelarasan.

Kemudian, kebijakan menghitung rasio nilai untuk deret waktu pembilang dan penyebut yang merepresentasikan setiap grup. Kondisi untuk kebijakan pemberitahuan terpenuhi jika rasio lebih besar dari 50 persen.