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, die abrechenbares Volumen nach verschiedenen Dimensionen wie Ressourcentyp oder Anwendungsname. Anschließend können Sie die Abfrageergebnisse in einem Diagramm darstellen.

Abrechenbares Volumen abfragen

Das abrechenbare Volumen eines Logeintrags, an Cloud Billing gemeldete Daten sind über das Feld storage_bytes verfügbar. In Ihren Abfragen können Sie das Feld storage_bytes auf die gleiche Weise verwenden dass Sie ein beliebiges Schemafeld mit dem Datentyp INTEGER verwenden. Sie können ihn beispielsweise in SELECT-Klauseln verwenden, CASE-Anweisungen und in allgemeinen Tabellenausdrücken. Weitere Informationen zum Abfragen Ihrer finden Sie in den folgenden Dokumenten:

Da Cloud Billing das abrechenbare Volumen zur Bestimmung Ihrer Kosten verwendet, können Sie Abfragen schreiben, mit denen Sie die Kostenquellen nachvollziehen können. Sie können beispielsweise Abfragen erstellen, mit denen Sie ermitteln, welche Anwendungen die meisten Logeinträge schreiben. Um zu erfahren, wie Sie das abrechenbare Volumen finden Sie unter Cloud Logging – Preisübersicht und Cloud Logging-Preise.

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 Byte, die für Serialisierung und Metadaten erforderlich sind.

Hinweis

Führen Sie die folgenden Schritte aus, bevor Sie Log Analytics verwenden:

  • 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 benötigen:

    Sie können ein Hauptkonto auf eine bestimmte Logansicht beschränken, indem Sie entweder ein IAM-Bedingung für die Gewährung der Rolle „Zugriffsberechtigter für Logansicht“ am auf Projektebene oder durch Hinzufügen einer IAM-Bindung zum Richtliniendatei der Logansicht. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.

    Dies sind dieselben Berechtigungen, die Sie zum Aufrufen von Logeinträgen auf der Seite Log-Explorer benötigen. Informationen zu zusätzliche Rollen, die Sie benötigen, um Ansichten für benutzerdefinierte Buckets oder um die Ansicht _AllLogs von _Default abzufragen Log-Bucket, siehe Cloud Logging-Rollen.

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

    2. Für jeden Log-Bucket mit einer Logansicht, die Sie abfragen möchten, dass die In der Spalte Loganalysen verfügbar wird Offen angezeigt. Wenn Upgrade wird angezeigt. Klicken Sie dann auf Upgrade und schließen Sie den Dialogfeld.

Beispielabfragen

Dieser Abschnitt enthält Beispielabfragen, mit denen Daten aus einer einzelnen Logansicht analysiert werden. Wenn Sie Daten in mehreren Logansichten speichern und zusammengefasste Daten Werte für Daten, die in diesen Ansichten gespeichert sind, müssen Sie mit der Funktion UNION .

Sie können den Logeintrag über die Seite Log Analytics oder an einer beliebigen Stelle abfragen, an der BigQuery-Datasets abgefragt werden 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 Protokollansicht. 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.

    Zu BigQuery Studio

Logvolumen nach App abfragen

Um die Gesamtzahl der Byte pro Tag und Anwendung für Ihre Logeinträge zu berechnen, die die in eine Google Kubernetes Engine-Ressource geschrieben werden und eine JSON-Nutzlast haben, 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

Zur Visualisierung der Daten können Sie ein Diagramm erstellen.

Im folgenden Beispiel werden die Daten als gestapeltes Balkendiagramm dargestellt. Jeder Balken im Diagramm stellt die Gesamtzahl der gespeicherten Byte, sortiert nach App. In diesem Beispiel generiert die Anwendung frontend die meisten Logdaten:

Beispieldiagramm, das die Ergebnisse der Abfrage des Logvolumens nach Anwendung zeigt.

Logvolumen nach Logname abfragen

Zum Auflisten der Anzahl der gespeicherten Byte und des Lognamens für jedes Byte Logeintrag mit einer JSON-Nutzlast, der für einen Google Kubernetes Engine-Ressource:

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"

Bei der vorherigen Abfrage werden die Ergebnisse nicht zusammengefasst. Stattdessen gibt es für jeden Logeintrag eine Zeile mit einem Lognamen und der Anzahl der gespeicherten Bytes. Wenn Sie diese Daten in einem Diagramm darstellen, Ihre Logdaten so, wie sie in verschiedene Logs geschrieben wurden:

Beispieldiagramm mit den Ergebnissen einer Abfrage nach dem Protokollvolumen nach Protokollnamen

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

Mit dem bq-Befehlszeilentool nach dem Protokollvolumen nach Protokollnamen abfragen

Sie können das Feld storage_bytes in Abfragen einschließen, die Sie über die Seite BigQuery Studio oder das bq-Befehlszeilentool ausführen.

Die folgende Abfrage gibt den Protokollnamen und die Anzahl der gespeicherten Bytes für jeden Protokolleintrag an:

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 in etwa so aus:

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

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

Beschränkungen

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

  • Der Log-Bucket wurde für die Verwendung von Loganalysen aktualisiert.
  • Die Abfrage wird auf der Seite Loganalysen oder überall dort ausgeführt, BigQuery-Datasets abfragen, einschließlich der Die Seiten BigQuery Studio und Looker Studio sowie die bq-Befehlszeilentool

  • Der Protokolleintrag wurde am oder nach dem 1. Januar 2024 erstellt.