Questa pagina fornisce istruzioni dettagliate su come eseguire query e visualizzare gli avvisi aperti utilizzando sia la console GDC sia lo strumento curl per l'endpoint Cortex per acquisire consapevolezza dei problemi e risolverli.
Dopo aver creato regole di avviso
in base a log e metriche degli ambienti isolati di Google Distributed Cloud (GDC), puoi iniziare a monitorare gli avvisi aperti dal tuo progetto. Puoi visualizzare e filtrare
gli avvisi attivati dagli eventi di sistema nella console GDC o accedervi
direttamente da Cortex utilizzando lo strumento curl per script e
automazione flessibili.
Puoi accedere agli avvisi aperti in uno dei due modi seguenti:
- Console GDC: visualizza i dati di avviso in pannelli integrati contenenti informazioni come il numero di avvisi per una specifica origine dati, il livello di gravità, la durata, lo stato, il messaggio e le etichette. La console GDC fornisce un'interfaccia intuitiva per filtrare e analizzare gli avvisi dei componenti del sistema.
- Endpoint Cortex Alertmanager: per casi d'uso più avanzati, esegui query direttamente sull'istanza Cortex del tuo progetto utilizzando lo strumento
curlsu una riga di comando. Cortex archivia gli avvisi di Alertmanager del tuo progetto e fornisce un endpoint HTTP per l'accesso programmatico. Questo accesso ti consente di esportare dati, automatizzare attività, configurare cron job e creare integrazioni personalizzate.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per eseguire query e visualizzare gli avvisi, chiedi all'amministratore IAM del progetto di concederti uno dei ruoli Alertmanager di Project Cortex associati nello spazio dei nomi del progetto. A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere i ruoli Editor o Visualizzatore per questa risorsa in un progetto.
La seguente tabella riepiloga i requisiti di Role per PA persona.
| Utente tipo | Oggetto | Cluster | Ruolo | Spazio dei nomi | Gruppo/utente | Configurazione |
|---|---|---|---|---|---|---|
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Gruppo | 1 |
| PA | grafana | org-admin | project-cortex-alertmanager-viewer |
platform-obs | Utente | 2 |
Sostituisci le seguenti variabili in modo appropriato:
| Variabile | Descrizione |
|---|---|
KUBECONFIG |
Avrai bisogno del kubeconfig per il cluster specifico che contiene NAMESPACE in cui verrà applicato questo RoleBinding. |
RULE_NAME |
Il nome univoco di questa risorsa RoleBinding all'interno dello spazio dei nomi. Ad esempio, io-root-cortex-prometheus-viewer. |
NAMESPACE |
Lo spazio dei nomi Kubernetes in cui verrà creato e applicato questo RoleBinding. Cerca la colonna Namespace nella tabella precedente. |
EMAIL_ADDRESS |
L'identificatore dell'utente a cui viene concesso il ruolo. Spesso si tratta di un indirizzo email. Ad esempio, infrastructure-operator@example.com. |
ROLE |
Il nome del Role che contiene le autorizzazioni che vuoi concedere all'utente. Cerca i ruoli disponibili nella tabella precedente |
GROUP_NAME |
Il nome del Role che contiene le autorizzazioni che vuoi concedere all'utente. Ad esempio, io-group. |
ZONE |
Nome della zona |
Configurazione 1
Questa configurazione è per la persona PA, che ha come target l'oggetto grafana nel cluster org-admin.
Concede il ruolo project-cortex-alertmanager-viewer all'interno dello spazio dei nomi platform-obs a un Group.
Comando kubectl
Questo è il formato generico del comando:
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewerEsempio:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obsPercorso 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: platform-obs subjects: - kind: Group name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: project-cortex-alertmanager-viewer apiGroup: rbac.authorization.k8s.io
Configurazione 2
Questa configurazione è per la persona PA, che ha come target l'oggetto grafana nel cluster org-admin.
Concede il ruolo project-cortex-alertmanager-viewer all'interno dello spazio dei nomi platform-obs a un User.
Comando kubectl
Questo è il formato generico del comando:
kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewerEsempio:
kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obsPercorso 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.ioPer saperne di più su questi ruoli, consulta Preparare le autorizzazioni IAM.
Visualizzare e filtrare gli avvisi aperti
Seleziona uno dei seguenti metodi per eseguire query e filtrare gli avvisi aperti dallo spazio dei nomi del progetto:
Console
Visualizza gli avvisi aperti in un progetto dalla console GDC:
- Accedi alla console GDC.
- Nella console GDC, seleziona il progetto.
- Nel menu di navigazione, seleziona Operazioni > Avvisi.
- Seleziona la scheda Avvisi.
- Visualizza l'elenco degli avvisi.
- Nella sezione Avvisi aperti, fai clic su Filtra per visualizzare solo gli avvisi aperti. Puoi anche filtrare gli avvisi in base ad altri nomi o valori delle proprietà.
- Fai clic sul nome di un avviso per visualizzarne i dettagli.
Endpoint Cortex
Questa sezione descrive come accedere agli avvisi utilizzando l'endpoint Cortex Alertmanager.
Identificare l'endpoint Cortex
Il seguente URL è l'endpoint dell'istanza Cortex del tuo progetto:
https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/
Sostituisci quanto segue:
GDC_URL: l'URL della tua organizzazione in GDC.PROJECT_NAMESPACE: lo spazio dei nomi del progetto.Ad esempio, l'endpoint Cortex per il progetto
platform-obsnell'organizzazioneorg-1èhttps://org-1/platform-obs/cortex/alertmanager/.
Autenticare la richiesta curl
- Scarica e installa gcloud CLI.
Imposta la proprietà gdcloud
core/organization_console_url:gdcloud config set core/organization_console_url https://GDC_URLAccedi con il provider di identità configurato:
gdcloud auth loginUtilizza il tuo nome utente e la tua password per autenticarti e accedere.
Una volta eseguito l'accesso, puoi utilizzare l'intestazione di autorizzazione nella richiesta curl tramite il comando
gdcloud auth print-identity-token. Per maggiori informazioni, vedi gdcloud auth.
Chiama l'endpoint Cortex
Per raggiungere l'endpoint Cortex utilizzando lo strumento curl:
- Autenticare la richiesta
curl. Utilizza
curlper chiamare l'endpoint Cortex ed estendi l'URL utilizzando la specifica API Alertmanager standard (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) per eseguire query sugli avvisi.Di seguito è riportato un esempio di richiesta
curl:curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \ -H "Authorization: Bearer $(gdcloud auth print-identity-token \ --audiences=https://GDC_URL)"Ottieni l'output seguente al comando. La risposta API è in formato JSON.