Cloud Logging – Übersicht

Dieses Dokument bietet einen Überblick über Cloud Logging, ein Logverwaltungssystem in Echtzeit, das Speicher-, Such-, Analyse- und Monitoring-Unterstützung bietet. Cloud Logging erfasst automatisch Logs aus Google Cloud-Ressourcen. Sie können auch Logs von Ihren Anwendungen, lokalen Ressourcen und Ressourcen anderer Cloud-Anbieter erfassen. Sie können Benachrichtigungen konfigurieren, damit Sie informiert werden, wenn bestimmte Arten von Ereignissen in Ihren Logs gemeldet werden. Aus regulatorischen oder Sicherheitsgründen können Sie bestimmen, wo Ihre Logdaten gespeichert werden.

Protokolle aus Anwendungen und Drittanbieter-Software erfassen

Sie können Logs von geschriebenen Anwendungen erfassen, 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 mit dem Ops-Agent Logs, die in stdout oder stderr geschrieben wurden, an Ihr Google Cloud-Projekt senden.

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

Unter Was sollten Sie verwenden: Logging-Agent oder Clientbibliothek? finden Sie Informationen, mit deren Hilfe Sie entscheiden können, welcher Ansatz Ihren Anforderungen am besten entspricht.

Fehlerbehebung und Analyse von Protokollen

Sie können Ihre Logdaten in der Google Cloud Console ansehen und analysieren, entweder über den Log-Explorer oder die Log Analytics-Seite. Sie können Logs über beide Oberflächen abfragen und ansehen. Sie verwenden jedoch unterschiedliche Abfragesprachen und unterschiedliche Funktionen.

Wenn Sie Probleme mit der Leistung Ihrer Dienste und Anwendungen beheben und diese analysieren möchten, empfehlen wir die Verwendung des Log-Explorers. Über diese Oberfläche können Sie einzelne Logeinträge ansehen und nach zugehörigen Logeinträgen suchen. Wenn ein Logeintrag beispielsweise Teil einer Fehlergruppe ist, wird dieser Eintrag mit einem Optionsmenü versehen, über das Sie auf weitere Informationen zum Fehler zugreifen können.

Wenn Sie zusammengefasste Vorgänge für Ihre Logs ausführen möchten, um beispielsweise die durchschnittliche Latenz für HTTP-Anfragen zu berechnen, die im Laufe der Zeit an eine bestimmte URL gesendet werden, verwenden Sie die Log Analytics-Benutzeroberfläche. Mit dieser Schnittstelle verwenden Sie SQL, um Ihre Logdaten abzufragen. So können Sie die Funktionen von SQL nutzen, um Ihre Logdaten zu verstehen.

Wenn Sie Ihre Logdaten lieber programmatisch abfragen möchten, können Sie die Logdaten mit der Cloud Logging API oder über die Google Cloud CLI aus Ihrem Google Cloud-Projekt exportieren.

Weitere Informationen finden Sie unter Übersicht über Abfrage- und Anzeigelogs.

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 können gesendet werden, wenn ein bestimmtes Muster in einem Logeintrag enthalten ist oder ein Trend in Ihren Logdaten erkannt wird. Wenn Sie sich die Fehlerraten Ihrer Google Cloud-Dienste ansehen möchten, können Sie das vorkonfigurierte Cloud Logging-Dashboard aufrufen.

Wenn Sie beispielsweise bei einer bestimmten Nachricht benachrichtigt werden möchten, z. B. bei einem kritischen sicherheitsbezogenen Ereignis, können Sie eine logbasierte Benachrichtigung erstellen. Eine logbasierte Benachrichtigung überwacht Ihre Logs auf ein bestimmtes Muster. Wird dieses Muster gefunden, sendet sie eine Benachrichtigung und erstellt einen Vorfall. Logbasierte Benachrichtigungen eignen sich gut für wichtige, aber seltene Ereignisse wie:

  • Sie möchten benachrichtigt werden, wenn ein Ereignis in einem Audit-Log angezeigt wird, z. B. 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 überwachen. In diesen Fällen können Sie einen logbasierten Messwert erstellen. Ein logbasierter Messwert kann die Anzahl der Logeinträge ermitteln, die einem bestimmten Kriterium entsprechen, oder Informationen wie Antwortzeiten extrahieren und in Histogrammen organisieren. Sie können auch Benachrichtigungen konfigurieren, wenn Leistungsänderungen auftreten, z. B. wenn sich die Antwortzeit auf ein inakzeptables Maß erhöht. Logbasierte Messwerte eignen sich, wenn Sie Folgendes tun möchten:

  • Sie können die Vorkommen einer Nachricht, z. B. einer Warnung oder eines Fehlers, in Ihren Logs zählen und eine Benachrichtigung erhalten, wenn die Anzahl der Vorkommnisse einen Grenzwert überschreitet.
  • Sie können Trends in Ihren Daten beobachten, z. B. Latenzwerte in Ihren Logs, und 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 der Logs nicht konfigurieren. Standardmäßig speichert Ihr Google Cloud-Projekt automatisch alle empfangenen Logs in einem Cloud Logging-Log-Bucket. Wenn Ihr Google Cloud-Projekt beispielsweise eine Compute Engine-Instanz enthält, werden alle von Compute Engine generierten Logs automatisch für Sie gespeichert. Bei Bedarf können Sie jedoch eine Reihe von Aspekten Ihres Logspeichers konfigurieren, z. B. welche Logs gespeichert, welche verworfen werden und wo die Logs gespeichert werden.

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

  • Cloud Logging-Log-Buckets: Bietet Speicher in Cloud Logging. In einem Log-Bucket können Logs gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren, indem Sie einen Log-Bucket auf die Verwendung von Log Analytics upgraden und anschließend ein verknüpftes BigQuery-Dataset erstellen. Informationen zum Aufrufen von Logs, die in Log-Buckets gespeichert sind, finden Sie unter Übersicht über Abfragen und Logs und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • Google Cloud-Projekte: Leiten Sie Logeinträge an ein anderes Google Cloud-Projekt weiter. Wenn Sie Logs an ein anderes Google Cloud-Projekt weiterleiten, empfängt der Logrouter des Zielprojekts die Logs und verarbeitet sie. Die Senken im Zielprojekt bestimmen, wie die empfangenen Logeinträge weitergeleitet werden. Logeinträge, die an ein anderes Google Cloud-Projekt weitergeleitet werden, können von Error Reporting nicht analysiert werden.
  • Pub/Sub-Themen: Unterstützen Integrationen von Drittanbietern wie Splunk Logeinträge werden als JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Ansehen von an Pub/Sub weitergeleiteten Logs finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.
  • BigQuery-Datasets: Speichert Logeinträge in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen für die gespeicherten Logs nutzen. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, empfehlen wir Ihnen, Ihre Log-Buckets auf Loganalysen zu aktualisieren und dann ein verknüpftes BigQuery-Dataset zu erstellen. Informationen zum Aufrufen von an BigQuery weitergeleiteten Logs finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Buckets: Bietet die Speicherung von Logdaten in Cloud Storage. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Ansehen von Logs, die an Cloud Storage weitergeleitet wurden, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.

