Cloud Logging – Übersicht

Dieses Dokument bietet einen Überblick über Cloud Logging, ein Echtzeit-Logverwaltungssystem mit Unterstützung für Speicherung, Suche, Analyse und Monitoring. Cloud Logging erfasst automatisch Logs aus Google Cloud-Ressourcen. Sie können auch Logs aus Ihren Anwendungen, lokalen Ressourcen und Ressourcen von anderen Cloud-Anbietern erfassen. Sie können auch Benachrichtigungsrichtlinien konfigurieren, damit Sie von Cloud Monitoring benachrichtigt werden, wenn in Ihren Logs bestimmte Arten von Ereignissen gemeldet werden. Aus regulatorischen oder Sicherheitsgründen können Sie festlegen, wo Ihre Logdaten gespeichert werden.

Logs aus Anwendungen und Drittanbieter-Software erfassen

Sie können Logs 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 aus Drittanbieteranwendungen wie nginx erfassen. Dazu installieren Sie den Ops-Agent und konfigurieren ihn dann so, dass Logs aus dieser Anwendung in Ihr Google Cloud-Projekt geschrieben werden.

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

Fehlerbehebung und Analyse von Logs

Sie können Ihre Logdaten in der Google Cloud Console entweder mit dem Log-Explorer oder auf den Loganalysen ansehen und analysieren. Sie können Logs mit beiden Oberflächen abfragen und anzeigen lassen. Diese verwenden jedoch unterschiedliche Abfragesprachen und bieten unterschiedliche Funktionen.

Wenn Sie Fehler beheben und die Leistung Ihrer Dienste und Anwendungen analysieren möchten, empfehlen wir die Verwendung des Log-Explorers. Über diese Benutzeroberflä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 Menü mit Optionen versehen, über die 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, die an eine bestimmte URL gesendet werden, im Zeitverlauf zu berechnen, verwenden Sie die Loganalysen-Oberfläche. In dieser Schnittstelle verwenden Sie SQL zum Abfragen Ihrer Logdaten. Damit stehen Ihnen die SQL-Funktionen zur Verfügung, um Ihre Logdaten zu verstehen.

Wenn Sie Ihre Logdaten lieber programmatisch abfragen möchten, können Sie die Cloud Logging API oder die Google Cloud CLI verwenden, um Logdaten 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 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 benachrichtigt werden möchten, wenn eine bestimmte Nachricht auftritt, z. B. ein kritisches sicherheitsbezogenes Ereignis, können Sie eine logbasierte Benachrichtigungsrichtlinie erstellen. Eine logbasierte Benachrichtigungsrichtlinie überwacht Ihre Logs auf ein bestimmtes Muster. Wird dieses Muster gefunden, sendet Monitoring eine Benachrichtigung und erstellt einen Vorfall. Logbasierte Benachrichtigungsrichtlinien sind nützlich für wichtige, aber seltene Ereignisse wie die folgenden:

  • Sie möchten benachrichtigt werden, wenn ein Ereignis in einem Audit-Log erscheint, 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 auch Trends oder das Auftreten von Ereignissen im Zeitverlauf beobachten. In diesen Fällen können Sie einen logbasierten Messwert erstellen. Ein logbasierter Messwert kann die Anzahl der Logeinträge zählen, die ein bestimmtes Kriterium erfüllen, oder Informationen wie Antwortzeiten extrahieren und in Histogramme organisieren. Sie können auch Benachrichtigungsrichtlinien konfigurieren, die Sie bei Leistungsänderungen benachrichtigen, z. B. wenn die Antwortzeit auf ein inakzeptables Niveau ansteigt. Logbasierte Messwerte eignen sich für folgende Aktionen:

  • Sie können in Ihren Logs festlegen, wie oft eine Nachricht, z. B. eine Warnung oder ein Fehler, erfasst werden. Sie erhalten eine Benachrichtigung, wenn die Anzahl einen Grenzwert überschreitet.
  • Beobachten Sie Trends in Ihren Daten, z. B. Latenzwerte in Ihren Logs, und erhalten Sie eine Benachrichtigung, 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 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 Compute Engine generierten Logs automatisch für Sie gespeichert. Bei Bedarf können Sie jedoch eine Reihe von Aspekten des Logspeichers konfigurieren, z. B. welche Logs gespeichert, welche verworfen werden und wo sie gespeichert werden.

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

  • Cloud Logging-Bucket: Stellt Speicher in Cloud Logging bereit. In einem Log-Bucket können Logeinträge gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren. Dazu aktualisieren Sie einen Log-Bucket zur Verwendung von Loganalysen und erstellen dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Logs abfragen und ansehen und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: zum Speichern von Logeinträgen in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen auf die gespeicherten Logeinträge anwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, sollten Sie Ihre Log-Buckets auf Loganalysen aktualisieren und dann ein verknüpftes BigQuery-Dataset erstellen. Weitere Informationen zum Aufrufen von an BigQuery weitergeleiteten Logeinträgen finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Bucket: Bietet die Speicherung von Logeinträgen in Cloud Storage. Logeinträge werden als JSON-Dateien gespeichert. Weitere Informationen zum Aufrufen 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 als JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Aufrufen von an Pub/Sub weitergeleiteten Logeinträgen finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.
  • Splunk: Bietet Unterstützung für Splunk. Sie müssen Ihre Logeinträge an ein Pub/Sub-Thema weiterleiten und dieses Thema dann mit Splunk abonnieren.
  • Google Cloud-Projekt: Logeinträge an ein anderes Google Cloud-Projekt weiterleiten. Wenn Sie Logeinträge an ein anderes Google Cloud-Projekt weiterleiten, empfängt der Logrouter des Zielprojekts die Logeinträge und verarbeitet sie. Die Senken im Zielprojekt bestimmen, wie die empfangenen Logeinträge weitergeleitet werden. Error Reporting kann Logeinträge analysieren, wenn sie vom Zielprojekt an einen Log-Bucket des Zielprojekts weitergeleitet werden.
  • Weitere Ressourcen: Leiten Sie Ihre Logeinträge an ein unterstütztes Ziel weiter, das sich in einem anderen Projekt befindet. Weitere Informationen zu den zu verwendenden Pfaden finden Sie unter Zielpfadformate.

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

