Cloud Logging – Übersicht

In diesem Dokument finden Sie einen Überblick über Cloud Logging, ein Echtzeit-Log-Verwaltungssystem mit Unterstützung für Speicherung, Suche, Analyse und Monitoring. Cloud Logging erfasst automatisch Logdaten aus Google Cloud-Ressourcen. Ihre Anwendungen, lokalen Ressourcen und Ressourcen von anderen Cloud-Anbietern können Logdaten an Cloud Logging senden. Sie können Benachrichtigungsrichtlinien auch so konfigurieren, dass Sie von Cloud Monitoring benachrichtigt werden, wenn bestimmte Arten von Ereignissen in Ihren Protokolldaten erfasst werden. Aus rechtlichen oder Sicherheitsgründen können Sie festlegen, wo Ihre Protokolldaten gespeichert werden.

Logs von Ihren Anwendungen und Drittanbietersoftware erfassen

Sie können Protokolle von Anwendungen erfassen, die Sie schreiben, indem Sie Ihre Anwendung mithilfe einer Clientbibliothek instrumentieren. Es ist jedoch nicht immer erforderlich, Ihre Anwendung zu instrumentieren. Bei einigen Konfigurationen können Sie beispielsweise den Ops-Agent verwenden, um Logs, die in stdout oder stderr geschrieben wurden, an Ihr Google Cloud-Projekt zu senden.

Sie können auch Logdaten von Drittanbieteranwendungen wie nginx erfassen. Dazu müssen Sie den Ops-Agent installieren und so konfigurieren, dass er Logs aus dieser Anwendung in Ihr Google Cloud-Projekt schreibt.

Unter Welche Methode verwenden: Logging-Agent oder Clientbibliothek? finden Sie Informationen, die Ihnen bei der Entscheidung helfen können, welcher Ansatz Ihren Anforderungen am besten entspricht.

Fehler beheben und Protokolle analysieren

Sie können Ihre Logdaten in der Google Cloud Console aufrufen und analysieren, entweder mit dem Log-Explorer oder auf den Log Analytics-Seiten. Sie können Logs mit beiden Oberflächen abfragen und aufrufen. Sie verwenden jedoch unterschiedliche Abfragesprachen und haben unterschiedliche Funktionen.

Wenn Sie Probleme beheben und die Leistung Ihrer Dienste und Anwendungen analysieren möchten, empfehlen wir Ihnen, den Log-Explorer zu verwenden. Auf dieser Oberfläche können Sie sich einzelne Logeinträge ansehen und ähnliche Logeinträge finden. Wenn ein Logeintrag beispielsweise zu einer Fehlergruppe gehört, wird er mit einem Optionsmenü versehen, über das Sie weitere Informationen zum Fehler abrufen können.

Wenn Sie aggregierte Vorgänge auf Ihren Protokollen ausführen möchten, z. B. um die durchschnittliche Latenz für HTTP-Anfragen zu berechnen, die im Laufe der Zeit an eine bestimmte URL gesendet wurden, verwenden Sie die Log Analytics-Benutzeroberfläche. Bei dieser Benutzeroberfläche werden Ihre Protokolldaten mit SQL abgefragt. So können Sie die Funktionen von SQL nutzen, um Ihre Protokolldaten besser zu verstehen.

Wenn Sie Ihre Log-Daten lieber programmatisch abfragen möchten, können Sie die Cloud Logging API oder die Google Cloud CLI verwenden, um Log-Daten aus Ihrem Google Cloud-Projekt zu exportieren.

Weitere Informationen finden Sie unter Logs abfragen und ansehen.

Ihre Logs überwachen

Sie können Cloud Logging so konfigurieren, dass Sie benachrichtigt werden, wenn bestimmte Arten von Ereignissen in Ihren Logs auftreten. Diese Benachrichtigungen werden möglicherweise gesendet, wenn ein bestimmtes Muster in einem Logeintrag auftritt oder wenn in Ihren Protokolldaten ein Trend erkannt wird. Wenn Sie die Fehlerraten Ihrer Google Cloud-Dienste sehen möchten, können Sie das vorkonfigurierte Cloud Logging-Dashboard aufrufen.

Wenn Sie beispielsweise benachrichtigt werden möchten, wenn eine bestimmte Nachricht auftritt, z. B. ein kritisches sicherheitsbezogenes Ereignis, können Sie eine logbasierte Benachrichtigungsrichtlinie erstellen. Mit einer logbasierten Benachrichtigungsrichtlinie werden Ihre Logs auf ein bestimmtes Muster überwacht. Wenn dieses Muster gefunden wird, sendet Monitoring eine Benachrichtigung und erstellt einen Vorfall. Logbasierte Benachrichtigungsrichtlinien sind nützlich für wichtige, aber seltene Ereignisse, z. B.:

  • Sie möchten benachrichtigt werden, wenn ein Ereignis in einem Audit-Log angezeigt wird. Beispielsweise wenn ein Nutzer auf den Sicherheitsschlüssel eines Dienstkontos zugreift.
  • Ihre Anwendung schreibt Nachrichten zu Bereitstellung in Logs. Sie wollen informiert werden, wenn eine Änderung an der Bereitstellung protokolliert wird.

