Configurare i canali di notifica per gli avvisi

L'appliance Google Distributed Cloud (GDC) con air gap consente di configurare canali di notifica personalizzati per indirizzare gli avvisi attivati a persone, team o rotazioni di reperibilità specifici. L'invio di avvisi tramite canali come PagerDuty, SMS, webhook o integrazioni personalizzate aiuta a ridurre l'affaticamento da avvisi e supporta una risposta tempestiva agli incidenti.

Poiché i canali di notifica predefiniti come Slack o l'email non sono disponibili in GDC, devi configurare almeno un canale personalizzato per ricevere gli avvisi. Puoi definire il tipo di canale, l'endpoint di destinazione e le credenziali di autenticazione in un oggetto Alertmanager ConfigMap. Poi, importi la configurazione in una risorsa personalizzata ObservabilityPipeline nello spazio dei nomi del progetto.

Prima di iniziare

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

Richiedi ruoli IAM dell'organizzazione

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

  • ObservabilityPipeline PA Creator (observabilitypipeline-pa-creator): crea risorse personalizzate ObservabilityPipeline.
  • ObservabilityPipeline PA Editor (observabilitypipeline-pa-editor): modifica o elimina 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 i ruoli IAM del progetto

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

  • ObservabilityPipeline Editor (observabilitypipeline-editor): modifica o elimina le risorse personalizzate ObservabilityPipeline nello spazio dei nomi del progetto.
  • ObservabilityPipeline Viewer (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.