Offene Warnungen abfragen und ansehen

Mit dem Benachrichtigungsmonitoring in Google Distributed Cloud (GDC) mit Air Gap können Sie aktive Benachrichtigungen in Ihrem Projekt verfolgen und Fehler beheben, nachdem Sie Benachrichtigungsregeln erstellt haben. Sie können den Schweregrad, die Dauer, den Status und die Labels von Benachrichtigungen in der GDC Console prüfen. Für Skripts, Cronjobs und benutzerdefinierte Integrationen können Sie den Cortex Alertmanager-HTTP-Endpunkt Ihres Projekts mit curl abfragen.

Hinweis

Bitten Sie den IAM-Projektadministrator, Ihnen eine der zugehörigen Project Cortex Alertmanager-Rollen in Ihrem Projekt-Namespace zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen und Visualisieren von Benachrichtigungen benötigen. Je nach erforderlicher Zugriffsebene und Berechtigungen können Sie für diese Ressource in einem Projekt die Rolle „Bearbeiter“ oder „Betrachter“ erhalten.

In der folgenden Tabelle sind die Role-Anforderungen für PA and AO persona zusammengefasst.

Persona Objekt Cluster Rolle Namespace Gruppe/Nutzer Konfiguration
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Gruppe 1
PA grafana org-admin project-cortex-alertmanager-viewer platform-obs Nutzer 2
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Gruppe 1
AO alertmanager org-admin project-cortex-alertmanager-viewer PROJECT_NAMESPACE Nutzer 2

Ersetzen Sie die folgenden Variablen entsprechend:

Variable Beschreibung
KUBECONFIG Sie benötigen die kubeconfig-Datei für den spezifischen Cluster, der die NAMESPACE enthält, auf die diese RoleBinding angewendet wird.
RULE_NAME Der eindeutige Name für diese RoleBinding-Ressource innerhalb des Namespace. Beispiel: pa-cortex-alertmanager-viewer.
NAMESPACE Der Kubernetes-Namespace, in dem diese RoleBinding erstellt und angewendet wird. Suchen Sie in der vorherigen Tabelle nach der Spalte Namespace.
EMAIL_ADDRESS Die Kennung für den Nutzer, dem die Rolle zugewiesen wird. Dies ist häufig eine E‑Mail-Adresse. Beispiel: infrastructure-operator@example.com.
ROLE Der Name der Role, die die Berechtigungen enthält, die Sie dem Nutzer gewähren möchten. Suchen Sie nach den Rollen, die in der vorherigen Tabelle verfügbar sind.
GROUP_NAME Der Name des Group, zu dem der PA/AO-Nutzer gehört. Beispiel: pa-group.
ZONE Name der Zone

Konfiguration 1

Mit dieser Konfiguration werden einer Nutzergruppe Berechtigungen für den Zugriff auf PA/AO-Benachrichtigungen im Cluster org gewährt. Nachdem Sie diese Konfiguration eingerichtet haben, finden Sie im Abschnitt Console dieses Dokuments Informationen dazu, wie Sie Benachrichtigungen in der GDC-Konsole aufrufen.

  • Kubectl-Befehl

    Dies ist das allgemeine Befehlsformat:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n `NAMESPACE` --group=`GROUP_NAME` --role=project-cortex-alertmanager-viewer
    

    Beispiel:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --group=my-team --namespace=platform-obs
    
  • IAC-Dateipfad

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`GROUP_NAME`/<YAML_FILE>
    
  • YAML-Datei

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: NAMESPACE
    subjects:
    - kind: Group
      name: GROUP_NAME
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

Konfiguration 2