Alternativ können Sie Trends oder das Auftreten von Ereignissen im Zeitverlauf beobachten. In diesen Fällen können Sie einen logbasierten Messwert erstellen. Mit einem logbasierten Messwert können Sie die Anzahl der Logeinträge zählen, die einem bestimmten Kriterium entsprechen, oder Informationen wie Reaktionszeiten in Histogramme extrahieren und organisieren. Sie können auch Benachrichtigungsrichtlinien konfigurieren, die Sie benachrichtigen, wenn sich die Leistung ändert, z. B. wenn sich die Antwortzeit auf ein nicht akzeptables Niveau erhöht. Logbasierte Messwerte eignen sich für folgende Zwecke:

  • Zählen des Vorkommens einer Nachricht in Logs, beispielsweise einer Warnung oder eines Fehlers. Sie können sich benachrichtigen lassen, wenn die Anzahl der Vorkommen einen Schwellenwert überschreitet.
  • Beobachten von Trends in Ihren Daten, z. B. von Latenzwerte in Ihren Logs. Sie können sich benachrichtigen lassen, wenn sich die Werte auf inakzeptable Weise ändern.
  • Erstellen von Diagrammen, um die aus Logs extrahierten numerischen Daten darzustellen.

Weitere Informationen finden Sie unter Logs überwachen.

Logspeicher

Sie müssen den Speicherort für Protokolle nicht konfigurieren. Standardmäßig speichert Ihr Google Cloud-Projekt alle empfangenen Logs automatisch in einem Cloud Logging-Log-Bucket. Wenn Ihr Google Cloud-Projekt beispielsweise eine Compute Engine-Instanz enthält, werden alle von der Compute Engine generierten Protokolle automatisch für Sie gespeichert. Sie können jedoch bei Bedarf eine Reihe von Aspekten Ihres Logspeichers konfigurieren, z. B. welche Logs gespeichert, welche verworfen und wo die Logs gespeichert werden.

Sie können Protokolleinträge an die folgenden Ziele weiterleiten, die sich im selben oder in einem anderen Google Cloud-Projekt befinden können:

  • Cloud Logging-Bucket: Bietet Speicherplatz in Cloud Logging. In einem Log-Bucket können Logeinträge gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Der Log-Bucket kann sich im selben Projekt befinden, in dem die Logeinträge stammen, oder in einem anderen Projekt. Informationen zum Ansehen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.

    Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren, indem Sie einen Log-Bucket auf Log Analytics umstellen und dann einen verknüpften Datenpool erstellen. Das ist ein schreibgeschützter Datenpool, der auf den Seiten BigQuery Studio und Looker Studio abgefragt werden kann.

  • BigQuery-Dataset: Ermöglicht das Speichern von Logeinträgen in einem beschreibbaren BigQuery-Dataset. Das BigQuery-Dataset kann sich im selben Projekt wie die Logeinträge oder in einem anderen Projekt befinden. Sie können Big-Data-Analysefunktionen auf die gespeicherten Logeinträge anwenden. Informationen zum Aufrufen von zu BigQuery weitergeleiteten Logeinträgen finden Sie unter Zu BigQuery weitergeleitete Logs ansehen.

  • Cloud Storage-Bucket: Ermöglicht das Speichern von Logeinträgen in Cloud Storage. Der Cloud Storage-Bucket kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Ansehen von Logeinträgen, die an Cloud Storage weitergeleitet wurden, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.
  • Pub/Sub-Thema: Bietet Unterstützung für Integrationen von Drittanbietern. Logeinträge werden in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Das Thema kann sich im selben Projekt wie die Protokolleinträge oder in einem anderen Projekt befinden. Informationen zum Ansehen von Logeinträgen, die an Pub/Sub weitergeleitet werden, finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.

  • Google Cloud-Projekt: Sie können Protokolleinträge an ein anderes Google Cloud-Projekt weiterleiten. Bei dieser Konfiguration werden die Logeinträge von den Senken im Zielprojekt verarbeitet.

Weitere Informationen, einschließlich Unterstützung für die Datenregionalität, finden Sie unter Routing und Speicher.

Logkategorien

