Google Distributed Cloud (GDC) avec isolation physique vous permet de configurer des canaux de notification personnalisés pour acheminer les alertes déclenchées vers des personnes, des équipes ou des rotations d'astreinte spécifiques. L'envoi d'alertes via des canaux tels que PagerDuty, les SMS, les webhooks ou les intégrations personnalisées permet de réduire la fatigue liée aux alertes et de répondre aux incidents en temps opportun.
Étant donné que les canaux de notification prédéfinis tels que Slack ou les e-mails ne sont pas disponibles dans GDC, vous devez configurer au moins un canal personnalisé pour recevoir des alertes. Vous définissez le type de canal, le point de terminaison de destination et les identifiants d'authentification dans un objet Alertmanager ConfigMap. Vous importez ensuite cette configuration dans une ressource personnalisée ObservabilityPipeline de l'espace de noms de votre projet.
Avant de commencer
Pour gérer les ressources personnalisées ObservabilityPipeline, vous devez disposer des autorisations nécessaires.
Demander des rôles IAM au niveau de l'organisation
Contactez l'administrateur de l'organisation IAM pour demander les rôles suivants :
- Créateur de PA ObservabilityPipeline (
observabilitypipeline-pa-creator) : permet de créer des ressources personnaliséesObservabilityPipeline. - Éditeur de PA ObservabilityPipeline (
observabilitypipeline-pa-editor) : modifier les ressources personnaliséesObservabilityPipeline. - Lecteur d'AP ObservabilityPipeline (
observabilitypipeline-pa-viewer) : permet d'afficher les ressources personnaliséesObservabilityPipeline. - Éditeur de ConfigMap (
observabilitypipeline-configmap-editor) : crée des objetsConfigMapdans l'espace de noms de la plate-forme.
Demander des rôles IAM au niveau du projet
Contactez l'administrateur de projet IAM pour demander les rôles suivants :
- Éditeur ObservabilityPipeline (
observabilitypipeline-editor) : modifier les ressources personnaliséesObservabilityPipelinedans l'espace de noms du projet. - Lecteur ObservabilityPipeline (
observabilitypipeline-viewer) : permet d'afficher les ressources personnaliséesObservabilityPipelinedans l'espace de noms du projet.
Configurer des canaux de notification
Configurez des canaux de notification pour les alertes dans l'espace de noms de votre projet :
Définissez votre configuration personnalisée pour les canaux de notification dans un fichier YAML nommé
alertmanager.yml. Vous devez suivre la même syntaxe que la spécification Alertmanager :Créez un objet
ConfigMapet incluez votre configuration personnalisée du fichieralertmanager.ymldans le champdata.L'exemple suivant montre à quoi doit ressembler l'objet
ConfigMapavec le fichieralertmanager.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 # [...]Remplacez les éléments suivants :
CONFIGMAP_NAME: nom du fichier de définitionConfigMap. Vous utiliserez ce nom ultérieurement dans la ressource personnaliséeObservabilityPipeline.PROJECT_NAMESPACE: espace de noms de votre projet.
Appliquez l'objet
ConfigMapau serveur d'API Management dans le même espace de noms que vos alertes configurées :kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yamlRemplacez les éléments suivants :
KUBECONFIG_PATH: chemin d'accès au fichier kubeconfig du serveur d'API Management.CONFIGMAP_NAME: nom du fichier de définitionConfigMap.
Modifiez la spécification de ressource personnalisée
ObservabilityPipelinepour importer votre configuration dans le champalertmanagerConfig:# 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 # [...]Remplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.OBSERVABILITY_PIPELINE_NAME: nom de la ressource personnaliséeObservabilityPipeline.CONFIGMAP_NAME: nom que vous avez utilisé pour le fichier de définitionConfigMap. Le nom doit correspondre exactement.
Enregistrez le fichier.
Appliquez les modifications de la ressource personnalisée
ObservabilityPipelineau serveur d'API Management dans le même espace de noms que vos alertes configurées :kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yamlRemplacez les éléments suivants :
KUBECONFIG_PATH: chemin d'accès au fichier kubeconfig du serveur d'API Management.OBSERVABILITY_PIPELINE_NAME: nom du fichier de définitionObservabilityPipeline.