Logkategorien

Logkategorien sollen die Ihnen zur Verfügung stehenden Logging-Informationen 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 Beheben von Problemen und helfen Ihnen, die von Ihnen verwendeten Google Cloud-Dienste besser zu verstehen. Mit VPC-Flusslogs wird beispielsweise eine Stichprobe von Netzwerkflüssen erfasst, 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 stellt beispielsweise Softwarekomponenten bereit, die Nutzer auf ihrer eigenen VM oder in ihrem eigenen Rechenzentrum ausführen können. Logs werden aus den GKE-Instanzen des Nutzers generiert und an das Google Cloud-Projekt eines Nutzers gesendet. GKE verwendet die Logs oder deren Metadaten, um Nutzersupport zu bieten.

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

    • Cloud-Audit-Logs bieten Informationen zu administrativen Aktivitä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 externen Datenmissbrauch überwachen. Eine Liste der von Google Cloud unterstützten Dienste finden Sie unter Google-Dienste mit Audit-Logs.

    • Access Transparency bietet 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 der rechtlichen und regulatorischen Anforderungen für Ihre Organisation verfolgen. 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 wurden. 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 und Logs aus der lokalen Infrastruktur.

Datenmodell für Logs

Das Datenmodell, das Cloud Logging zum Organisieren Ihrer Logdaten verwendet, 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 bestimmte Kriterien erfüllt. Sie können beispielsweise nur die Logeinträge aufrufen, deren Feld severity den Wert ERROR hat.

In jedem Logeintrag wird der Status aufgezeichnet oder ein bestimmtes Ereignis beschrieben, z. B. das Erstellen einer VM-Instanz. Er enthält mindestens Folgendes:

  • 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. Sie wird entweder als unstrukturierte Textdaten oder als strukturierte Textdaten im JSON-Format bereitgestellt.
  • 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

Rollen der Identity and Access Management steuern, ob ein Hauptkonto auf Logs zugreifen kann. 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: Aufbewahrung.

Preise und Kostenkontrollen

Informationen zu Preisen finden Sie unter Cloud Logging – Preise.

Strategien zur Senkung der Logging-Kosten finden Sie unter Kostenkontrollen für Logging.