Menambahkan filter permanen ke dasbor kustom

Dokumen ini menjelaskan cara menambahkan filter level dasbor permanen ke dasbor kustom. Filter permanen, yang memungkinkan Anda mengubah data yang ditampilkan oleh dasbor tanpa harus mengubah setiap widget, memiliki status default dan dapat diterapkan ke seluruh dasbor atau hanya pada widget tertentu. Toolbar dasbor menampilkan setiap filter permanen, beserta menu, yang memungkinkan Anda mengubah nilai filter untuk sementara.

Jika Anda ingin menentukan presentasi data default di dasbor bersama dengan opsi berbasis menu untuk mengubah tampilan tersebut, tambahkan filter permanen. Misalnya, jika Anda ingin melihat metrik untuk semua zona dan juga ingin melihat metrik untuk zona tertentu, buat filter permanen berdasarkan label zone.

Anda dapat membuat dan menerapkan filter permanen dengan menggunakan Konsol Google Cloud atau Cloud Monitoring API. Dokumen ini menjelaskan cara menggunakan Google Cloud Console. Untuk informasi tentang penggunaan Cloud Monitoring API, lihat Membuat dan mengelola dasbor dengan API: Filter dasbor.

Untuk mengetahui informasi tentang cara menambahkan dan mengubah pengelompokan dan filter sementara, lihat Menambahkan filter sementara ke dasbor kustom.

Cara kerja filter dasbor

Filter dasbor menentukan label dan nilai. Deret waktu yang ditampilkan dasbor menentukan label yang tersedia untuk pemfilteran. Cara widget mendukung filter di seluruh dasbor bergantung pada jenis data yang ditampilkan widget, dan konfigurasi widget:

  • Untuk widget yang menampilkan data deret waktu, seperti diagram garis, aturan berikut berlaku:

    • Jika deret waktu yang ditampilkan oleh widget tidak mendukung label dalam filter, filter di seluruh dasbor tidak akan mengubah data yang ditampilkan.

      Misalnya, jika Anda menambahkan filter pada label instance_id, tetapi diagram di dasbor tidak menampilkan data dengan label instance_id, berarti filter tidak mengubah data yang ditampilkan.

    • Jika widget menentukan nilai untuk sebuah label, filter di seluruh dasbor tidak akan mengubah data yang ditampilkan.

      Misalnya, jika Anda menambahkan filter pada label instance_id, tetapi diagram di dasbor menyertakan filter berdasarkan label instance_id, filter di seluruh dasbor tidak akan mengubah data yang ditampilkan.

    • Jika tidak, diagram akan memfilter data yang ditampilkan hanya ke deret waktu yang memenuhi filter di seluruh dasbor.

  • Untuk widget panel log, filter di seluruh dasbor yang didasarkan pada label resource akan memperbarui kueri. Misalnya, jika Anda menambahkan filter tingkat dasbor cluster_name: mycluster, kueri akan diupdate untuk menyertakan resource.labels."cluster_name"="mycluster".

Anda dapat menambahkan beberapa filter di seluruh dasbor. Filter ini digabungkan dengan AND yang logis.

Sebelum memulai

Untuk mendapatkan izin yang diperlukan untuk menambahkan atau mengubah filter permanen dengan menggunakan Konsol Google Cloud, minta administrator untuk memberi Anda peran IAM Monitoring Editor (roles/monitoring.editor) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran, lihat Mengontrol akses dengan Identity and Access Management.

Membuat filter permanen

Saat mendesain dasbor, Anda mungkin mengidentifikasi beberapa cara untuk melihat data yang ditampilkan dasbor. Misalnya, saat dasbor menampilkan metrik untuk instance VM, Anda mungkin ingin melihat metrik untuk semua VM dan mungkin ingin melihat metrik untuk VM di zona tertentu. Anda dapat membuat filter permanen untuk label zone dengan setelan default ke semua zona, *. Saat melihat dasbor, Anda dapat menggunakan menu di filter zone untuk memilih zona tertentu.

Anda dapat membatasi filter permanen untuk widget tertentu. Pertimbangkan skenario saat Anda menginginkan tampilan metrik secara berdampingan untuk VM di dua zona berbeda. Anda membuat dua kumpulan diagram dan membuat filter untuk setiap kumpulan. Konfigurasi default Anda memenuhi tujuan awal Anda. Namun, saat melihat dasbor, toolbar akan mencantumkan variabel Anda dan menyertakan menu yang memungkinkan Anda memilih nilai yang berbeda. Anda dapat menggunakan menu ini untuk melihat data untuk zona yang berbeda.

