Membuat kueri dan melihat pemberitahuan terbuka

Halaman ini memberikan petunjuk mendetail tentang cara membuat kueri dan memvisualisasikan notifikasi terbuka menggunakan konsol GDC dan alat curl untuk endpoint Cortex guna mendapatkan kesadaran masalah dan menyelesaikan masalah.

Setelah membuat aturan notifikasi berdasarkan log dan metrik dari lingkungan air-gapped Google Distributed Cloud (GDC), Anda dapat mulai memantau notifikasi terbuka dari project Anda. Anda dapat memvisualisasikan dan memfilter notifikasi yang dipicu oleh peristiwa sistem Anda di konsol GDC atau mengaksesnya langsung dari Cortex menggunakan alat curl untuk pembuatan skrip dan otomatisasi yang fleksibel.

Anda dapat mengakses notifikasi terbuka dengan salah satu dari dua metode berikut:

  • Konsol GDC: Memvisualisasikan data notifikasi di panel terintegrasi yang berisi informasi seperti jumlah notifikasi untuk sumber data tertentu, tingkat keparahan, durasi, status, pesan, dan label. Konsol GDC menyediakan antarmuka yang mudah digunakan untuk memfilter dan menganalisis notifikasi dari komponen sistem Anda.
  • Endpoint Cortex Alertmanager: Untuk kasus penggunaan yang lebih canggih, buat kueri instance Cortex project Anda secara langsung menggunakan alat curl di command line. Cortex menyimpan notifikasi Alertmanager project Anda dan menyediakan endpoint HTTP untuk akses terprogram. Akses ini memungkinkan Anda mengekspor data, mengotomatiskan tugas, mengonfigurasi tugas cron, dan membuat integrasi kustom.

Sebelum memulai

Untuk mendapatkan izin yang Anda perlukan untuk membuat kueri dan memvisualisasikan notifikasi, minta Admin IAM Project 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 penampil untuk resource ini dalam 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 memerlukan kubeconfig untuk cluster tertentu yang berisi NAMESPACE tempat RoleBinding ini akan diterapkan.
RULE_NAME Nama unik untuk resource RoleBinding ini dalam namespace. Misalnya, 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 tempat pengguna PA/AO berada. Misalnya, pa-group.
ZONE Nama Zona

Konfigurasi 1

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

  • Perintah Kubectl

    Berikut adalah format perintah generik:

    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 untuk persona PA, yang menargetkan objek grafana di cluster org-admin. Konfigurasi ini memberikan peran project-cortex-alertmanager-viewer dalam namespace platform-obs kepada User.

  • Perintah Kubectl

    Berikut adalah format perintah generik:

    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 membuat kueri dan memfilter notifikasi terbuka dari namespace project Anda:

Konsol

Lihat notifikasi 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. Lihat daftar notifikasi.
  6. Di bagian Alerts opened, klik Filter untuk hanya menampilkan notifikasi terbuka. Anda juga dapat memfilter notifikasi berdasarkan nama atau nilai properti lainnya.
  7. Klik nama notifikasi untuk melihat detail notifikasi.

Endpoint Cortex

Bagian ini menjelaskan cara mengakses notifikasi 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 mengautentikasi 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 mencapai endpoint Cortex menggunakan alat curl:

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

    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 perintah. Respons API dalam format JSON.