Membuat kueri dan melihat metrik

Setelah mengumpulkan metrik dari workload yang di-deploy di project GDC, Anda dapat mengueri dan melihat metrik di dasbor dari instance pemantauan sistem project atau mengueri metrik dari HTTP API appliance air-gapped GDC.

Membuat kueri dan melihat metrik di dasbor

Instance Grafana project Anda, yang juga disebut instance pemantauan sistem, menyertakan data untuk memantau komponen tingkat project untuk kemampuan pengamatan data, seperti pemakaian CPU, konsumsi penyimpanan, pemantauan jaringan, pemantauan server, log, pemberitahuan, dan metrik.

Untuk melihat metrik, gunakan dasbor di halaman Explore instance pemantauan sistem. Untuk melihat metrik tertentu, buat kueri dari halaman Jelajahi.

Sebelum memulai

Sebelum membuat kueri dan melihat metrik di dasbor, Anda harus mendapatkan akses ke instance pemantauan. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan akses ke dasbor.

Membangun kueri untuk metrik Anda

Pantau dan lihat metrik untuk tujuan kemampuan observasi data di aplikasi Anda melalui instance pemantauan sistem project Anda. Antarmuka pengguna (UI) terintegrasi dari instance berisi dasbor default dari komponen standar dan dasbor yang disesuaikan yang Anda buat untuk kebutuhan kasus penggunaan spesifik Anda. Dengan asumsi lingkungan Anda sudah siap dan berjalan, Anda akan langsung melihat beberapa dasbor metrik di halaman Available Dashboards.

Buat kueri metrik dari UI untuk mengambil metrik secara visual dari project Anda dan mendapatkan tampilan terintegrasi untuk memantau aplikasi Anda. Untuk memfilter hasil, telusuri metrik menurut label menggunakan ekspresi bahasa kueri.

Endpoint instance pemantauan sistem

URL berikut adalah endpoint instance pemantauan project platform-obs:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Ganti kode berikut:

  • GDC_URL: URL organisasi Anda di GDC
  • PROJECT_NAMESPACE: namespace project Anda

Metrik kueri

Selesaikan langkah-langkah berikut untuk membuat kueri metrik dari project Anda:

Selesaikan langkah-langkah berikut untuk mengambil metrik:

  1. Di konsol GDC, pilih project.
  2. Pada menu navigasi, klik Operations > Monitoring.
  3. Klik Lihat semua di Grafana.

Halaman baru akan membuka URL instance pemantauan project Anda.

  1. Di UI instance pemantauan, klik explore Explore dari menu navigasi untuk membuka halaman Explore.
  2. Dari menu drop-down di kolom Explore, pilih prometheus untuk mengambil metrik.
  3. Masukkan kueri untuk menelusuri metrik menggunakan ekspresi PromQL (Prometheus Query Language). Anda dapat melakukan langkah ini dengan salah satu cara berikut:

    • Pilih metrik dan label untuk kueri Anda dari menu drop-down Metrik dan Filter label. Klik tambahkan Tambahkan untuk menambahkan lebih banyak label dalam kueri Anda. Kemudian, klik Run query.
    • Masukkan kueri Anda langsung di kolom teks Metrik, lalu tekan Shift+Enter untuk menjalankan kueri.

    Halaman ini menampilkan metrik yang cocok dengan kueri Anda.

Opsi prometheus dipilih di halaman Explore UI Grafana untuk mendapatkan metrik.

Gambar 1. Opsi menu untuk membuat kueri metrik dari UI Grafana.

Pada gambar 1, opsi prometheus menampilkan antarmuka yang memungkinkan Anda membuat kueri dari Grafana untuk mengambil metrik.

Untuk contoh nilai label yang dapat Anda gunakan untuk membuat kueri metrik, lihat Contoh kueri dan label.

Contoh kueri dan label

Anda dapat membuat kueri metrik yang dikumpulkan menggunakan nama metrik dan label nilai kunci. Oleh karena itu, kueri PromQL memiliki sintaksis berikut:

metric_name{label_one="value", label_two="value"}

Label memungkinkan Anda membedakan karakteristik metrik. Dengan cara ini, pembuat container membuat beban kerja mereka menghasilkan metrik dan menambahkan tag untuk memfilter metrik tersebut sesuai kebutuhan mereka. Misalnya, Anda dapat memiliki metrik api_http_requests_total untuk menghitung jumlah permintaan HTTP yang diterima. Kemudian, Anda dapat menambahkan label request_method pada metrik ini, yang mengambil nilai POST, GET, atau PUT. Oleh karena itu, Anda membuat tiga aliran metrik untuk setiap jenis permintaan yang mungkin Anda terima. Dalam hal ini, untuk menemukan jumlah permintaan HTTP GET, Anda menjalankan kueri berikut:

api_http_requests_total{request_method="GET"}

Berikut adalah beberapa label default yang ditambahkan oleh resource kustom MonitoringTarget dan yang dapat Anda gunakan untuk membuat kueri metrik:

  • _gdch_service: Nama pendek layanan
  • cluster: Nama cluster
  • container_name: Nama container dalam pod
  • namespace_name: Namespace project Anda
  • pod_name: Awalan nama pod

Tabel berikut menjelaskan label yang ditambahkan secara otomatis oleh layanan scraping:

