SQL-Abfragen speichern und freigeben

In diesem Dokument wird beschrieben, wie Sie Abfragen speichern und freigeben, die Sie in Observability Analytics erstellen.

In diesem Dokument wird davon ausgegangen, dass Sie mit Observability Analytics vertraut sind und wissen, wie Sie auf der Seite Observability Analytics Ihre Logdaten abfragen. Wenn Sie mit diesen Themen nicht vertraut sind, lesen Sie den Hilfeartikel Logs abfragen und analysieren.

Informationen zum Erstellen von Diagrammen aus Ihren Abfrageergebnissen und zum Speichern dieser Diagramme in einem benutzerdefinierten Dashboard finden Sie unter SQL-SQL-Abfrage darstellen.

Unterschiede zwischen gespeicherten Abfragen und Analyseansichten

Eine gespeicherte Abfrage ist eine Abfrage, die Sie auf der Seite Observability Analytics ausführen und dann als Abfrage speichern. Durch das Speichern können Sie diese Abfrage jederzeit wieder ausführen. Wenn Sie die Abfrage speichern, können Sie sie entweder privat halten oder für andere Nutzer sichtbar machen, die die erforderlichen Berechtigungen zur Verwendung von Observability Analytics haben. Sie können keine SQL-Abfrage schreiben, in der die FROM-Klausel eine gespeicherte Abfrage angibt.

Eine Analyseansicht enthält eine Abfrage, die Sie jederzeit wieder ausführen können. Sie erstellen eine Analyseansicht, indem Sie eine SQL-Abfrage für eine Logansicht schreiben und das Ergebnis dann als Ansicht speichern. Im Gegensatz zu gespeicherten Abfragen können Sie eine Analyseansicht nicht privat halten. Sie können eine Analyseansicht abfragen. So können Sie Ihre Logdaten vom Format LogEntry in ein anderes Format umwandeln, das besser zu Ihnen passt. Anstatt Ihre Abfragen für eine Logansicht zu schreiben, fragen Sie dann die Analyseansicht ab.

Sie können Abfragen speichern, die eine Logansicht oder eine Analyseansicht abfragen.

Hinweis

In diesem Abschnitt werden die Schritte beschrieben, die Sie ausführen müssen, bevor Sie Observability Analytics verwenden können.

Log-Buckets konfigurieren

Prüfen Sie, ob für Ihre Log-Buckets ein Upgrade zur Verwendung von Observability Analytics durchgeführt wurde:

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

    Zum Logspeicher

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Prüfen Sie für Log-Buckets mit einer Logansicht, die Sie abfragen möchten, ob in der Spalte "Observability Analytics verfügbar" die Option Öffnen angezeigt wird. Wenn Upgrade angezeigt wird, klicken Sie auf Upgrade und schließen Sie das Dialogfeld.

IAM-Rollen und ‑Berechtigungen konfigurieren

In diesem Abschnitt werden die IAM-Rollen oder -Berechtigungen beschrieben, die für die Verwendung von Observability Analytics erforderlich sind:

  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung von Observability Analytics und zum Abfragen von Logansichten benötigen:

    • So fragen Sie die _Required und _Default Log-Buckets ab: Loganzeige (roles/logging.viewer)
    • So fragen Sie alle Logansichten in einem Projekt ab: Logs View Accessor (roles/logging.viewAccessor)

    Sie können einen Prinzipal auf eine bestimmte Logansicht beschränken, indem Sie entweder eine IAM-Bedingung für die auf Projektebene erteilte Rolle „Logs View Accessor“ hinzufügen oder eine IAM-Bindung zur Richtliniendatei der Logansicht hinzufügen. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

    Dies sind dieselben Berechtigungen, die Sie benötigen, um Logeinträge auf der Seite Log-Explorer aufzurufen. Informationen zu zusätzlichen Rollen, die Sie zum Abfragen von Ansichten in benutzerdefinierten Buckets oder zum Abfragen der Ansicht _AllLogs des Log-Buckets _Default benötigen, finden Sie unter Cloud Logging roles.

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Observability Analytics User (roles/observability.analyticsUser) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Abfragen von Analyseansichten benötigen.

Oberfläche auswählen

Console

Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

gcloud

Aktivieren Sie Cloud Shell in der Google Cloud Console.

Cloud Shell aktivieren

Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Befehlszeilenaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

REST

Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

    Installieren Sie die Google Cloud CLI.

    Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.

Abfrage speichern

Alle Abfragen, die Sie ausführen, werden automatisch 30 Tage lang gespeichert und sind auf der Seite Observability Analytics auf dem Tab Letzte verfügbar. Sie können die Abfragen auf dem Tab Letzte suchen, ansehen, ausführen und freigeben.

Wenn Sie eine Abfrage wiederverwenden, benutzerdefinierte Beschreibungen hinzufügen oder sie für Teammitglieder freigeben möchten, speichern Sie die Abfrage. Sie können Ihre gespeicherten Abfragen nach Name, Beschreibung und Sichtbarkeitslabel suchen und sortieren. Außerdem können Sie diese Abfragen bearbeiten und löschen. Gespeicherte Abfragen werden so lange aufbewahrt, bis Sie sie löschen.