Filter permanen yang hanya berlaku untuk widget tertentu terkadang disebut variabel template. Setelah membuat filter jenis ini, saat Anda menambahkan widget ke dasbor, Anda juga dapat menerapkan filter ke widget tersebut. Untuk mengetahui informasi selengkapnya, lihat Menerapkan filter permanen ke widget.

Untuk membuat filter permanen, lakukan hal berikut:

  1. Pada panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Dashboards:

    Buka Dasbor

  2. Di toolbar dasbor, klik Settings, lalu pilih Manage Filters.
  3. Klik Label, lalu pilih label. Misalnya, Anda dapat memilih zone.
  4. Klik Nilai default, lalu pilih nilai default untuk label. Untuk mencocokkan semua nilai, pilih *.

    Setelah dibuat, filter akan ditambahkan ke toolbar dasbor. Untuk mengubah nilai filter sementara, klik filter, lalu buat pilihan dari menu.

  5. Lakukan salah satu hal berikut:

    • Untuk menerapkan filter ke semua widget di dasbor, pilih Apply to all, lalu pilih Apply.

    • Untuk menerapkan filter ke beberapa widget di dasbor:

      1. Hapus Terapkan ke semua.
      2. Di kotak teks Nama variabel, masukkan nama tampilan untuk variabel.
      3. Luaskan menu Apply to charts, pilih widget tempat filter diterapkan, lalu pilih OK.

      4. Klik Apply.

Menerapkan filter permanen ke widget

Untuk menerapkan filter permanen ke widget, Anda harus mengaitkan widget tersebut dengan variabel:

  • Untuk diagram yang dikonfigurasi menggunakan menu, Anda dapat melakukan pengaitan ini saat membuat atau mengedit filter.

  • Untuk panel log, edit widget dan konfigurasikan kueri default. Pastikan untuk mengikuti panduan di bagian berjudul Sintaksis untuk menerapkan filter permanen.

  • Untuk diagram dan tabel yang ditentukan MQL atau PromQL, edit diagram atau tabel, lalu ubah MQL atau PromQL. Pastikan Anda mengikuti panduan di bagian berjudul Sintaksis untuk menerapkan filter permanen.

Sintaksis untuk menerapkan filter permanen

Misalnya, gambar berikut menunjukkan representasi JSON parsial dari dasbor yang menentukan variabel template dan filter seluruh dasbor:

{
  "dashboardFilters": [
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "instance_id",
        "stringValue": "3133577226154888113",
        "templateVariable": "iid"
      },
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "zone"
      }
    ],
  "displayName": "Illustrate Template Variables",
  ...

Dalam JSON yang ditampilkan, entri pertama dalam struktur dashboardFilters adalah untuk variabel template dengan nama iid dan filter seluruh dasbor dengan kunci label zone. Variabel template adalah alias dari label instance_id.

Struktur data untuk variabel template tidak mencantumkan widget tempat variabel tersebut diterapkan. Namun, Anda mengaitkan widget dengan variabel template dengan mengubah kueri widget untuk menyertakan referensi ke variabel tersebut. Saat widget ditampilkan di dasbor, nilai variabel template akan diselesaikan.

Lihat bagian berikut untuk mengetahui cara menganotasi diagram dan panel log:

Panel log

Untuk mengonfigurasi panel log guna memfilter tampilan berdasarkan nilai variabel template, tambahkan variabel ke panel kueri. Contoh berikut menunjukkan kueri yang memfilter menurut nilai variabel template iid:

${iid}

Sebelum panel log membuat kueri untuk log yang akan ditampilkan, variabel template di-resolve. Dalam contoh ini, jika nilai variabel template adalah "12345", ${iid} akan diganti dengan pernyataan resource.labels."instance_id"="12345".

Anda juga dapat menyertakan hanya nilai variabel template dalam kueri. Sebaiknya hanya gunakan nilai sebagai bagian dari filter yang ditentukan dengan ekspresi reguler. Misalnya, kueri berikut menggunakan ekspresi reguler untuk mencocokkan entri log yang memiliki payload JSON yang berisi string yang dijelaskan:

jsonPayload.message=~"Connected to instance: ${iid.value}"

Jika Anda telah mengonfigurasi kueri untuk panel log, lalu memilih tombol untuk membuka Logs Explorer, variabel template akan di-resolve sebelum Logs Explorer dibuka.

Tabel berikut menunjukkan cara variabel template diselesaikan oleh panel log:

