Configurare i canali di notifica per gli avvisi

Questa pagina descrive la procedura per configurare i canali di notifica per ricevere avvisi.

I canali di notifica sono i meccanismi di invio degli avvisi configurati. Il sistema avvisa i destinatari designati tramite questi canali quando un evento attiva un avviso. Questo processo garantisce che gli avvisi critici raggiungano il personale appropriato tramite i metodi di comunicazione preferiti.

Negli ambienti Google Distributed Cloud (GDC) con air gap, i canali di notifica predefiniti come Slack o l'email non sono disponibili. Per ricevere avvisi, devi configurare almeno un canale di notifica personalizzato. Per applicare le configurazioni dei canali, devi modificare le risorse personalizzate ObservabilityPipeline nello spazio dei nomi del progetto.

Personalizzando i canali di notifica, gli amministratori possono ottenere i seguenti vantaggi:

  • Scegli destinatari specifici: indirizza gli avvisi a singoli, team o turni di reperibilità responsabili della risoluzione dei problemi.
  • Utilizza i metodi di comunicazione preferiti: invia avvisi tramite canali come SMS, PagerDuty, webhook o integrazioni personalizzate, in base alle preferenze individuali e ai flussi di lavoro operativi.
  • Previeni l'eccesso di avvisi: riduci il rumore e assicurati che gli avvisi vengano ricevuti da chi deve intervenire.

L'implementazione dei canali di notifica in GDC richiede agli amministratori di definire la configurazione del canale all'interno del sistema. In genere, questo processo prevede la specifica di parametri come:

  • Tipo di canale: il tipo di canale utilizzato.
  • Destinazione: l'endpoint a cui il sistema deve inviare le notifiche.
  • Autenticazione: eventuali credenziali richieste per accedere alla destinazione.

Configurando i canali di notifica, gli amministratori possono garantire che la piattaforma di monitoraggio invii in modo efficace gli avvisi critici, consentendo risposte tempestive ai potenziali problemi e mantenendo la stabilità e le prestazioni degli ambienti GDC.

Prima di iniziare

Per gestire le risorse personalizzate ObservabilityPipeline, devi disporre delle autorizzazioni necessarie.

Richiedi ruoli IAM dell'organizzazione

Contatta l'amministratore dell'organizzazione IAM per richiedere i seguenti ruoli:

  • ObservabilityPipeline PA Creator (observabilitypipeline-pa-creator): crea risorse personalizzate ObservabilityPipeline.
  • ObservabilityPipeline PA Editor (observabilitypipeline-pa-editor): modifica o aggiorna le risorse personalizzate ObservabilityPipeline.
  • ObservabilityPipeline PA Viewer (observabilitypipeline-pa-viewer): visualizza le risorse personalizzate ObservabilityPipeline.
  • ConfigMap Editor (observabilitypipeline-configmap-editor): crea oggetti ConfigMap nello spazio dei nomi della piattaforma.

Richiedi ruoli IAM per il progetto

Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli:

  • ObservabilityPipeline Editor (observabilitypipeline-editor): modifica o cambia le risorse personalizzate ObservabilityPipeline nello spazio dei nomi del progetto.
  • Visualizzatore ObservabilityPipeline (observabilitypipeline-viewer): visualizza le risorse personalizzate ObservabilityPipeline nello spazio dei nomi del progetto.

Configura i canali di notifica

Configura i canali di notifica per gli avvisi nello spazio dei nomi del progetto:

  1. Definisci la configurazione personalizzata per i canali di notifica in un file YAML denominato alertmanager.yml. Devi seguire la stessa sintassi della specifica Alertmanager:

    https://prometheus.io/docs/alerting/latest/configuration/.

  2. Crea un oggetto ConfigMap e includi la configurazione personalizzata dal file alertmanager.yml nel campo data.

    L'esempio seguente mostra l'aspetto dell'oggetto ConfigMap con il file alertmanager.yml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: CONFIGMAP_NAME
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
    data:
      # The file name must be alertmanager.yml
      alertmanager.yml: |
        # Define your notification channels.
        # Add the custom configuration in the following lines of this file.
        # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration
    
      [...]
    

    Sostituisci quanto segue:

    • CONFIGMAP_NAME: il nome del file di definizione ConfigMap. Utilizzerai questo nome in un secondo momento nella risorsa personalizzata ObservabilityPipeline.
    • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
  3. Applica l'oggetto ConfigMap al server dell'API di gestione nello stesso spazio dei nomi degli avvisi configurati:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Sostituisci quanto segue:

    • KUBECONFIG_PATH: il percorso del file kubeconfig per il server API di gestione.
    • CONFIGMAP_NAME: il nome del file di definizione ConfigMap.
  4. Modifica la specifica della risorsa personalizzata ObservabilityPipeline per importare la configurazione nel campo alertmanagerConfig:

     # Configure the observability pipeline.
    apiVersion: observability.gdc.goog/v1
    kind: ObservabilityPipeline
    metadata:
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
      name: OBSERVABILITY_PIPELINE_NAME
    spec:
      # Configure alerts.
      alerting:
        # The alerting configuration must be in the ConfigMap.
        # The value must match the ConfigMap name exactly.
        alertmanagerConfig: CONFIGMAP_NAME
    
      [...]
    

    Sostituisci quanto segue:

    • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
    • OBSERVABILITY_PIPELINE_NAME: il nome della risorsa personalizzata ObservabilityPipeline.
    • CONFIGMAP_NAME: il nome che hai utilizzato per il file di definizione ConfigMap. Il nome deve corrispondere esattamente.
  5. Salva il file.

  6. Applica le modifiche della risorsa personalizzata ObservabilityPipeline al server dell'API di gestione nello stesso spazio dei nomi degli avvisi configurati:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Sostituisci quanto segue:

    • KUBECONFIG_PATH: il percorso del file kubeconfig per il server API di gestione.
    • OBSERVABILITY_PIPELINE_NAME: il nome del file di definizione ObservabilityPipeline.