Offene Warnungen abfragen und ansehen

Auf dieser Seite finden Sie eine detaillierte Anleitung zum Abfragen und Visualisieren offener Benachrichtigungen mit der GDC-Konsole und dem curl-Tool für den Cortex-Endpunkt, um Probleme zu erkennen und zu beheben.

Nachdem Sie Benachrichtigungsregeln basierend auf Logs und Messwerten aus Google Distributed Cloud-Umgebungen (GDC) ohne Internetverbindung erstellt haben, können Sie mit der Überwachung offener Benachrichtigungen aus Ihrem Projekt beginnen. Sie können Warnungen, die durch Ihre Systemereignisse ausgelöst werden, in der GDC-Konsole visualisieren und filtern oder direkt über Cortex mit dem curl-Tool für flexibles Scripting und die Automatisierung darauf zugreifen.

Sie haben zwei Möglichkeiten, auf offene Benachrichtigungen zuzugreifen:

  • GDC-Konsole: Visualisieren Sie Benachrichtigungsdaten in integrierten Bereichen mit Informationen wie der Anzahl der Benachrichtigungen für eine bestimmte Datenquelle, dem Schweregrad, der Dauer, dem Status, der Nachricht und den Labels. Die GDC-Konsole bietet eine benutzerfreundliche Oberfläche zum Filtern und Analysieren von Benachrichtigungen von Ihren Systemkomponenten.
  • Cortex Alertmanager-Endpunkt: Für erweiterte Anwendungsfälle können Sie die Cortex-Instanz Ihres Projekts direkt über das curl-Tool in einer Befehlszeile abfragen. Cortex speichert die Alertmanager-Benachrichtigungen Ihres Projekts und bietet einen HTTP-Endpunkt für den programmatischen Zugriff. Mit diesem Zugriff können Sie Daten exportieren, Aufgaben automatisieren, Cron-Jobs konfigurieren und benutzerdefinierte Integrationen erstellen.

Hinweise

Bitten Sie Ihren Projekt-IAM-Administrator, 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 den erforderlichen Berechtigungen können Sie für diese Ressource in einem Projekt Editor- oder Betrachterrollen erhalten.

In der folgenden Tabelle sind die Role-Anforderungen für PA 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

Ersetzen Sie die folgenden Variablen entsprechend:

Variable Beschreibung
KUBECONFIG Sie benötigen die kubeconfig für den jeweiligen Cluster, der den NAMESPACE enthält, auf den dieses RoleBinding angewendet wird.
RULE_NAME Der eindeutige Name für diese RoleBinding-Ressource innerhalb des Namespace. Beispiel: io-root-cortex-prometheus-viewer.
NAMESPACE Der Kubernetes-Namespace, in dem dieses RoleBinding erstellt und angewendet wird. Suchen Sie in der vorherigen Tabelle nach der Spalte Namespace.
EMAIL_ADDRESS Die Kennung des Nutzers, dem die Rolle zugewiesen wird. Das ist oft 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. Nach den in der vorherigen Tabelle verfügbaren Rollen suchen
GROUP_NAME Der Name der Role, die die Berechtigungen enthält, die Sie dem Nutzer gewähren möchten. Beispiel: io-group.
ZONE Name der Zone

Konfiguration 1

Diese Konfiguration ist für die Persona PA und zielt auf das Objekt grafana im Cluster org-admin ab. Sie gewährt einem Group die Rolle project-cortex-alertmanager-viewer im Namespace platform-obs.

  • Kubectl-Befehl

    So sieht das generische Befehlsformat aus:

    kubectl --kubeconfig `KUBECONFIG` create rolebinding `RULE_NAME` -n platform-obs --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: platform-obs
    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 zielt auf das Objekt grafana im Cluster org-admin ab. Sie gewährt einem User die Rolle project-cortex-alertmanager-viewer im Namespace platform-obs.

  • Kubectl-Befehl

    So sieht das generische Befehlsformat aus:

    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 in der GDC Console auf:

  1. Melden Sie sich in der GDC-Konsole an.
  2. Wählen Sie in der GDC Console 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 Abschnitt Geöffnete Benachrichtigungen auf Filtern, um nur offene Benachrichtigungen anzeigen zu lassen. Sie können Benachrichtigungen auch nach anderen Property-Namen oder ‑Werten filtern.
  7. Klicken Sie auf den Namen einer Benachrichtigung, um die Benachrichtigungsdetails aufzurufen.

Cortex-Endpunkt

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

Cortex-Endpunkt ermitteln

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 ist beispielsweise https://org-1/platform-obs/cortex/alertmanager/.

curl-Anfrage authentifizieren

  1. Laden Sie die gcloud 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. Mit dem konfigurierten Identitätsanbieter anmelden:

    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 Tool curl zu erreichen:

  1. Authentifizieren Sie die curl-Anfrage.
  2. Verwenden Sie curl, um den Cortex-Endpunkt aufzurufen und die URL mit der standardmäßigen Alertmanager API-Spezifikation (https://prometheus.io/docs/prometheus/latest/querying/api/#alertmanagers) zu erweitern, 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 hat das JSON-Format.