Sie können pro Google Cloud Projekt 10.000 Abfragen speichern.

Console

So speichern Sie eine Abfrage:

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf.

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Füllen Sie den Bereich Abfrage mit einer Abfrage.

    Sie können den Bereich Abfrage füllen, indem Sie eine neue Abfrage eingeben, eine Abfrage auf dem Tab Letzte oder eine Abfrage auf dem Tab Gespeichert auswählen.

    Ihre Abfrage kann eine beliebige gültige Ansicht, mehrere Ansichten und Analyseansichten enthalten.

    Wenn die Abfrage im Bereich Abfrage gültig ist, ist die Schaltfläche Speichern aktiviert.

  3. Klicken Sie auf Speichern, wählen Sie Abfrage speichern, und füllen Sie die Felder Name und Beschreibung aus. Die für diese Felder festgelegten Werte werden auf dem Tab Gespeichert angezeigt.

  4. Optional: Wenn alle Nutzer mit Zugriff auf die Observability Analytics Seite für das Google Cloud Projekt Ihre gespeicherte Abfrage ansehen und ausführen können sollen, aktivieren Sie die Option Für Projekt freigeben.

    Diese Option ist standardmäßig deaktiviert und die Sichtbarkeit ist auf Sie beschränkt.

  5. Klicken Sie auf Abfrage speichern.

  6. Optional: Wenn Sie gespeicherte Abfragen ansehen, sortieren und ausführen möchten, die für Sie sichtbar sind, wählen Sie den Tab Gespeichert aus.

    Sie können Ihre gespeicherten Abfragen nach Name, Beschreibung und Sichtbarkeitslabel sortieren und filtern. Außerdem können Sie nach dem Inhalt der Abfrage filtern.

Sie können Abfragen, die Sie mit den Optionen auf dem Tab Gespeichert erstellt haben, bearbeiten und löschen:

  • Wenn Sie eine Abfrage bearbeiten möchten, klicken Sie auf Mehr Optionen und wählen Sie Bearbeiten aus. Sie können die Werte für die Felder Name und Beschreibung ändern. Die Abfrage selbst kann jedoch nicht geändert werden.

  • Wenn Sie eine gespeicherte Abfrage löschen möchten, klicken Sie auf Mehr Optionen und wählen Sie Löschen aus.

gcloud

So erstellen und speichern Sie eine Abfrage:

  1. Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

    • DISPLAY_NAME: Der Anzeigename der gespeicherten Abfrage.
    • LOCATION: Der Standort für die gespeicherte Abfrage.
    • VISIBILITY: Legen Sie private oder shared fest.
    • SQL_QUERY: Eine SQL-Abfrage. Wenn einzelne Backticks (`) den Pfad oder die Felder im Pfad umschließen, müssen Sie diese Backticks mit einem Escapezeichen versehen:
          "SELECT * FROM \`PROJECT_ID.LOCATION.my-log-bucket._AllLogs\`"
          

      oder

          "SELECT * FROM \`PROJECT_ID.LOCATION._Trace.Spans._AllSpans\`"
          

      Backticks (`) sind erforderlich, wenn ein Pfadelement einen Punkt (.) enthält.

    • ID: Die ID der gespeicherten Abfrage. Diese ID ist eine erforderliche Eingabe für Befehle mit denen eine gespeicherte Abfrage beschrieben, aktualisiert oder gelöscht wird. Wenn Sie beim Erstellen einer gespeicherten Abfrage keine ID angeben, generiert das System eine numerische ID.
    • DESCRIPTION: Eine Textbeschreibung der Abfrage. Optional.
    • PROJECT_ID: Die Kennung des Projekts.

    Führen Sie den gcloud logging saved-queries create Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud logging saved-queries create --display-name=DISPLAY_NAME \
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY \
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    Windows (PowerShell)

    gcloud logging saved-queries create --display-name=DISPLAY_NAME `
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY `
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud logging saved-queries create --display-name=DISPLAY_NAME ^
     --location=LOCATION --visibility=VISIBILITY --sql-query-text=SQL_QUERY ^
     --id=ID --description=DESCRIPTION --project=PROJECT_ID

    Hier sehen Sie ein Beispiel für eine Antwort, wenn die im Befehl angegebene ID my-saved-query war:

    Created saved query [projects/PROJECT_ID/locations/LOCATION/savedQueries/my-saved-query].
    

    Die Antwort auf den Befehl create enthält den vollständigen Namen der Abfrage, einschließlich der ID der Abfrage. Die Abfrage-ID, die in diesem Beispiel my-saved-query ist, ist eine erforderliche Eingabe für Google Cloud CLI-Befehle, mit denen eine gespeicherte Abfrage beschrieben, gelöscht oder aktualisiert wird.

  2. Führen Sie den folgenden Befehl aus, um die gespeicherte Abfrage zu prüfen:

     gcloud logging saved-queries list --location=- --project=PROJECT_ID
    

    Im vorherigen Ausdruck ist der Wert für den Standort ein Bindestrich (-), der als Platzhalter fungiert. Sie können auch einen bestimmten Standort angeben.

