In diesem Dokument wird beschrieben, wie Sie mit Observability 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 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 andere Schemasfeld, dessen Datentyp INTEGER ist.
Sie können es 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 Cloud Billing das abrechenbare Volumen verwendet, um Ihre Kosten zu ermitteln, können Sie Abfragen schreiben, mit denen Sie die Ursachen 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 auf der Seite Google Cloud Observability – Preise im Abschnitt zu Cloud Logging.
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 die Serialisierung und Metadaten erforderlich sind.
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:
-
Rufen Sie in der Google Cloud Console die Seite Logspeicher auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
- 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 Log-Buckets
_Requiredund_Defaultab: 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
_AllLogsdes Log-Buckets_Defaultbenötigen, finden Sie unter Cloud Logging roles. -
So fragen Sie die Log-Buckets
-
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 Logansichten speichern und aggregierte Werte für die in diesen Ansichten gespeicherten Daten berechnen möchten, müssen Sie die Anweisung UNION verwenden.
Sie können Ihre Logeinträge auf der Observability Analytics Seite oder überall dort abfragen, wo Sie BigQuery-Datasets abfragen können, z. B. auf den BigQuery Studio und Looker Studio Seiten sowie mit dem bq-Befehlszeilentool.
So verwenden Sie die Beispielabfragen:
Seite Observability Analytics: Ersetzen Sie VIEW durch den Namen der Logansicht. Das Format ist
project_ID.region.bucket_ID.view_ID.BigQuery-Datasets: Ersetzen Sie VIEW durch den Pfad zur Tabelle im verknüpften Dataset.
Logvolumen nach App abfragen
Wenn Sie die Gesamtzahl der Byte pro Tag und App für Ihre Logeinträge berechnen möchten, die für eine Google Kubernetes Engine-Ressource geschrieben wurden 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
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
GROUP BY ALL
Sie können die Daten in einem Diagramm visualisieren.
Im folgenden Beispiel werden die Daten als gestapeltes Balkendiagramm angezeigt. Jeder Balken im Diagramm zeigt die Gesamtzahl der gespeicherten Byte, organisiert nach App. In diesem Beispiel generiert die App frontend die meisten Logdaten:
Logvolumen nach Logname abfragen
Wenn Sie die Anzahl der gespeicherten Byte und den Lognamen 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
`VIEW`
WHERE
json_payload IS NOT NULL
AND resource.type="k8s_container"
Die vorherige Abfrage aggregiert die Ergebnisse nicht. Stattdessen gibt es eine Zeile für jeden Logeintrag. Diese Zeile enthält einen Lognamen und die Anzahl der gespeicherten Byte. Wenn Sie diese Daten in einem Diagramm darstellen, können Sie den Anteil Ihrer Logdaten visualisieren, die in verschiedene Logs geschrieben wurden:
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 verwenden, die Sie über die
BigQuery Studio Seite oder mit dem
bq-Befehlszeilentool ausführen.
Die folgende Abfrage gibt den Lognamen und die Anzahl der gespeicherten Byte für jeden Logeintrag aus:
bq query --use_legacy_sql=false 'SELECT log_id as log_name,
storage_bytes FROM `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 der Spalte storage_bytes ist das abrechenbare Volumen für diesen Logeintrag.
Beschränkungen
Das Feld storage_bytes ist nur verfügbar, wenn die folgenden Bedingungen erfüllt sind:
- Für den Log-Bucket wurde ein Upgrade zur Verwendung von Observability Analytics durchgeführt.
Ihre Abfrage wird auf der Seite Observability Analytics oder überall dort ausgeführt, wo 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.