Membuat kueri dan melihat pemberitahuan terbuka

Pemantauan pemberitahuan di Google Distributed Cloud (GDC) dengan air gap memungkinkan Anda melacak dan memecahkan masalah notifikasi aktif di seluruh project setelah membuat aturan pemberitahuan. Anda dapat memeriksa tingkat keparahan, durasi, status, dan label pemberitahuan di konsol GDC. Untuk pembuatan skrip, cron job, dan integrasi kustom, buat kueri endpoint HTTP Cortex Alertmanager project Anda dengan curl.

Sebelum memulai

Untuk mendapatkan izin yang Anda perlukan untuk membuat kueri dan memvisualisasikan pemberitahuan, minta Admin Project IAM Anda untuk memberi Anda salah satu peran Project Cortex Alertmanager terkait di namespace project Anda. Bergantung pada tingkat akses dan izin yang Anda perlukan, Anda mungkin mendapatkan peran editor atau pelihat untuk resource ini dalam sebuah project.

Tabel berikut merangkum persyaratan Role untuk PA and AO persona.

Persona Objek Cluster Peran Namespace Grup/Pengguna Konfigurasi
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Grup 1
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Pengguna 2
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Grup 1
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Pengguna 2

Ganti variabel berikut dengan tepat:

Variabel Deskripsi
KUBECONFIG Anda akan memerlukan kubeconfig untuk cluster tertentu yang berisi NAMESPACE tempat RoleBinding ini akan diterapkan.
RULE_NAME Nama unik untuk resource RoleBinding ini dalam namespace. Contoh, pa-cortex-alertmanager-viewer.
NAMESPACE Namespace Kubernetes tempat RoleBinding ini akan dibuat dan diterapkan. Cari kolom Namespace di tabel sebelumnya.
EMAIL_ADDRESS ID untuk pengguna yang diberi peran. ID ini sering kali berupa alamat email. Misalnya, infrastructure-operator@example.com.
ROLE Nama Role yang berisi izin yang ingin Anda berikan kepada pengguna. Cari peran yang tersedia di tabel sebelumnya
GROUP_NAME Nama Group yang mencakup pengguna PA/AO. Contoh, pa-group.
ZONE Nama Zona

Konfigurasi 1

Konfigurasi ini memberikan izin kepada grup pengguna untuk mengakses pemberitahuan PA/AO di cluster org. Setelah menyiapkan konfigurasi ini, lihat bagian konsol dalam dokumen ini untuk melihat pemberitahuan di konsol GDC.

  • Perintah Kubectl

    Berikut adalah format perintah umum:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n `NAMESPACE` --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewer
    

    Contoh:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obs
    
  • Jalur File IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>
    
  • File Yaml

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: NAMESPACE
    subjects:
    - kind: Group
      name: GROUP_NAME
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

Konfigurasi 2

Konfigurasi ini ditujukan untuk persona PA, yang menargetkan objek grafana di cluster org-admin. Perintah ini memberikan peran project-cortex-alertmanager-viewer dalam namespace platform-obs ke User.

  • Perintah Kubectl

    Berikut adalah format perintah umum:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewer
    

    Contoh:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obs
    
  • Jalur File IAC

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>
    
  • File Yaml

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: platform-obs
    subjects:
    - kind: User
      name: EMAIL_ADDRESS
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

    Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Menyiapkan izin IAM.

Melihat dan memfilter notifikasi terbuka

Pilih salah satu metode berikut untuk mengkueri dan memfilter pemberitahuan terbuka dari namespace project Anda:

Konsol

Lihat pemberitahuan terbuka dalam project dari konsol GDC:

  1. Login ke konsol GDC.
  2. Di konsol GDC, pilih project Anda.
  3. Di menu navigasi, pilih Operations > Alerting.
  4. Pilih tab Alerts.
  5. Melihat daftar notifikasi.
  6. Di bagian Alerts opened, klik Filter untuk hanya menampilkan pemberitahuan yang terbuka. Anda juga dapat memfilter pemberitahuan berdasarkan nama atau nilai properti lainnya.
  7. Klik nama pemberitahuan untuk melihat detail pemberitahuan.

Endpoint Cortex

Bagian ini menjelaskan cara mengakses pemberitahuan menggunakan endpoint Cortex Alertmanager Anda.

Mengidentifikasi endpoint Cortex Anda

URL berikut adalah endpoint instance Cortex project Anda:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/

Ganti kode berikut:

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

    Misalnya, endpoint Cortex untuk project platform-obs di organisasi org-1 adalah https://org-1/platform-obs/cortex/alertmanager/.

Mengautentikasi permintaan curl

  1. Download dan instal gdcloud CLI.
  2. Tetapkan properti gdcloud core/organization_console_url:

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Login dengan penyedia identitas yang dikonfigurasi:

    gdcloud auth login
    
  4. Gunakan nama pengguna dan sandi Anda untuk melakukan autentikasi dan login.

    Jika login berhasil, Anda dapat menggunakan header otorisasi dalam permintaan curl melalui perintah gdcloud auth print-identity-token. Untuk mengetahui informasi selengkapnya, lihat gdcloud auth.

Memanggil endpoint Cortex

Selesaikan langkah-langkah berikut untuk menjangkau endpoint Cortex menggunakan alat curl:

  1. Autentikasi permintaan curl.
  2. Gunakan curl untuk memanggil endpoint Cortex dan perluas URL menggunakan spesifikasi Alertmanager API standar (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) untuk mengkueri pemberitahuan.

    Berikut adalah contoh permintaan curl:

      curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \
      -H "Authorization: Bearer $(gdcloud auth print-identity-token \
      --audiences=https://GDC_URL)"
    

    Anda akan mendapatkan output setelah menjalankan perintah. Respons API dalam format JSON.