Logs mit Log Analytics abfragen und analysieren

In diesem Dokument wird beschrieben, wie Sie die in Log-Buckets gespeicherten Protokolldaten abfragen und analysieren, die auf Log Analytics umgestellt wurden. Sie können Logs in diesen Buckets mit SQL abfragen, um sie zu filtern und zu aggregieren. Sie können die Abfrageergebnisse in tabellarischer Form oder in Diagrammen ansehen. Diese Tabellen und Diagramme können in Ihren benutzerdefinierten Dashboards gespeichert werden.

Sie können entweder eine Logansicht für einen Log-Bucket oder eine Analyseansicht abfragen. Wenn Sie eine Log-Ansicht abfragen, entspricht das Schema dem der Datenstruktur LogEntry. Da der Ersteller einer Analysedatenansicht das Schema festlegt, können Sie damit Protokolldaten aus dem LogEntry-Format in ein für Sie geeigneteres Format umwandeln.

Mit dem Log-Explorer können Sie sich Logeinträge ansehen, die in Log-Buckets in Ihrem Projekt gespeichert sind, unabhängig davon, ob der Log-Bucket auf die Verwendung von Log Analytics umgestellt wurde.

In Log Analytics werden keine Logeinträge dedupliziert. Das kann sich auf die Formulierung Ihrer Abfragen auswirken. Außerdem gibt es einige Einschränkungen bei der Verwendung von Log Analytics. Weitere Informationen zu diesen Themen finden Sie in den folgenden Dokumenten:

Verknüpfte Datasets

Log Analytics unterstützt das Erstellen von verknüpften BigQuery-Datasets, über die BigQuery Lesezugriff auf die zugrunde liegenden Daten erhält. Wenn Sie ein verknüpftes Dataset erstellen, haben Sie folgende Möglichkeiten:

In diesem Dokument wird nicht beschrieben, wie Sie einen verknüpften Datensatz erstellen oder Log Analytics so konfigurieren, dass Abfragen auf reservierten Slots ausgeführt werden. Weitere Informationen zu diesen Themen finden Sie unter Verknüpftes Dataset in BigQuery abfragen.

Hinweise

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

Log-Buckets konfigurieren

Prüfen Sie, ob Ihre Log-Buckets für die Verwendung von Log Analytics aktualisiert wurden:

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

    Zum Log-Speicher

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

  2. Achten Sie für jeden Log-Bucket, der eine Logansicht enthält, die Sie abfragen möchten, darauf, dass in der Spalte Log Analytics verfügbar der Wert Offen angezeigt wird. Wenn Upgrade durchführen angezeigt wird, klicken Sie auf Upgrade durchführen und schließen Sie das Dialogfeld ab.

IAM-Rollen und -Berechtigungen konfigurieren

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

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

    Sie können ein Hauptkonto auf eine bestimmte Protokollansicht beschränken, indem Sie der Rolle „Zugriffsberechtigter für Protokollansicht“ auf Projektebene eine IAM-Bedingung hinzufügen oder der Richtliniendatei der Protokollansicht eine IAM-Bindung hinzufügen. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

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

  • 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.

Protokoll- oder Analyseansicht abfragen

Bei der Fehlerbehebung können Sie beispielsweise die Anzahl der Logeinträge mit einem Feld zählen, das einem Muster entspricht oder die durchschnittliche Latenz für HTTP-Anfragen berechnen. Dazu führen Sie eine SQL-Abfrage auf einer Protokollansicht aus.

