Cloud Logging – Übersicht

Dieses Dokument bietet einen Überblick über Cloud Logging, ein Logverwaltungssystem in Echtzeit, das Speicher, Suche, Analyse und Monitoring unterstützt. Cloud Logging erfasst automatisch Logs aus Google Cloud-Ressourcen. Sie können auch Logs von Ihren Anwendungen, lokalen Ressourcen und Ressourcen von anderen Cloud-Anbietern erfassen. Sie können Benachrichtigungen so konfigurieren, dass Sie über bestimmte Arten von Ereignissen in Ihren Logs informiert werden. Aus regulatorischen oder Sicherheitsgründen können Sie auch bestimmen, wo die Logdaten gespeichert werden.

Protokolle aus Anwendungen und Drittanbieter-Software erfassen

Sie können Logs von von Ihnen geschriebenen Anwendungen erfassen, indem Sie Ihre Anwendung mithilfe einer Clientbibliothek instrumentieren. Es ist jedoch nicht immer notwendig, 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 müssen Sie den Ops-Agent installieren und dann so konfigurieren, 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 denen 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 Loganalysen-Seite. Sie können Logs mit beiden Oberflächen abfragen und ansehen. Sie verwenden jedoch unterschiedliche Abfragesprachen und unterschiedliche Funktionen.

Zur Fehlerbehebung und Analyse der Leistung Ihrer Dienste und Anwendungen 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.

Verwenden Sie die Loganalyse-Oberfläche, 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. 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 der 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 wenn in Ihren Logdaten ein Trend 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 über eine bestimmte Nachricht informiert werden möchten, z. B. ein kritisches sicherheitsbezogenes 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 die folgenden:

  • 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 beobachten. In diesen Fällen können Sie einen logbasierten Messwert erstellen. Ein logbasierter Messwert kann die Anzahl der Logeinträge zählen, die einem bestimmten Kriterium entsprechen, oder Informationen wie Antwortzeiten extrahieren und in Histogramme organisieren. Sie können auch Benachrichtigungen konfigurieren, die Sie über Leistungsänderungen informieren, z. B. wenn sich die Antwortzeit auf ein inakzeptables Niveau erhöht. Logbasierte Messwerte eignen sich für folgende Aufgaben:

  • Sie können das Auftreten einer Nachricht wie Warnungen oder Fehler in Ihren Logs zählen und eine Benachrichtigung erhalten, wenn die Anzahl der Vorkommnisse einen Grenzwert überschreitet.
  • Beobachten Sie Trends in Ihren Daten, z. B. Latenzwerte in Ihren Logs, und lassen Sie sich benachrichtigen, 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

Den Speicherort der Logs müssen Sie 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 und verworfen werden und wo die Logs gespeichert werden.

Sie können Logeinträge an die folgenden Ziele weiterleiten oder weiterleiten, die sich entweder im selben 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. Führen Sie dazu ein Upgrade eines Log-Buckets auf die Verwendung von Log Analytics durch und erstellen Sie dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von in Log-Buckets gespeicherten Logeinträgen finden Sie unter Logs abfragen und ansehen und an Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: Bietet die Speicherung von Logeinträgen in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen für die gespeicherten Logeinträge verwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, empfehlen wir Ihnen, Ihre Log-Buckets auf die Verwendung von Log Analytics zu aktualisieren und dann ein verknüpftes BigQuery-Dataset zu erstellen. Informationen zum Aufrufen von Logeinträgen, die an BigQuery weitergeleitet wurden, finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Bucket: Stellt die Speicherung von Logeinträgen in Cloud Storage bereit. Logeinträge werden als JSON-Dateien gespeichert. 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 in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Aufrufen von Logeinträgen, die an Pub/Sub weitergeleitet wurden, 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 mithilfe von Splunk abonnieren.
  • Google Cloud-Projekt: Sie können 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 das Zielprojekt diese Logeinträge an einen Log-Bucket des Zielprojekts weiterleitet.
  • Andere Ressourcen: Sie können Ihre Logeinträge an ein unterstütztes Ziel weiterleiten, das sich in einem anderen Projekt befindet. Informationen zu den zu verwendenden Pfaden finden Sie unter Zielpfadformate.

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

Logkategorien

Logkategorien sollen die verfügbaren 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 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 stellt beispielsweise Softwarekomponenten bereit, 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 für Nutzersupport.

  • Mithilfe von Sicherheitsprotokollen können Sie herausfinden, 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 einen 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 gesetzlicher und behördlicher 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 und Logs aus einer 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 bestimmten Kriterien entspricht. So lassen sich beispielsweise nur die Logeinträge anzeigen, 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 umfasst 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 Nachricht genannt, 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: Aufbewahrung.

Preisgestaltung und Kostenkontrolle

Informationen zu Preisen finden Sie unter Cloud Logging-Preise.

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