Label default layanan scraping
Label metrik Deskripsi
job Nama internal tugas pengambilan yang digunakan untuk mengumpulkan metrik. Tugas yang dibuat oleh resource kustom MonitoringTarget memiliki nama dengan pola berikut:

PROJECT_NAME-obs-system/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J

PROJECT_NAME-obs-system/MONITORINGTARGET_NAME.MONITORINGTARGET_NAMESPACE/I/J

I dan J adalah angka unik yang ditentukan secara internal untuk menghindari konflik nama.
instance $IP:$PORT layanan yang dihentikan. Jika resource workload memiliki beberapa replika, gunakan kolom ini untuk membedakannya.

Contoh kode berikut menunjukkan penggunaan label dan nilai untuk mengkueri berbagai metrik untuk pengamatan data:

  • Melihat semua aliran metrik operasi yang diproses di project Anda:

    processed_ops_total
    
  • Melihat operasi yang diproses yang dikumpulkan dalam cluster:

    processed_ops_total{cluster="CLUSTER_NAME"}
    
  • Melihat penggunaan CPU yang dikumpulkan di cluster:

    cpu_usage{cluster="CLUSTER_NAME"}
    

Gunakan alat pelabelan ulang metrik untuk menambahkan label yang awalnya tidak diekspos oleh container yang di-scrap dan mengganti nama metrik yang dihasilkan. Anda harus mengonfigurasi CR MonitoringTarget untuk menambahkan label pada metrik yang dikumpulkannya. Tentukan label tersebut di kolom metricsRelabelings CR. Untuk mengetahui informasi selengkapnya, lihat Metrik label.

Membuat kueri metrik dari Cortex API

Cortex adalah penyimpanan jangka panjang untuk metrik Prometheus di GDC. Platform Observability mengekspos endpoint Cortex HTTP API untuk membuat kueri dan membaca metrik, pemberitahuan, dan data deret waktu Prometheus lainnya dari project Anda.

Kueri metrik langsung dari HTTP API untuk membaca dan mengekspor metrik serta data deret waktu lainnya ke alat eksternal, menyiapkan tugas otomatis, menyesuaikan respons, dan membuat integrasi sesuai dengan kasus penggunaan pemantauan sistem Anda. Misalnya, masukkan output ke perintah lain, ekspor detail ke format file teks, atau konfigurasi tugas cron Linux. Anda dapat memanggil API dari antarmuka command line (CLI) atau browser web dan menggunakan ekspresi bahasa kueri sebagai parameter endpoint untuk mendapatkan hasil dalam format JSON.

Bagian ini menjelaskan cara memanggil endpoint Cortex API dari CLI menggunakan spesifikasi Prometheus API untuk membuat kueri metrik bagi kemampuan pengamatan data.

Sebelum memulai

Anda harus mendapatkan otorisasi untuk membuat kueri metrik dari CLI. Untuk mendapatkan izin yang diperlukan untuk mengakses endpoint Cortex API, minta Admin IAM Project Anda untuk memberi Anda peran Project Cortex Prometheus Viewer (project-cortex-prometheus-viewer).

Buat binding peran berikut menggunakan perintah kubectl ke Prometheus Cortex untuk setiap persona:

  1. Root-Admin Operator Infrastruktur (IO) - Project Cortex Prometheus Viewer:

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    io-cortex-prometheus-viewer-binding -n infra-obs 
    --user=fop-infrastructure-operator@example.com 
    --role=project-cortex-prometheus-viewer
    
  2. Admin Platform (PA) Admin Root - Project Cortex Prometheus Viewer:

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    pa-cortex-prometheus-viewer-binding -n platform-obs 
    --user=fop-platform-admin@example.com --role=project-cortex-prometheus-viewer
    
  3. Admin Root Operator Aplikasi (AO) - Project Cortex Prometheus Viewer :

    kubectl --kubeconfig $HOME/root-admin-kubeconfig create rolebinding 
    project-cortex-prometheus-viewer-binding -n PROJECT_NAME 
    --user=USER_NAME --role=project-cortex-prometheus-viewer
    

    Ganti kode berikut:

    • PROJECT_NAME: Nama project Anda.
    • USER_NAME: Nama akun pengguna yang memerlukan binding peran.

Setelah binding peran dibuat, Anda dapat mengakses Prometheus API dengan nama pengguna login Anda.

Endpoint HTTP API

URL berikut adalah endpoint HTTP API untuk mengakses metrik di project platform-obs:

https://GDC_URL/PROJECT_NAME/cortex/prometheus/

Ganti kode berikut:

  • GDC_URL: URL organisasi Anda di GDC.
  • PROJECT_NAME: Nama project Anda.

Panggil endpoint API

Ikuti langkah-langkah berikut untuk mengakses endpoint Cortex API dari CLI dan kueri metrik:

  1. Pastikan Anda memenuhi prasyarat.
  2. Buka CLI.
  3. Gunakan alat curl untuk memanggil endpoint Cortex dan memperluas URL menggunakan https://prometheus.io/docs/prometheus/latest/querying/api/ standar untuk membuat kueri metrik. Contoh:

    curl https://console.org-1.zone1.google.gdch.test/alice/cortex/prometheus/api/v1/query?query=my_metric{cluster="org-1-system"}&time=2015-07-01T20:10:51.781Z
    

Anda akan mendapatkan output di CLI setelah menjalankan perintah. Format respons API adalah JSON.