So führen Sie eine SQL-Abfrage für eine Protokollansicht aus:

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

    Zu Log Analytics

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

  2. So laden Sie die Standardabfrage:

    1. Gehen Sie im Menü Ansichten zum Bereich Protokolle oder Analytics-Ansichten und wählen Sie die Ansicht aus, die Sie abfragen möchten.

      Sie können die Ansicht über die Leiste Filter oder durch Scrollen in der Liste suchen:

      • Logansichten werden nach BUCKET_ID.LOG_VIEW_ID aufgelistet. Diese Felder beziehen sich auf die IDs des Log-Buckets und der Log-Ansicht.

      • Analytics-Datenansichten werden nach LOCATION.ANALYTICS_VIEW_ID aufgelistet. Diese Felder beziehen sich auf den Speicherort und die ID einer Analytics-Datensicht.

    2. Klicken Sie in der Symbolleiste Schema auf Abfrage.

      Der Bereich Abfrage wird mit einer SQL-Abfrage aktualisiert, die die ausgewählte Analyseansicht abfragt.

  3. So geben Sie eine Abfrage ein:

    • Wir empfehlen, die Auswahl für den Zeitraum zu verwenden. Wenn Sie eine WHERE-Klausel hinzufügen können, in der das Feld timestamp angegeben ist, wird die Einstellung in der Auswahl für den Zeitraum durch diesen Wert überschrieben und die Auswahl deaktiviert.

    • Beispiele finden Sie unter Beispielabfragen.

    • Wenn Sie eine Protokollansicht abfragen möchten, sollte die FROM-Klausel Ihrer Abfrage das folgende Format haben:

      FROM `PROJECT_ID.LOCATION.BUCKET_ID.LOG_VIEW_ID`
      
    • Wenn Sie eine Analysedatenansicht abfragen möchten, sollte die FROM-Klausel Ihrer Abfrage das folgende Format haben:

      FROM `analytics_view.PROJECT_ID.LOCATION.ANALYTICS_VIEW_ID`
      

    Im Folgenden wird die Bedeutung der Felder in den vorherigen Ausdrücken beschrieben:

    • PROJECT_ID: Die Kennung des Projekts.
    • LOCATION: Der Speicherort der Protokollansicht oder der Analyseansicht.
    • BUCKET_ID: Der Name oder die ID des Log-Buckets.
    • LOG_VIEW_ID: Die Kennung der Log-Ansicht, die auf 100 Zeichen beschränkt ist und nur Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten darf.
    • ANALYTICS_VIEW_ID: Die ID der Analyseansicht, die auf 100 Zeichen beschränkt ist und nur Buchstaben, Ziffern, Unterstriche und Bindestriche enthalten darf.
  4. In der Symbolleiste muss die Schaltfläche Abfrage ausführen angezeigt werden.

    Wenn in der Symbolleiste In BigQuery ausführen angezeigt wird, klicken Sie auf  Einstellungen und wählen Sie Log Analytics (Standard) aus.

  5. Führen Sie die Abfrage aus.

    Die Abfrage wird ausgeführt und das Ergebnis wird auf dem Tab Ergebnisse angezeigt.

    Mit den Optionen in der Symbolleiste können Sie Ihre Abfrage formatieren, löschen und die BigQuery SQL-Referenzdokumentation öffnen.

  6. Optional: Erstellen Sie ein Diagramm oder speichern Sie die Ergebnisse in einem benutzerdefinierten Dashboard.

    Standardmäßig werden die Abfrageergebnisse als Tabelle dargestellt. Sie können jedoch ein Diagramm erstellen und die Tabelle oder das Diagramm in einem benutzerdefinierten Dashboard speichern.

    Informationen zum Erstellen und Konfigurieren eines Diagramms und zum Speichern eines Abfrageergebnisses in einem Dashboard finden Sie unter SQL-Abfrageergebnisse in Diagrammen darstellen.

Schema anzeigen

Das Schema definiert die Struktur und den Datentyp für jedes Feld. Diese Informationen sind wichtig, da sie bestimmen, wie Sie Ihre Abfragen erstellen. Angenommen, Sie möchten die durchschnittliche Latenz von HTTP-Anfragen berechnen. Sie müssen wissen, wie Sie auf das Feld „Latenz“ zugreifen und ob es als Ganzzahl wie 100 oder als String wie "100" gespeichert ist. Wenn die Latenzdaten als String gespeichert sind, muss der Wert in der Abfrage in einen numerischen Wert umgewandelt werden, bevor ein Durchschnitt berechnet werden kann.

Wenn der Datentyp einer Spalte JSON ist, werden im Schema die für diese Spalte verfügbaren Felder nicht aufgeführt. Ein Logeintrag kann beispielsweise ein Feld mit dem Namen json_payload haben. Wenn ein Log-Bucket auf Log Analytics umgestellt wird, wird dieses Feld einer Spalte mit dem Datentyp „JSON“ zugeordnet. Das Schema enthält keine untergeordneten Felder der Spalte. Das heißt, Sie können anhand des Schemas nicht feststellen, ob json_payload.url eine gültige Referenz ist.

So ermitteln Sie das Schema:

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

    Zu Log Analytics

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

  2. Suchen Sie im Bereich Ansichten nach der Log- oder Analyseansicht und wählen Sie sie aus.

    Das Schema wird angezeigt. Bei Protokollansichten ist das Schema festgelegt und entspricht der Datenstruktur LogEntry. Bei Analyseansichten können Sie die SQL-Abfrage ändern, um das Schema zu ändern.

Nächste Schritte