Google Cloud Observability für das Anwendungsmonitoring einrichten

Wenn Sie eine App Hub-Anwendung bereitstellen, sendet diese Anwendung möglicherweise Telemetriedaten an mehrere Google Cloud Projekte. Wenn Sie alle Telemetriedaten, die von Ihrer Anwendung generiert werden, über eine einzige Schnittstelle aufrufen möchten, z. B. über die Dashboards, die Application Monitoring bietet, müssen Sie Google Cloud Observability konfigurieren. In diesem Dokument wird die erforderliche Konfiguration beschrieben.

Dieses Dokument gilt, wenn Sie Ihre Anwendung bereitstellen und sie dann bei App Hub registrieren oder wenn Sie Ihre Anwendungen mit dem Application Design Center bereitstellen.

Zusätzlich zur Konfiguration von Google Cloud Observability können Sie Folgendes tun:

  1. Fügen Sie Ihren Benachrichtigungsrichtlinien anwendungsspezifische Labels hinzu. Wenn Sie diese Labels hinzufügen, werden Vorfälle, die mit Ihrer Anwendung verknüpft sind, auf den Application Monitoring-Dashboards angezeigt. Weitere Informationen zu diesem Schritt finden Sie im Abschnitt Benachrichtigungsrichtlinie mit einer App Hub-Anwendung verknüpfen in diesem Dokument.

  2. Wenn Sie Arbeitslasten in Google Kubernetes Engine bereitstellen und die Golden Signals für Traffic, Latenz und Fehlerrate auf Ihren Application Monitoring-Dashboards angezeigt werden sollen, instrumentieren Sie Ihre Anwendung mit OpenTelemetry. Weitere Informationen finden Sie unter Für Application Monitoring instrumentieren.

Hinweis

  • Bestimmen Sie das Projekt, dessen Beobachtbarkeitsbereich Sie konfigurieren möchten. Dieses Projekt ist eines der folgenden:

    • Ein App Hub-Hostprojekt.
    • Ein App Hub-Verwaltungsprojekt für Ihre Einzelprojektgrenze.
    • Ein App Hub-Verwaltungsprojekt für Ihren für Apps aktivierten Ordner.

    Wenn in diesem Dokument der Typ des Verwaltungsprojekts nicht angegeben ist, gilt die Konfigurationsaufgabe für alle Verwaltungsprojekte.

  • Sie benötigen die erforderlichen IAM-Rollen (Identity and Access Management), um den Beobachtbarkeitsbereich zu konfigurieren. Die erforderlichen IAM Rollen hängen davon ab, ob Sie eine aggregierte Senkeerstellen möchten, mit der Sie die Speicherung von Logdaten zentralisieren können.

    Senke und Bereiche konfigurieren

    Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Organisationsadministrator“ (roles/resourcemanager.organizationAdmin) für Ihre Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Beobachtbarkeitsbereichen und zum Erstellen einer aggregierten Logsenke benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Nur Bereiche konfigurieren

    Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren des Beobachtbarkeitsbereichs benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Beobachtbarkeitsbereich konfigurieren

Mit dem Beobachtbarkeitsbereich wird gesteuert, wie auf den Explorer- und Dashboard-Seiten nach den anzuzeigenden Daten gesucht wird. Jedes Google Cloud Projekt enthält einen einzelnen Beobachtbarkeitsbereich. Sie konfigurieren den Beobachtbarkeitsbereich eines Projekts nicht direkt. Stattdessen konfigurieren Sie für Ihr Projekt Folgendes:

  • Der Standard-Logbereich

    Konfigurieren Sie diesen Bereich so, dass die Logdaten Ihrer Anwendung angezeigt werden, wenn Sie die Seite Log-Explorer öffnen oder Dashboards aufrufen. In diesem Bereich müssen die Projekte und Logansichten aufgeführt sein, in denen die Logdaten Ihrer Anwendung gespeichert sind.

  • Der Messwertbereich

    Konfigurieren Sie diesen Bereich so, dass in Ihren Diagrammen, z. B. in denen, die Sie auf der Seite Metrics Explorer erstellen, und in Benachrichtigungsrichtlinien die Messwertdaten Ihrer Anwendung angezeigt oder überwacht werden können. In diesem Bereich müssen die Projekte aufgeführt sein, in denen die Messwertdaten Ihrer Anwendung gespeichert sind.

  • Der Standard-Tracebereich

    Konfigurieren Sie diesen Bereich so, dass die Tracedaten Ihrer Anwendung angezeigt werden, wenn Sie die Seite Trace-Explorer öffnen. In diesem Bereich müssen die Projekte aufgeführt sein, in denen die Tracedaten Ihrer Anwendung gespeichert sind.