Diese Konfiguration ist für die Persona PA und bezieht sich auf das Objekt grafana im Cluster org-admin. Sie weist einem User die Rolle project-cortex-alertmanager-viewer im Namespace platform-obs zu.

  • Kubectl-Befehl

    Dies ist das allgemeine Befehlsformat:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --user=`EMAIL_ADDRESS` --role=project-cortex-alertmanager-viewer
    

    Beispiel:

    kubectl --kubeconfig <path-to-kubeconfig> create rolebinding project-cortex-alertmanager-viewer-binding --role=project-cortex-alertmanager-viewer --user=my-email@example.com --namespace=platform-obs
    
  • IAC-Dateipfad

    /infrastructure/zonal/zones/`ZONE`/org-admin/rolebindings/`EMAIL_ADDRESS`/<YAML_FILE>
    
  • YAML-Datei

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: RULE_NAME
      namespace: platform-obs
    subjects:
    - kind: User
      name: EMAIL_ADDRESS
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: Role
      name: project-cortex-alertmanager-viewer
      apiGroup: rbac.authorization.k8s.io
    

    Weitere Informationen zu diesen Rollen finden Sie unter IAM-Berechtigungen vorbereiten.

Offene Benachrichtigungen ansehen und filtern

Wählen Sie eine der folgenden Methoden aus, um offene Benachrichtigungen aus Ihrem Projekt-Namespace abzufragen und zu filtern:

Console

So rufen Sie die offenen Benachrichtigungen in einem Projekt über die GDC Console auf:

  1. Melden Sie sich in der GDC-Konsole an.
  2. Wählen Sie in der GDC-Konsole Ihr Projekt aus.
  3. Wählen Sie im Navigationsmenü Vorgänge > Benachrichtigungen aus.
  4. Wählen Sie den Tab Benachrichtigungen aus.
  5. Rufen Sie die Liste der Benachrichtigungen auf.
  6. Klicken Sie im Bereich Geöffnete Benachrichtigungen auf Filter, um nur offene Benachrichtigungen anzuzeigen. Sie können Benachrichtigungen auch nach anderen Attributnamen oder ‑werten filtern.
  7. Klicken Sie auf den Namen einer Benachrichtigung, um die Details aufzurufen.

Cortex-Endpunkt

In diesem Abschnitt wird beschrieben, wie Sie über den Cortex Alertmanager-Endpunkt auf Benachrichtigungen zugreifen.

Cortex-Endpunkt identifizieren

Die folgende URL ist der Endpunkt der Cortex-Instanz Ihres Projekts:

  https://GDC_URL/PROJECT_NAMESPACE/cortex/alertmanager/

Ersetzen Sie Folgendes:

  • GDC_URL: die URL Ihrer Organisation in GDC.
  • PROJECT_NAMESPACE: Ihr Projekt-Namespace.

    Der Cortex-Endpunkt für das Projekt platform-obs in der Organisation org-1 lautet beispielsweise https://org-1/platform-obs/cortex/alertmanager/.

curl-Anfrage authentifizieren

  1. Laden Sie die gdcloud CLI herunter und installieren Sie sie.
  2. Legen Sie das gdcloud-Attribut core/organization_console_url fest:

    gdcloud config set core/organization_console_url
    https://GDC_URL
    
  3. Melden Sie sich mit dem konfigurierten Identitätsanbieter an:

    gdcloud auth login
    
  4. Verwenden Sie Ihren Nutzernamen und Ihr Passwort, um sich zu authentifizieren und anzumelden.

    Wenn die Anmeldung erfolgreich ist, können Sie den Autorisierungsheader in Ihrer curl-Anfrage über den Befehl gdcloud auth print-identity-token verwenden. Weitere Informationen finden Sie unter gdcloud auth.

Cortex-Endpunkt aufrufen

Führen Sie die folgenden Schritte aus, um den Cortex-Endpunkt mit dem curl-Tool zu erreichen:

  1. curl-Anfrage authentifizieren
  2. Verwenden Sie curl, um den Cortex-Endpunkt aufzurufen, und erweitern Sie die URL mithilfe der Standard-Alertmanager-API-Spezifikation (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers), um Benachrichtigungen abzufragen.

    Das folgende Beispiel zeigt eine curl-Anfrage:

      curl https://GDC_URL/PROJECT_NAME/cortex/alertmanager/api/v1/alertmanagers \
      -H "Authorization: Bearer $(gdcloud auth print-identity-token \
      --audiences=https://GDC_URL)"
    

    Sie erhalten die Ausgabe nach dem Befehl. Die API-Antwort ist im JSON-Format.