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
curldi 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-viewerContoh:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obsJalur 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-viewerContoh:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obsJalur 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.ioUntuk 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:
- Login ke konsol GDC.
- Di konsol GDC, pilih project Anda.
- Di menu navigasi, pilih Operations > Alerting.
- Pilih tab Alerts.
- Lihat daftar notifikasi.
- Di bagian Alerts opened, klik Filter untuk hanya menampilkan notifikasi terbuka. Anda juga dapat memfilter notifikasi berdasarkan nama atau nilai properti lainnya.
- 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-obsdi organisasiorg-1adalahhttps://org-1/platform-obs/cortex/alertmanager/.
Mengautentikasi permintaan curl
- Download dan instal gdcloud CLI.
Tetapkan properti gdcloud
core/organization_console_url:gdcloud config set core/organization_console_url https://GDC_URLLogin dengan penyedia identitas yang dikonfigurasi:
gdcloud auth loginGunakan 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:
- Autentikasi permintaan
curl. Gunakan
curluntuk 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.