Benachrichtigungskanäle für Benachrichtigungen konfigurieren

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 benutzerdefinierte ObservabilityPipeline-Ressourcen.
  • ObservabilityPipeline PA Editor (observabilitypipeline-pa-editor): Benutzerdefinierte ObservabilityPipeline-Ressourcen bearbeiten oder löschen.
  • ObservabilityPipeline PA Viewer (observabilitypipeline-pa-viewer): Zum Aufrufen benutzerdefinierter ObservabilityPipeline-Ressourcen.
  • ConfigMap-Editor (observabilitypipeline-configmap-editor): Erstellt ConfigMap-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 benutzerdefinierte ObservabilityPipeline-Ressourcen im Projekt-Namespace.
  • ObservabilityPipeline Viewer (observabilitypipeline-viewer): Zum Aufrufen von benutzerdefinierten ObservabilityPipeline-Ressourcen im Projekt-Namespace.

Benachrichtigungskanäle konfigurieren

Konfigurieren Sie Benachrichtigungskanäle für Benachrichtigungen in Ihrem Projekt-Namespace:

  1. 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:

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

  2. Erstellen Sie ein ConfigMap-Objekt und fügen Sie Ihre benutzerdefinierte Konfiguration aus der Datei alertmanager.yml in das Feld data ein.

    Das folgende Beispiel zeigt, wie das ConfigMap-Objekt mit der alertmanager.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 der ConfigMap-Definitionsdatei. Sie verwenden diesen Namen später in der benutzerdefinierten Ressource ObservabilityPipeline.
    • PROJECT_NAMESPACE: Ihr Projekt-Namespace.
  3. 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.yaml
    

    Ersetzen Sie Folgendes:

    • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server.
    • CONFIGMAP_NAME: der Name der ConfigMap-Definitionsdatei.
  4. Bearbeiten Sie die Spezifikation der benutzerdefinierten Ressource ObservabilityPipeline, um Ihre Konfiguration in das Feld alertmanagerConfig zu 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 Ressource ObservabilityPipeline.
    • CONFIGMAP_NAME: der Name, den Sie für die ConfigMap-Definitionsdatei verwendet haben. Der Name muss genau übereinstimmen.
  5. Speichern Sie die Datei.

  6. Wenden Sie die Änderungen der benutzerdefinierten Ressource ObservabilityPipeline auf den Management API-Server im selben Namespace wie Ihre konfigurierten Benachrichtigungen an:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Ersetzen Sie Folgendes:

    • KUBECONFIG_PATH: der Pfad zur kubeconfig-Datei für den Management API-Server.
    • OBSERVABILITY_PIPELINE_NAME: der Name der ObservabilityPipeline-Definitionsdatei.