Es gibt Google Cloud CLI-Befehle zum Löschen, Auflisten, Beschreiben und Aktualisieren gespeicherter Abfragen. Weitere Informationen finden Sie unter gcloud logging saved-queries Übersicht.

REST

Sie können eine Abfrage mit der Cloud Logging API speichern. Verwenden Sie dazu die savedQueries.create Methode.

So führen Sie diese Methode aus:

  1. Wählen Sie savedQueries.create aus.
  2. Verwenden Sie auf der Referenzseite den API Explorer, um einen Befehl auszugeben. Sie müssen das Feld opsAnalyticsQuery angeben.

Das folgende Beispiel zeigt einen Beispielanfragetext, der eine Instanz von SavedQuery enthält:

{
   "parent": "projects/my-project/locations/global"
   "saved_query":
   {
      "ops_analytics_query":
      {
         "sql_query_text" :
            "SELECT
            timestamp, log_name, severity, json_payload, resource, labels
            FROM
            `VIEW`
            WHERE
            timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
            ORDER BY timestamp ASC
            LIMIT 100"
      }
   "visibility": "PRIVATE"
   }
}

Abfrage freigeben

Sie können eine gespeicherte Abfrage für alle Nutzer freigeben, die Zugriff auf Ihr Google Cloud Projekt haben. Die IAM-Rollen des Prinzipals bestimmen jedoch, ob die Abfrage ausgeführt werden kann und welche Daten sie zurückgibt.

Console

Wenn Sie ein Problem beheben oder ungewöhnliche Ergebnisse sehen, möchten Sie möglicherweise eine Abfrage und ihre Ergebnisse für ein Teammitglied freigeben. Wenn Sie Abfrageergebnisse auf der Seite Observability Analytics ansehen, können Sie eine URL kopieren, die beim Öffnen die ausgeführte Abfrage und ihre Ergebnisse anzeigt.

So geben Sie eine Abfrage und Ergebnisse für ein Teammitglied frei:

  1. Rufen Sie in der Google Cloud Console die Seite Observability Analytics auf.

    Zu Observability Analytics

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Füllen Sie den Bereich Abfrage mit einer Abfrage und klicken Sie dann auf Abfrage ausführen.

    Sie können den Bereich Abfrage füllen, indem Sie eine neue Abfrage eingeben, eine Abfrage auf dem Tab Letzte oder eine Abfrage auf dem Tab Gespeichert auswählen.

  3. Klicken Sie auf Link freigeben.

  4. Senden Sie den Link an Ihr Teammitglied.

    Wenn Ihr Teammitglied den Link öffnet, wird die Seite Observability Analytics geöffnet und die Abfrage angezeigt, aber nicht ausgeführt. Ihr Teammitglied muss die Abfrage manuell ausführen.

    Auf der Seite Observability Analytics wird ein Warnungsdialogfeld angezeigt, wenn die Abfrage in der BigQuery-Engine ausgeführt wird und sich die abgefragten Ressourcen nicht in derselben Eigentumsgrenze befinden. Eigentumsgrenzen werden durch mehrere Faktoren bestimmt, darunter die Hierarchie der Ressourcen, die von der Abfrage verwendet werden.

    Damit Ihr Teammitglied die URL öffnen kann, muss die IAM-Rolle des Teammitglieds für das Google Cloud Projekt die Berechtigungen enthalten, die zum Aufrufen der Observability Analytics Seite erforderlich sind.

gcloud

Wenn Sie eine gespeicherte Abfrage erstellen möchten, die von anderen ausgeführt werden kann, legen Sie den Wert des Felds visibility auf shared fest:

--visibility=shared

Verwenden Sie den Befehl update, um die Sichtbarkeit einer vorhandenen gespeicherten Abfrage zu ändern. Weitere Informationen zu den verfügbaren Befehlen finden Sie unter gcloud logging saved-queries Übersicht.

REST

Sie können mit der Logging API eine freigegebene Abfrage erstellen, indem Sie die Methode savedQueries.create verwenden und im Feld visibility den Wert SHARED angeben. Weitere Informationen finden Sie auf der Referenzseite für savedQueries.create.

Letzte oder gespeicherte Abfragen ansehen und ausführen

Wenn Sie eine Abfrage ansehen oder noch einmal ausführen möchten, wählen Sie auf der Seite Observability Analytics den Tab Letzte aus und suchen Sie die Abfrage:

  • Klicken Sie zum Ausführen der Abfrage auf Ausführen.
  • Verwenden Sie die Optionen im Mehr Optionen Menü, um die Abfrage anzusehen.

Wenn Sie eine gespeicherte Abfrage ansehen, bearbeiten oder ausführen möchten, wählen Sie auf der Seite Observability Analytics den Tab Gespeichert aus und suchen Sie die Abfrage:

  • Klicken Sie zum Ausführen der Abfrage auf Ausführen.
  • Verwenden Sie die Optionen im Mehr Optionen -Menü, um die Abfrage zu bearbeiten, anzusehen oder zu löschen.

Nächste Schritte