Im Rest dieses Abschnitts finden Sie eine Anleitung zum Konfigurieren dieser Bereiche.

Standard-Logbereich konfigurieren und festlegen

Führen Sie einen der folgenden Schritte aus:

  • Wenn Sie eine aggregierte Senke auf Organisationsebene haben, die alle Logdaten in Ihrer Organisation an einen zentralen Log-Bucket weiterleitet, empfehlen wir Folgendes:

    1. Erstellen Sie eine Logansicht für Ihre Anwendungslogs im zentralen Log-Bucket.

    2. Erstellen Sie in Ihrem App Hub-Hostprojekt oder ‑Verwaltungsprojekt einen Logbereich , fügen Sie Ihre Logansicht hinzu und legen Sie diesen Bereich als Standard-Logbereich fest.

  • Wenn Sie einen für Apps aktivierten Ordner verwenden und keine aggregierte Senke auf Organisationsebene oder verschachtelte Ordner haben, empfehlen wir Folgendes:

    1. Erstellen Sie eine abfangende aggregierte Senke für Ihren für Apps aktivierten Ordner, und leiten Sie diese Logs an den _Default Log-Bucket des Verwaltungsprojekts für Ihren für Apps aktivierten Ordner weiter.

    2. Achten Sie darauf, dass im Verwaltungsprojekt für Ihren für Apps aktivierten Ordner, der Logbereich mit dem Namen _Default als Standard-Logbereich festgelegt ist. Im Bereich mit dem Namen _Default ist die Ansicht _AllLogs für den Log-Bucket _Default des Projekts aufgeführt. Dies ist der zentrale Speicherort für Ihre Anwendung.

  • Wenn Sie keine aggregierte Senke verwenden, konfigurieren Sie für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt den Standard-Logbereich so, dass die Speicherorte der Logdaten Ihrer Anwendung aufgeführt werden. Wir empfehlen, Logansichten für die Log-Buckets hinzuzufügen, in denen Ihre Logdaten gespeichert sind.

Angenommen, Sie haben einen für Apps aktivierten Ordner konfiguriert und verwenden keine aggregierte Senke. Dann können Sie Folgendes tun:

  1. Erstellen Sie im Verwaltungsprojekt für Ihren für Apps aktivierten Ordner einen Logbereich.
  2. Fügen Sie dem Logbereich eine Logansicht für jedes Projekt in Ihrem Ordner hinzu, einschließlich des Verwaltungsprojekts.

    Die hinzugefügte Ansicht ist die Ansicht _AllLogs für den Log-Bucket _Default des Projekts. Diese Ansicht enthält alle Logs im Log-Bucket _Default. Im Log-Bucket _Default werden die Anwendungslogdaten gespeichert.

    Nachdem Sie diesen Schritt abgeschlossen haben, kann der Logbereich Einträge wie die folgenden enthalten:

    _Default/_AllLogs     my-folder-mp
    _Default/_AllLogs     project-in-my-folder
    _Default/_AllLogs     another-project-in-my-folder
    
  3. Speichern Sie den Logbereich und legen Sie ihn als Standard-Logbereich fest.