Logkategorien sollen Ihnen dabei helfen, die verfügbaren Protokollinformationen zu beschreiben. Die Kategorien schließen sich nicht gegenseitig aus:

  • Plattformprotokolle sind Protokolle, die von Ihren Google Cloud-Diensten geschrieben werden. Diese Logs können Ihnen dabei helfen, Fehler und Probleme zu beheben sowie die von Ihnen verwendeten Google Cloud-Dienste besser zu verstehen.

  • Komponentenprotokolle ähneln Plattformprotokollen, werden aber von von Google bereitgestellten Softwarekomponenten generiert, die auf Ihren Systemen ausgeführt werden. GKE bietet beispielsweise Softwarekomponenten, die Nutzer auf ihrer eigenen VM oder in ihrem eigenen Rechenzentrum ausführen können. Logs werden von den GKE-Instanzen des Nutzers generiert und an sein Google Cloud-Projekt gesendet. GKE verwendet die Logs oder ihre Metadaten, um Nutzersupport anzubieten.

  • Sicherheitsprotokolle helfen Ihnen bei der Beantwortung der Frage „Wer hat was, wo und wann getan?“:

    • Cloud-Audit-Logs enthalten Informationen zu administrativen Aktivitäten und Zugriffen in Ihren Google Cloud-Ressourcen. Wenn Sie Audit-Logs aktivieren, können Ihre Sicherheits-, Prüf- und Compliance-Teams Google Cloud-Daten und ‑Systeme auf mögliche Sicherheitslücken oder externen Datenmissbrauch überwachen. Eine Liste der von Google Cloud unterstützten Dienste finden Sie unter Google-Dienste mit Audit-Logs.
    • Mit Access Transparency erhalten Sie Logs von Aktionen, die Google-Mitarbeiter beim Zugriff auf Ihre Google Cloud-Inhalte ausgeführt haben. Mit Access Transparency-Logs können Sie die Einhaltung der rechtlichen und behördlichen Auflagen durch Ihre Organisation prüfen. Eine Liste der von Google Cloud unterstützten Dienste finden Sie unter Google-Dienste mit Access Transparency-Logs.
  • Nutzergeschriebene Logs sind Logs, die von benutzerdefinierten Anwendungen und Diensten geschrieben werden. Normalerweise werden diese Logs mit einer der folgenden Methoden in Cloud Logging geschrieben:

Datenmodell für Protokolle

Das Datenmodell, das in Cloud Logging zum Organisieren Ihrer Protokolldaten verwendet wird, bestimmt die Dimensionen, über die Sie diese Daten abfragen können. Da ein Log eine benannte Sammlung einzelner Einträge ist, können Sie Ihre Daten beispielsweise nach dem Namen des Logs abfragen. Da jedes Protokoll aus Logeinträgen besteht, die als LogEntry-Objekte formatiert sind, können Sie Abfragen schreiben, mit denen nur die Logeinträge abgerufen werden, bei denen der Wert eines LogEntry-Felds bestimmten Kriterien entspricht. So können Sie beispielsweise nur die Logeinträge anzeigen, deren severity-Feld den Wert ERROR hat.

Jeder Logeintrag erfasst den Status oder beschreibt ein bestimmtes Ereignis, z. B. die Erstellung einer VM-Instanz. Er besteht mindestens aus:

  • Einem Zeitstempel, der angibt, wann das Ereignis eingetreten ist oder wann es von Cloud Logging empfangen wurde.
  • Informationen zur Quelle des Logeintrags. Diese Quelle wird als überwachte Ressource bezeichnet. Beispiele für überwachte Ressourcen sind einzelne Compute Engine-VM-Instanzen und Google Kubernetes Engine-Container. Eine vollständige Liste der überwachten Ressourcentypen finden Sie unter Überwachte Ressourcen und Dienste.
  • Einer Nutzlast, die auch als Nachricht bezeichnet wird, die entweder als unstrukturierte Textdaten oder als strukturierte Textdaten im JSON-Format bereitgestellt wird.
  • Dem Name des Logs, zu dem es gehört. Der Name eines Logs enthält den vollständigen Pfad der Ressource, zu der die Logeinträge gehören, gefolgt von einer Kennung. Beispiele für Lognamen:

    • projects/my-project/logs/stderr
    • projects/my-project/logs/stdout
    • projects/my-project/compute.googleapis.com/activity

Zugriffssteuerung

Mithilfe von IAM-Rollen (Identity and Access Management) wird festgelegt, ob ein Hauptkonto auf Protokolle zugreifen kann. Sie können Hauptpersonen vordefinierte Rollen zuweisen oder benutzerdefinierte Rollen erstellen. Weitere Informationen zu erforderlichen Berechtigungen finden Sie unter Zugriffssteuerung.

Aufbewahrung

Log-Einträge werden für einen bestimmten Zeitraum in Log-Buckets gespeichert und dann gelöscht. Weitere Informationen finden Sie unter Routing und Speicher: Aufbewahrung.

Preise

Für das Weiterleiten von Logs an ein unterstütztes Ziel fallen in Cloud Logging keine Gebühren an. Es können jedoch Gebühren am Ziel erhoben werden. Mit Ausnahme des _Required-Log-Buckets fallen in Cloud Logging Kosten für das Streamen von Logs in Log-Buckets und für die Speicherung über die standardmäßige Aufbewahrungsdauer des Log-Buckets hinaus an.

Für das Kopieren von Logs, das Definieren von Log-Bereichen oder das Ausführen von Abfragen über die Seiten Log-Explorer oder Log Analytics fallen in Cloud Logging keine Gebühren an.

Weitere Informationen finden Sie in folgenden Dokumenten: