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 personalizzateObservabilityPipeline. - ObservabilityPipeline PA Editor (
observabilitypipeline-pa-editor): modifica o elimina le risorse personalizzateObservabilityPipeline. - ObservabilityPipeline PA Viewer (
observabilitypipeline-pa-viewer): visualizza le risorse personalizzateObservabilityPipeline. - ConfigMap Editor (
observabilitypipeline-configmap-editor): crea oggettiConfigMapnello 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 personalizzateObservabilityPipelinenello spazio dei nomi del progetto. - ObservabilityPipeline Viewer (
observabilitypipeline-viewer): visualizza le risorse personalizzateObservabilityPipelinenello spazio dei nomi del progetto.
Configura i canali di notifica
Configura i canali di notifica per gli avvisi nello spazio dei nomi del progetto:
Definisci la configurazione personalizzata per i canali di notifica in un file YAML denominato
alertmanager.yml. Devi seguire la stessa sintassi della specifica Alertmanager:Crea un oggetto
ConfigMape includi la configurazione personalizzata dal filealertmanager.ymlnel campodata.L'esempio seguente mostra l'aspetto dell'oggetto
ConfigMapcon il filealertmanager.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 definizioneConfigMap. Utilizzerai questo nome in un secondo momento nella risorsa personalizzataObservabilityPipeline.PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
Applica l'oggetto
ConfigMapal server dell'API di gestione nello stesso spazio dei nomi degli avvisi configurati:kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yamlSostituisci quanto segue:
KUBECONFIG_PATH: il percorso del file kubeconfig per il server API di gestione.CONFIGMAP_NAME: il nome del file di definizioneConfigMap.
Modifica la specifica della risorsa personalizzata
ObservabilityPipelineper importare la configurazione nel campoalertmanagerConfig:# 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 personalizzataObservabilityPipeline.CONFIGMAP_NAME: il nome che hai utilizzato per il file di definizioneConfigMap. Il nome deve corrispondere esattamente.
Salva il file.
Applica le modifiche della risorsa personalizzata
ObservabilityPipelineal server dell'API di gestione nello stesso spazio dei nomi degli avvisi configurati:kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yamlSostituisci quanto segue:
KUBECONFIG_PATH: il percorso del file kubeconfig per il server API di gestione.OBSERVABILITY_PIPELINE_NAME: il nome del file di definizioneObservabilityPipeline.