Messwertbereich konfigurieren

Achten Sie darauf, dass im Messwertbereich für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt alle Projekte aufgeführt sind, in denen die Messwertdaten Ihrer Anwendung gespeichert sind:

  • Für für Apps aktivierte Ordner versucht Google Cloud Observability, die Liste der Projekte in Ihrem für Apps aktivierten Ordner mit der Liste der Projekte im Messwertbereich zu synchronisieren. Wenn Sie beispielsweise ein Projekt zum für Apps aktivierten Ordner hinzufügen, wird ein Befehl ausgegeben, um dieses Projekt dem Messwertbereich hinzuzufügen.

    Wenn die Anzahl der Projekte in Ihrem für Apps aktivierten Ordner das Kontingent für den Messwertbereich nicht überschreitet (standardmäßig 375 Projekte pro Messwertbereich), kann Google Cloud Observability die Liste der Projekte im Messwertbereich mit der Liste der Projekte in Ihrem für Apps aktivierten Ordner synchronisieren. Angenommen, das Kontingent beträgt 375 Projekte pro Messwertbereich. Wenn Ihr für Apps aktivierter Ordner 100 Projekte enthält, werden im Messwertbereich alle Projekte in Ihrem für Apps aktivierten Ordner aufgeführt. Wenn Sie Ihrem für Apps aktivierten Ordner Projekte hinzufügen, werden sie auch dem Messwertbereich hinzugefügt.

    Wenn die Anzahl der Projekte in Ihrem für Apps aktivierten Ordner das Kontingent für den Messwertbereich überschreitet, sind nicht alle Projekte in Ihrem für Apps aktivierten Ordner in der Liste der Projekte im Messwertbereich enthalten. Angenommen, das Kontingent beträgt 375 Projekte pro Messwertbereich und Ihr für Apps aktivierter Ordner enthält 380 Projekte. Nachdem 375 Projekte dem Messwertbereich hinzugefügt wurden, ist das Kontingent erschöpft und die Versuche, die restlichen 5 Projekte hinzuzufügen, schlagen fehl. Daher sind einige Anwendungsdaten für das Verwaltungsprojekt für Ihren für Apps aktivierten Ordner nicht verfügbar.

    Wir empfehlen, die Nutzung des Kontingents für den Messwertbereich zu prüfen und zu entscheiden, ob Sie eine Kontingentaktualisierung anfordern oder den Messwertbereich manuell ändern müssen. Informationen zu diesen Schritten finden Sie unter Messwertbereiche für für Apps aktivierte Ordner.

  • Für App Hub-Hostprojekte und für Verwaltungsprojekte für Einzelprojektgrenzen müssen Sie den Messwertbereich konfigurieren.

    Wenn Sie die Gruppe der Projekte ändern, in denen Ihre Messwertdaten gespeichert sind, müssen Sie auch den Messwertbereich Ihres Hostprojekts aktualisieren.

Standard-Tracebereich konfigurieren und festlegen

Gehen Sie dazu so vor:

  1. Für jedes Projekt, in dem die Tracedaten Ihrer Anwendung gespeichert werden, empfehlen wir, die Observability API zu aktivieren:

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Informationen zum Zuweisen von Rollen.

    API aktivieren

  2. Erstellen Sie in Ihrem App Hub-Hostprojekt oder ‑Verwaltungsprojekt einen Tracebereich und fügen Sie Projekte hinzu, in denen die Tracedaten Ihrer Anwendung gespeichert sind. Wenn Sie einen für Apps aktivierten Ordner verwenden, fügen Sie die Projekte in diesem Ordner hinzu.

  3. Legen Sie Ihren benutzerdefinierten Tracebereich als den Standard-Tracebereich fest.

    Auf der Topologiekarte können nur Tracedaten aus Projekten in derselben Organisation wie Ihr Hostprojekt oder Ihr Verwaltungsprojekt angezeigt werden.

