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-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 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-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 mengkueri dan memfilter pemberitahuan terbuka dari namespace project Anda:
Konsol
Lihat pemberitahuan 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.
- Melihat daftar notifikasi.
- Di bagian Alerts opened, klik Filter untuk hanya menampilkan pemberitahuan yang terbuka. Anda juga dapat memfilter pemberitahuan berdasarkan nama atau nilai properti lainnya.
- 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-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 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:
- Autentikasi permintaan
curl. Gunakan
curluntuk 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.