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:
-
So rufen Sie die Log-Buckets
_Required
und_Default
ab: Logbetrachter (roles/logging.viewer
) -
So rufen Sie alle Logansichten in einem Projekt ab:
Zugriffsberechtigter für Logbetrachtung (
roles/logging.viewAccessor
)
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. -
So rufen Sie die Log-Buckets
Prüfen Sie, ob Ihre Log-Buckets für die Verwendung von Log Analytics aktualisiert wurden:
-
Rufen Sie in der Google Cloud Console die Seite Logspeicher auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- 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
.BigQuery-Datasets: Ersetzen Sie TABLE_NAME_OF_LOG_VIEW durch den Pfad zur Tabelle im verknüpften Dataset.
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:
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:
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.