Sintaksis Nilai
Dipilih
Ekspresi panel log yang telah diselesaikan
${iid} 12345 resource.labels."instance_id"="12345"
${iid} * ""
${iid.value} 12345 12345
${iid.value} * .*

Diagram dan tabel yang ditentukan MQL

Saat Anda menggunakan Bahasa Kueri Monitoring (MQL) untuk mengonfigurasi diagram, tambahkan pipa dan variabel ke string kueri:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| every 1m
| ${iid}

Sebelum kueri diagram untuk deret waktu ditampilkan, variabel template di-resolve. Dalam contoh ini, jika nilai variabel template adalah "12345", ${iid} akan diganti dengan pernyataan filter (resource.instance_id == '12345'). Filter ini cocok dengan deret waktu yang memiliki label bernama resource.instance_id, dan hanya jika nilai label tersebut persis 12345.

Jika Anda ingin memfilter deret waktu menggunakan ekspresi reguler, konfigurasi kueri agar hanya menyertakan nilai variabel template. Untuk menggambarkan sintaksis, berikut ini menunjukkan cara menggunakan ekspresi reguler untuk menentukan apakah nilai label resource.instance_id berisi nilai variabel template iid:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| filter resource.instance_id=~"${iid.value}"
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m

Tabel berikut menunjukkan cara variabel template diselesaikan untuk kueri MQL:

Sintaksis Nilai
Dipilih
Ekspresi MQL yang diselesaikan
${iid} 12345 filter (resource.instance_id == '12345')
${iid} * filter (true)
${iid.value} 12345 12345
${iid.value} * .*

Diagram dan tabel yang ditentukan PromQL

Saat Anda menentukan diagram menggunakan PromQL, tambahkan variabel yang digabungkan dengan tanda kurung kurawal pada string kueri:

compute_googleapis_com:instance_cpu_utilization {
    project_id="my-project", ${iid}
}

Sebelum kueri diagram untuk deret waktu ditampilkan, variabel template di-resolve. Dalam contoh ini, jika nilai variabel template adalah "12345", ${iid} akan diganti dengan pernyataan instance_id == '12345'.

Serupa dengan MQL, saat Anda menentukan widget dengan PromQL, kueri hanya dapat mengekstrak nilai variabel template. Sebaiknya hanya gunakan nilai sebagai bagian dari filter yang ditentukan dengan ekspresi reguler. Untuk menggambarkan sintaksis, berikut ini menunjukkan cara menggunakan ekspresi reguler untuk menentukan apakah nilai label instance_id berisi nilai variabel template iid:

compute_googleapis_com:instance_cpu_utilization{
    instance_id=~"${iid.value}"
}

Tabel berikut menunjukkan cara variabel template diselesaikan untuk kueri PromQL:

Sintaksis Nilai
Dipilih
Menyelesaikan ekspresi PromQL
${iid} 12345 instance_id == '12345'
${iid} * noop_filter=~".*"
${iid.value} 12345 12345
${iid.value} * .+

Diagram dan tabel yang ditentukan dengan filter deret waktu

Saat Anda menentukan diagram menggunakan filter deret waktu, tambahkan variabel ke string filter:

"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\"
           resource.type=\"gce_instance\" ${iid}"

Tidak seperti diagram yang ditentukan MQL dan PromQL, Anda tidak dapat menggunakan nilai variabel template dalam filter deret waktu.

Tabel berikut menunjukkan cara variabel template diselesaikan:

Sintaksis Nilai
Dipilih
Ekspresi filter terselesaikan
${iid} 12345 resource.instance_id == "12345"
${iid} * Dihilangkan
${iid.value} 12345 Tidak didukung
${iid.value} * Tidak didukung

Mengubah filter permanen

Untuk mengubah sementara nilai filter yang ditampilkan di toolbar dasbor, klik nama filter, lalu masukkan nilai atau buat pilihan dari menu.

Untuk mengubah konfigurasi filter permanen, lakukan hal berikut:

  1. Pada panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Dashboards:

    Buka Dasbor

  2. Di toolbar dasbor, klik Settings, lalu pilih Manage Filters.
  3. Temukan filter yang ingin diubah, lalu gunakan menu untuk melakukan modifikasi.
  4. Klik Apply.

Menghapus filter permanen

  1. Pada panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih  Dashboards:

    Buka Dasbor

  2. Di toolbar dasbor, klik Settings, lalu pilih Manage Filters.
  3. Cari filter yang ingin Anda hapus, lalu klik Hapus.
  4. Klik Apply.

Langkah selanjutnya