Esegui query e visualizza gli avvisi aperti

Il monitoraggio degli avvisi in Google Distributed Cloud (GDC) con air gap ti consente di monitorare e risolvere i problemi relativi alle notifiche attive nel tuo progetto dopo aver creato le regole di avviso. Puoi esaminare la gravità, la durata, lo stato e le etichette degli avvisi nella console GDC. Per script, cron job e integrazioni personalizzate, esegui una query sull'endpoint HTTP di Cortex Alertmanager del tuo progetto con curl.

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 Project Cortex Alertmanager associati nello spazio dei nomi del progetto. A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere ruoli Editor o Visualizzatore per questa risorsa in un progetto.

La tabella seguente riassume i requisiti di Role per PA and AO 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
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Gruppo 1
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Utente 2

Sostituisci le seguenti variabili in modo appropriato:

Variabile Descrizione
KUBECONFIG Ti servirà il kubeconfig per il cluster specifico che contiene il NAMESPACE in cui verrà applicato questo RoleBinding.
RULE_NAME Il nome univoco di questa risorsa RoleBinding all'interno dello spazio dei nomi. Ad esempio, pa-cortex-alertmanager-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 Group a cui appartiene l'utente PA/AO. Ad esempio, pa-group.
ZONE Nome della zona

Configurazione 1

Questa configurazione concede le autorizzazioni a un gruppo di utenti per accedere agli avvisi PA/AO nel cluster org. Dopo aver configurato questa impostazione, consulta la sezione Console di questo documento per visualizzare gli avvisi nella console GDC.

  • Comando kubectl

    Questo è il formato generico del comando:

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

    Esempio:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obs
    
  • Percorso 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
    

Configurazione 2

Questa configurazione è per l'utente tipo 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-viewer
    

    Esempio:

    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
    
  • Percorso 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
    

    Per saperne di più su questi ruoli, consulta Prepara le autorizzazioni IAM.

Visualizza e filtra 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:

  1. Accedi alla console GDC.
  2. Nella console GDC, seleziona il progetto.
  3. Nel menu di navigazione, seleziona Operazioni > Avvisi.
  4. Seleziona la scheda Avvisi.
  5. Visualizza l'elenco degli avvisi.
  6. 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 di proprietà.
  7. 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.

Identifica 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-obs nell'organizzazione org-1 è https://org-1/platform-obs/cortex/alertmanager/.

Autentica la richiesta curl

  1. Scarica e installa l'interfaccia a riga di comando gdcloud.
  2. Imposta la proprietà gdcloud core/organization_console_url:

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Accedi con il provider di identità configurato:

    gdcloud auth login
    
  4. Utilizza 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 ulteriori informazioni, consulta gdcloud auth.

Chiama l'endpoint Cortex

Completa i seguenti passaggi per raggiungere l'endpoint Cortex utilizzando lo strumento curl:

  1. Autentica la richiesta curl.
  2. Utilizza curl per chiamare l'endpoint Cortex ed estendi l'URL utilizzando la specifica standard dell'API Alertmanager (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 dell'API è in formato JSON.