Weitere Informationen, einschließlich Unterstützung der Regionität von Daten, finden Sie unter Routing und Speicher – Übersicht.

Logkategorien

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

  • Plattformlogs sind Logs, die von Ihren Google Cloud-Diensten geschrieben werden. Diese Logs helfen Ihnen beim Debuggen und Beheben von Problemen und helfen Ihnen, die von Ihnen verwendeten Google Cloud-Dienste besser zu verstehen. In VPC-Flusslogs wird beispielsweise eine Stichprobe von Netzwerkflüssen aufgezeichnet, die von VM-Instanzen gesendet und empfangen werden.

  • Komponentenlogs ähneln Plattformlogs, werden jedoch von Google-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 das Google Cloud-Projekt eines Nutzers gesendet. GKE verwendet die Logs oder deren Metadaten, um Nutzersupport bereitzustellen.

  • Anhand von Sicherheitsprotokollen können Sie ermitteln, wer was wo und wann getan hat:

    • Cloud-Audit-Logs enthalten Informationen zu Verwaltungsaktivitäten und Zugriffen innerhalb Ihrer Google Cloud-Ressourcen. Wenn Sie Audit-Logs aktivieren, können Ihre Sicherheits-, Audit- und Compliance-Entitäten Google Cloud-Daten und -Systeme auf mögliche Sicherheitslücken oder den externen Datenmissbrauch überwachen. Eine Liste der von Google Cloud unterstützten Dienste finden Sie unter Google-Dienste mit Audit-Logs.

    • Access Transparency bietet Ihnen Logs zu Aktionen, die von Google-Mitarbeitern beim Zugriff auf Ihre Google Cloud-Inhalte ausgeführt wurden. Mit Access Transparency-Logs können Sie die Einhaltung Ihrer rechtlichen und behördlichen Anforderungen für Ihre Organisation nachverfolgen. Eine Liste der von Google Cloud unterstützten Dienste finden Sie unter Google-Dienste mit Access Transparency-Logs.

  • Von Nutzern geschriebene Logs sind Logs, die von benutzerdefinierten Anwendungen und Diensten geschrieben werden. In der Regel werden diese Logs mit einer der folgenden Methoden in Cloud Logging geschrieben:

  • Multi-Cloud-Logs und Hybrid-Cloud-Logs beziehen sich auf Logs von anderen Cloud-Anbietern wie Microsoft Azure sowie auf Logs aus einer lokalen Infrastruktur.

Datenmodell für Logs

Das Datenmodell, mit dem Cloud Logging Ihre Logdaten organisiert, bestimmt die Dimensionen, über die Sie diese Daten abfragen können. Da ein Log beispielsweise eine benannte Sammlung einzelner Einträge ist, können Sie Ihre Daten anhand des Lognamens abfragen. Da jedes Log aus Logeinträgen besteht, die als LogEntry-Objekte formatiert sind, können Sie Abfragen schreiben, mit denen nur Logeinträge abgerufen werden, bei denen der Wert eines LogEntry-Felds einige Kriterien erfüllt. So lassen sich beispielsweise nur die Logeinträge aufrufen, deren Feld severity den Wert ERROR enthält.

Jeder Logeintrag zeichnet den Status auf oder beschreibt ein bestimmtes Ereignis wie das Erstellen einer VM-Instanz und besteht mindestens aus Folgendem:

  • 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.
  • Eine Nutzlast, auch als Nachricht bezeichnet, 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. Im Folgenden finden Sie Beispiele für Lognamen:

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

Zugriffssteuerung

Identitäts- und Zugriffsverwaltungsrollen steuern die Fähigkeit eines Hauptkontos, auf Logs zuzugreifen. Sie können Hauptkonten 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 – Übersicht.

Preisgestaltung und Kostenkontrolle

Informationen zu Preisen finden Sie unter Cloud Logging – Preise.

Strategien zur Reduzierung der Logging-Kosten finden Sie unter Logging-Kostenkontrollen.