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 das abrechenbare Volumen nach verschiedenen Dimensionen wie Ressourcentyp oder Anwendungsname erfasst und zusammengefasst wird. Die Abfrageergebnisse können dann in Diagrammen dargestellt und angezeigt werden.
Abrechenbares Volumen abfragen
Das abrechenbare Volumen eines Logeintrags, also die Größe, die an die Cloud-Abrechnung gesendet wird, ist im Feld storage_bytes
verfügbar.
Sie können das Feld storage_bytes
in Ihren Abfragen genauso verwenden wie jedes andere Schemafeld mit dem Datentyp INTEGER
.
Sie können sie beispielsweise in SELECT
-Klauseln, CASE
-Anweisungen und allgemeinen Tabellenausdrücken verwenden.
Weitere Informationen zum Abfragen Ihrer Logs finden Sie in den folgenden Dokumenten:
Da bei Cloud Billing das abrechenbare Volumen zur Bestimmung Ihrer Kosten verwendet wird, können Sie Abfragen erstellen, 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. Informationen dazu, wie Sie das abrechenbare Volumen mit den Kosten in Beziehung setzen, finden Sie in der Preisübersicht für Cloud Logging und unter 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 die 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:
-
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 Logging ist.
- 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 zur Verwendung von Log Analytics und zum Abfragen von Protokollansichten benötigen:
-
So rufen Sie die Log-Buckets
_Required
und_Default
ab: Loganzeige (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 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 Aufrufen 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. -
So rufen Sie die Log-Buckets
Beispielabfragen
Dieser Abschnitt enthält Beispielabfragen, mit denen Daten aus einer einzelnen Protokollansicht analysiert werden.
Wenn Sie Daten in mehreren Protokollansichten speichern und zusammengefasste Werte für in diesen Ansichten gespeicherte Daten berechnen möchten, müssen Sie die Anweisung UNION
verwenden.
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.
BigQuery Studio aufrufen
Logvolumen nach App abfragen
Mit der folgenden Abfrage können Sie die Gesamtzahl der Bytes pro Tag und pro App für Ihre Logeinträge berechnen, die in eine Google Kubernetes Engine-Ressource geschrieben wurden und eine JSON-Nutzlast haben:
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
Sie können ein Diagramm erstellen, um die Daten zu visualisieren.
Im folgenden Beispiel werden die Daten als gestapeltes Balkendiagramm dargestellt. Jeder Balken im Diagramm zeigt die Gesamtzahl der gespeicherten Byte nach App an. In diesem Beispiel generiert die App frontend
die meisten Protokolldaten:
Nach Logvolumen anhand des Lognamens suchen
Mit der folgenden Abfrage können Sie die Anzahl der gespeicherten Bytes und den Lognamen für jeden Logeintrag mit einer JSON-Nutzlast auflisten, der in eine Google Kubernetes Engine-Ressource geschrieben wurde:
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, können Sie den Anteil Ihrer Protokolldaten visualisieren, der in verschiedene Protokolle geschrieben wurde:
Das vorherige Diagramm zeigt, dass die meisten Protokolldaten in das Protokoll mit dem Namen stdout
geschrieben werden.
bq-Befehlszeilentool zum Abfragen des Protokollvolumens nach Protokollnamen verwenden
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 Protokolleintrag. Der Wert in 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 auf die Verwendung von Log Analytics umgestellt.
Die Abfrage wird auf der Seite Log Analytics oder überall dort ausgeführt, wo Sie BigQuery-Datasets abfragen können. Dazu gehören die Seiten BigQuery Studio und Looker Studio sowie das bq-Befehlszeilentool.
Der Protokolleintrag wurde am oder nach dem 1. Januar 2024 erstellt.