Benachrichtigungsrichtlinie mit einer App Hub-Anwendung verknüpfen

Wenn Sie Ihre Benachrichtigungsrichtlinien im Kontext von Application Monitoring aufrufen möchten, müssen Sie sie mit einem Dienst oder einer Arbeitslast verknüpfen, indem Sie der Benachrichtigungsrichtlinie anwendungsspezifische Labels hinzufügen. Diese benutzerdefinierten Labels sind auch in allen Vorfällen enthalten, die für eine Richtlinie erstellt wurden. Weitere Informationen zu Labels finden Sie unter Vorfälle mit Labels versehen. Eine Liste der App Hub-Labels finden Sie unter Anwendungstelemetriedaten ansehen.

So verknüpfen Sie eine Benachrichtigungsrichtlinie mit einer Arbeitslast oder einem Dienst über die Console Google Cloud :

  1. Rufen Sie in der Google Cloud Console die  Benachrichtigungen Seite auf:

    Zu Benachrichtigungen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Wählen Sie in der Symbolleiste der Google Cloud Console Ihr App Hub Hostprojekt oder Verwaltungsprojekt aus.
  3. Suchen Sie die Benachrichtigungsrichtlinie, klicken Sie auf Mehr ansehen, wählen Sie Bearbeiten aus. Rufen Sie dann den Abschnitt Benachrichtigungen und Name auf.
  4. Wählen Sie im Abschnitt Anwendungs-Labels Ihre Anwendung und dann Ihren Dienst oder Ihre Arbeitslast aus:

    Auf der Seite „Benachrichtigungsrichtlinie“ wird gezeigt, wie eine Benachrichtigungsrichtlinie mit App Hub-Labels verknüpft wird.

  5. Klicken Sie auf Richtlinie speichern.

Nachdem Sie diese Schritte ausgeführt haben, werden Ihrer Benachrichtigungsrichtlinie Labels mit den folgenden Schlüsseln angehängt. Diese Labels identifizieren Ihre Anwendung und Ihren Dienst oder Ihre Arbeitslast:

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id oder apphub_workload_id

Sie können einer Benachrichtigungsrichtlinie auch Nutzerlabels hinzufügen. Verwenden Sie dazu die Google Cloud CLI, Terraform oder die Cloud Monitoring API. Sie müssen jedoch die im vorherigen Beispiel gezeigten Labelschlüssel verwenden. Weitere Informationen finden Sie unter:

Zugriff gewähren

IAM verwaltet den Zugriff auf Ihre Log-, Messwert- und Tracedaten. In diesem Abschnitt werden Rollen zusammengefasst, die Sie Principals zuweisen können:

  • Logs View Accessor (roles/logging.viewAccessor) für die Logansichten, die im Standard- Logbereich Ihres App Hub-Hostprojekts oder ‑Verwaltungsprojekts aufgeführt sind. Weitere Informationen zum Gewähren des Zugriffs auf eine Logansicht finden Sie unter Zugriff auf eine Logansicht steuern.

  • Loganzeige (roles/logging.viewer) für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt und für alle anderen Projekte, die im Standard-Logbereich aufgeführt sind. Diese Rolle gewährt Zugriff auf die meisten Logeinträge im Log-Bucket _Default. Weitere Informationen finden Sie unter Logging-Rollen.

  • Monitoring Editor role (roles/monitoring.editor) für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt. Für Principals, die keine Benachrichtigungsrichtlinien erstellen müssen, können Sie die Rolle Monitoring-Betrachter (roles/monitoring.viewer) zuweisen.

  • Cloud Trace-Nutzer (roles/cloudtrace.user) für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt und für die Projekte, die im Standard-Tracebereich aufgeführt sind.

  • App Hub-Betrachter (roles/apphub.view) für Ihr App Hub-Hostprojekt oder ‑Verwaltungsprojekt.

Nächste Schritte