Mit der Google Distributed Cloud (GDC) Air-Gapped-Appliance können Sie benutzerdefinierte Benachrichtigungskanäle konfigurieren, um ausgelöste Benachrichtigungen an bestimmte Personen, Teams oder Bereitschaftsdienste weiterzuleiten. Wenn Sie Benachrichtigungen über Kanäle wie PagerDuty, SMS, Webhooks oder benutzerdefinierte Integrationen senden, können Sie die Benachrichtigungsmüdigkeit reduzieren und eine zeitnahe Incident Response unterstützen.
Da vordefinierte Benachrichtigungskanäle wie Slack oder E-Mail in GDC nicht verfügbar sind, müssen Sie mindestens einen benutzerdefinierten Kanal konfigurieren, um Benachrichtigungen zu erhalten. Sie definieren den Kanaltyp, den Zielendpunkt und die Authentifizierungsdaten in einem Alertmanager-ConfigMap-Objekt. Anschließend importieren Sie diese Konfiguration in eine benutzerdefinierte ObservabilityPipeline-Ressource in Ihrem Projekt-Namespace.
Hinweis
Zum Verwalten von benutzerdefinierten ObservabilityPipeline-Ressourcen benötigen Sie die erforderlichen Berechtigungen.
IAM-Organisationsrollen anfordern
Wenden Sie sich an den IAM-Administrator Ihrer Organisation, um die folgenden Rollen anzufordern:
- ObservabilityPipeline PA Creator (
observabilitypipeline-pa-creator): Erstellt benutzerdefinierteObservabilityPipeline-Ressourcen. - ObservabilityPipeline PA Editor (
observabilitypipeline-pa-editor): BenutzerdefinierteObservabilityPipeline-Ressourcen bearbeiten oder löschen. - ObservabilityPipeline PA Viewer (
observabilitypipeline-pa-viewer): Zum Aufrufen benutzerdefinierterObservabilityPipeline-Ressourcen. - ConfigMap-Editor (
observabilitypipeline-configmap-editor): ErstelltConfigMap-Objekte im Plattform-Namespace.
IAM-Projektrollen anfordern
Wenden Sie sich an den IAM-Administrator Ihres Projekts, um die folgenden Rollen anzufordern:
- ObservabilityPipeline-Bearbeiter (
observabilitypipeline-editor): Bearbeiten oder löschen Sie benutzerdefinierteObservabilityPipeline-Ressourcen im Projekt-Namespace. - ObservabilityPipeline Viewer (
observabilitypipeline-viewer): Zum Aufrufen von benutzerdefiniertenObservabilityPipeline-Ressourcen im Projekt-Namespace.
Benachrichtigungskanäle konfigurieren
Konfigurieren Sie Benachrichtigungskanäle für Benachrichtigungen in Ihrem Projekt-Namespace:
Definieren Sie Ihre benutzerdefinierte Konfiguration für Benachrichtigungskanäle in einer YAML-Datei mit dem Namen
alertmanager.yml. Sie müssen dieselbe Syntax wie in der Alertmanager-Spezifikation verwenden:Erstellen Sie ein
ConfigMap-Objekt und fügen Sie Ihre benutzerdefinierte Konfiguration aus der Dateialertmanager.ymlin das Felddataein.Das folgende Beispiel zeigt, wie das
ConfigMap-Objekt mit deralertmanager.yml-Datei aussehen muss: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 [...]Ersetzen Sie Folgendes:
CONFIGMAP_NAME: der Name derConfigMap-Definitionsdatei. Sie verwenden diesen Namen später in der benutzerdefinierten RessourceObservabilityPipeline.PROJECT_NAMESPACE: Ihr Projekt-Namespace.
Wenden Sie das
ConfigMap-Objekt auf den Management API-Server im selben Namespace wie Ihre konfigurierten Benachrichtigungen an:kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yamlErsetzen Sie Folgendes:
KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server.CONFIGMAP_NAME: der Name derConfigMap-Definitionsdatei.
Bearbeiten Sie die Spezifikation der benutzerdefinierten Ressource
ObservabilityPipeline, um Ihre Konfiguration in das FeldalertmanagerConfigzu importieren:# 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 [...]Ersetzen Sie Folgendes:
PROJECT_NAMESPACE: Ihr Projekt-Namespace.OBSERVABILITY_PIPELINE_NAME: der Name der benutzerdefinierten RessourceObservabilityPipeline.CONFIGMAP_NAME: der Name, den Sie für dieConfigMap-Definitionsdatei verwendet haben. Der Name muss genau übereinstimmen.
Speichern Sie die Datei.
Wenden Sie die Änderungen der benutzerdefinierten Ressource
ObservabilityPipelineauf den Management API-Server im selben Namespace wie Ihre konfigurierten Benachrichtigungen an:kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yamlErsetzen Sie Folgendes:
KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server.OBSERVABILITY_PIPELINE_NAME: der Name derObservabilityPipeline-Definitionsdatei.