Logvolumen mit Log Analytics analysieren

In diesem Dokument wird beschrieben, wie Sie mit Log Analytics das abrechenbare Volumen Ihrer Logeinträge schätzen können. Sie können Abfragen schreiben, mit denen Sie Ihr abrechenbares Volumen nach verschiedenen Dimensionen wie Ressourcentyp oder Anwendungsname aufschlüsseln und aggregieren und die Abfrageergebnisse dann in Diagrammen darstellen und ansehen können.

Abrechenbares Volumen abfragen

Das abrechenbare Volumen eines Logeintrags, also die Größe, die an Cloud Billing gemeldet wird, ist über das Feld storage_bytes verfügbar. In Ihren Abfragen können Sie das Feld storage_bytes genauso verwenden wie jedes Schemefeld, dessen Datentyp INTEGER ist. Sie können sie beispielsweise in SELECT-Klauseln, in CASE-Anweisungen und in allgemeinen Tabellenausdrücken verwenden. Weitere Informationen zum Abfragen Ihrer Logs finden Sie in den folgenden Dokumenten:

Da in Cloud Billing das abrechenbare Volumen zur Ermittlung Ihrer Kosten verwendet wird, können Sie Abfragen schreiben, mit denen Sie die Quellen Ihrer Kosten nachvollziehen können. Sie können beispielsweise Abfragen schreiben, mit denen Sie ermitteln können, welche Anwendungen die meisten Logeinträge schreiben. Informationen dazu, wie Sie das abrechenbare Volumen mit den Kosten in Beziehung setzen, finden Sie in den Cloud Logging-Abschnitten auf der Seite Preise für Google Cloud Observability.

Das abrechenbare Volumen eines Logeintrags entspricht nicht der Größe des LogEntry-Objekts, das an die Cloud Logging API gesendet wurde. Das abrechenbare Volumen umfasst Bytes, die für die Serialisierung und Metadaten erforderlich sind.

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. Prüfen Sie für jeden Log-Bucket, der eine Logansicht enthält, die Sie abfragen möchten, ob in der Spalte Loganalysen verfügbar die Option Öffnen angezeigt wird. Wenn Upgrade durchführen angezeigt wird, klicken Sie darauf 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 zur Verwendung von Log Analytics und zum Abfragen von Log-Ansichten benötigen:

    Sie können ein Hauptkonto 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 _AllLogs-Ansicht des _Default-Logbuckets benötigen, 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.

Beispielabfragen

Dieser Abschnitt enthält Beispielabfragen, mit denen Daten aus einer einzelnen Logansicht analysiert werden. Wenn Sie Daten in mehreren Log-Ansichten speichern und zusammengefasste Werte für Daten in diesen Ansichten berechnen möchten, müssen Sie die Anweisung UNION verwenden.

Sie können Ihren Logeintrag auf der Seite Log Analytics oder an einer beliebigen Stelle abfragen, an der Sie BigQuery-Datasets abfragen können. Dazu gehören die Seiten BigQuery Studio und Looker Studio sowie das bq-Befehlszeilentool.

So verwenden Sie die Beispielabfragen:

  • Seite Log Analytics: Ersetzen Sie TABLE_NAME_OF_LOG_VIEW durch den Namen der Log-Ansicht. Das Format ist project_ID.region.bucket_ID.view_ID.

    Zu Log Analytics

  • BigQuery-Datasets: Ersetzen Sie TABLE_NAME_OF_LOG_VIEW durch den Pfad zur Tabelle im verknüpften Dataset.

    BigQuery Studio aufrufen

Logvolumen nach App abfragen

Wenn Sie die Gesamtzahl der Byte pro Tag und App für Ihre Logeinträge mit einer JSON-Nutzlast berechnen möchten, die für eine Google Kubernetes Engine-Ressource geschrieben wurden, verwenden Sie die folgende Abfrage:

SELECT
  timestamp_trunc(timestamp,DAY) as day,
  JSON_VALUE(labels["k8s-pod/app"]) as app_id,
  SUM(storage_bytes) as total_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"
GROUP BY ALL

Um die Daten zu visualisieren, können Sie ein Diagramm erstellen.

Im folgenden Beispiel werden die Daten als übereinander angeordnetes Balkendiagramm dargestellt. Jeder Balken im Diagramm zeigt die Gesamtzahl der gespeicherten Byte, sortiert nach App. In diesem Beispiel generiert die App frontend die meisten Protokolldaten:

Beispieldiagramm mit Ergebnissen einer Abfrage zum Log-Volumen nach App.

Logvolumen nach Lognamen abfragen

Wenn Sie die Anzahl der gespeicherten Byte und den Log-Namen für jeden Logeintrag mit einer JSON-Nutzlast auflisten möchten, der für eine Google Kubernetes Engine-Ressource geschrieben wurde, verwenden Sie die folgende Abfrage:

SELECT
  log_id AS log_name,
  storage_bytes
FROM
  `TABLE_NAME_OF_LOG_VIEW`
WHERE
  json_payload IS NOT NULL
  AND resource.type="k8s_container"

In der vorherigen Abfrage werden die Ergebnisse nicht zusammengefasst. Stattdessen gibt es eine Zeile für jeden Logeintrag, die einen Log-Namen und die Anzahl der gespeicherten Byte enthält. Wenn Sie diese Daten in einem Diagramm darstellen, können Sie den Anteil Ihrer Protokolldaten visualisieren, der in verschiedene Protokolle geschrieben wurde:

Beispieldiagramm mit Ergebnissen der Abfrage des Logvolumens nach Log-Name.

Das vorherige Diagramm zeigt, dass die meisten Logdaten in das Log mit dem Namen stdout geschrieben werden.

Mit dem bq-Befehlszeilentool das Logvolumen nach Logname abfragen

Sie können das Feld storage_bytes in Abfragen einfügen, die Sie über die Seite BigQuery Studio oder mit dem bq-Befehlszeilentool ausführen.

Die folgende Abfrage gibt den Log-Namen und die Anzahl der gespeicherten Byte für jeden Logeintrag zurück:

bq query --use_legacy_sql=false  'SELECT log_id as log_name,
  storage_bytes FROM `TABLE_NAME_OF_LOG_VIEW`'

Das Ergebnis dieser Abfrage sieht etwa so aus:

+----------+---------------+
| log_name | storage_bytes |
+----------+---------------+
| stdout   |           716 |
| stdout   |           699 |
| stdout   |           917 |
| stdout   |           704 |

Jede Zeile entspricht einem Logeintrag. Der Wert der Spalte storage_bytes ist das abrechenbare Volumen für diesen Logeintrag.

Beschränkungen

Das Feld storage_bytes ist nur verfügbar, wenn Folgendes zutrifft:

  • Der Log-Bucket wird für die Verwendung von Log Analytics aktualisiert.
  • Ihre Abfrage wird auf der Seite Loganalysen oder an einer beliebigen Stelle ausgeführt, an der Sie BigQuery-Datasets abfragen können, z. B. auf den Seiten BigQuery Studio und Looker Studio sowie mit dem bq-Befehlszeilentool.

  • Der Logeintrag wurde am oder nach dem 1. Januar 2024 geschrieben.