Designmuster zum Exportieren von Logging-Daten

Dieser Artikel stellt eine Reihe von Artikeln vor, die Designmuster und Best Practices für gängige Logging-Exportszenarien untersuchen.

Cloud Logging bietet einen einsatzfähigen Datenspeicher für Logs und umfangreiche Exportfunktionen. Logs werden aus unterschiedlichen Gründen exportiert, z. B. zur Langzeitspeicherung (für Monate oder Jahre), um Compliance-Anforderungen zu erfüllen, oder um Daten mit den aus den Logs extrahierten Messwerten zu analysieren. Cloud Logging kann in Cloud Storage, BigQuery und Pub/Sub sowie in Elasticsearch exportiert werden.

Export von Logs

Cloud Logging kann das gesamte Logging für eine Organisation mithilfe von aggregierten Senken oder für ein bestimmtes Google Cloud-Projekt mit Logsenken. Mithilfe von Logging-Filtern können Sie dabei bestimmte Projekte oder Cloudressourcen ein- oder ausschließen. Sie können beispielsweise alle Compute Engine-Logs exportieren, aber umfangreiche Logs aus Cloud Load Balancing ausschließen. Mit diesem Ansatz können Sie flexibel entscheiden, ob Sie alle oder nur bestimmte Logs exportieren möchten.

Mit aggregierten Senken kann Ihre Organisation Logs aus allen Projekten oder aus einem einzelnen Ordner exportieren. Diese Funktion ermöglicht die Durchsetzung von Logging-Exportrichtlinien für alle Projekte Ihrer Organisation. Sie können IAM-Steuerelemente auf Organisationsebene verwenden, um den Nutzerzugriff auf Änderungen an der Konfiguration von Logging-Exporten zu beschränken.

Als Alternative zu aggregierten Senken haben Sie die Möglichkeit, den Logexport pro Projekt und nicht für die gesamte Organisation zu aktivieren. Ansonsten sind Logexporte und aggregierte Senken identisch.

Möglichkeiten für den Export

Es gibt drei Möglichkeiten, Logs aus Cloud Logging zu exportieren:

  • In Dateien: In Cloud Storage gespeicherte JSON-Dateien
  • In BigQuery: In einem BigQuery-Dataset erstellte Logging-Tabellen.
  • In Pub/Sub: In JSON-Nachrichten, die an ein Pub/Sub-Thema gesendet werden.

Exportierte Inhalte

Informationen zu den in Cloud Logging verfügbaren Logtypen erhalten Sie unter Verfügbare Logs.

Logging-Formate

Je nach Log-Typ gibt es drei verschiedene Logging-Nutzlastformate.

textPayload
Der Inhalt wird als einzelner String dargestellt. Die vom Cloud Logging-Agent erstellten Logs (einschließlich syslog) und die Cloud SQL-Logs sind Beispiele für Logs, die dieses Format verwenden.
protoPayload
Der Inhalt wird als Protokollpuffer dargestellt und ist vom jeweils protokollierten Inhalt abhängig. Sowohl die Audit-Logs für die Administratoraktivität als auch für den Datenzugriff werden in dieses Format exportiert. Diese Logs weisen, basierend auf dem exportierten Eintragstyp, unterschiedliche JSON- bzw. Tabellenstrukturen in BigQuery auf.
jsonPayload
Der Inhalt wird als JSON-Objekt dargestellt und hängt vom jeweils protokollierten Inhalt ab. Beispiele für dieses Format sind die Aktivitäts-Logs von Compute Engine und Compute Engine-Autoscaling.

Ausführliche Informationen zur Zuordnung der Logformate zu BigQuery-Tabellen- und JSON-Exportdateistrukturen finden Sie in der Dokumentation zu Schemas und Feldern. Beachten Sie das Logging-Nutzlastformat, wenn Sie Abfragen für den BigQuery Export schreiben oder wenn Sie die Datei oder Pub/Sub-JSON-Exportdateien analysieren. Das detaillierte Format des Logs finden Sie in der API-Definition für LogEntry.

Szenarien des Logging-Exports

Artikel in dieser Reihe beschreiben Szenarien, für die Sie möglicherweise Logs exportieren möchten. In jedem Szenario werden ausführlich die Anforderungen, die Einrichtung, die Verwendung und die Weitergabe der Exporte dargestellt.

Nächste Schritte