Log-Bereiche erstellen und verwalten

In diesem Dokument wird beschrieben, wie Sie Logbereiche erstellen und verwalten können, um die Logeinträge, die Sie ansehen oder analysieren möchten, effizient zu finden. Wenn Sie nur die Logeinträge ansehen und analysieren möchten, die in einem Projekt, Ordner oder einer Organisation erstellt wurden, ist dieses Dokument nicht für Sie geeignet. Wenn Sie jedoch Logsenken verwenden, um Logs an andere Projekte oder benutzerdefinierte Log-Buckets weiterzuleiten, oder wenn Sie Logansichten verwenden, können Sie mit den Informationen in diesem Dokument bestimmte Logeinträge effizient finden.

In diesem Dokument wird nicht beschrieben, wie Sie Ihre Logs aufrufen. Weitere Informationen zu diesem Thema finden Sie unter Logs mit dem Log-Explorer aufrufen.

Logbereiche

Logbereiche sind persistente Ressourcen auf Projektebene, in denen eine Reihe von Ressourcen aufgeführt ist. Diese Ressourcen können Projekte, Ordner, Organisationen und Logansichten sein. Sie können beispielsweise einen Logbereich definieren, in dem die Projekte aufgeführt sind, die Ressourcen für die Produktion enthalten, oder einen, in dem die Logansichten aufgeführt sind, die Logeinträge für einen bestimmten Ressourcentyp enthalten.

Wenn Sie ein Trusted Cloud Projekt, einen Ordner oder eine Organisationsressource erstellen, erstellt Logging einen Logbereich mit dem Namen _Default. Dieser Bereich umfasst das erstellte Projekt, den erstellten Ordner oder die erstellte Organisation. Wenn es sich bei der gesuchten Ressource um ein Trusted Cloud Projekt, einen Ordner oder eine Organisation handelt, enthalten die Ergebnisse die Logeinträge, die in der Ressource erstellt und dann in einem Log-Bucket gespeichert werden. Der Log-Bucket kann sich in einem beliebigen Projekt befinden. Wenn nach einem Projekt gesucht wird, enthalten die Ergebnisse auch Logeinträge, die von einer Senke in einem anderen Projekt an das Projekt weitergeleitet und dann in einem Log-Bucket gespeichert werden.

Sie können Protokollbereiche erstellen. Sie können die von Ihnen erstellten Protokollbereiche auch bearbeiten und löschen. Sie können den Log-Bereich mit dem Namen _Default jedoch nicht bearbeiten oder löschen.

Mit einem Logbereich legen Sie fest, in welchen Ressourcen auf der Seite Log-Explorer nach Logdaten gesucht wird. Wenn Sie diese Seite öffnen und einen Protokollbereich auswählen, werden die in diesem Bereich aufgeführten Ressourcen durchsucht und die Anzeige wird aktualisiert.

Bei Projekten wird durch den Standardlogbereich festgelegt, in welchen Ressourcen auf der Seite Log-Explorer gesucht wird, wenn sie geöffnet wird. Welche Logeinträge aus dem Speicher abgerufen werden, hängt jedoch von Ihren IAM-Rollen (Identity and Access Management) für die durchsuchten Ressourcen und der Einstellung für den Zeitraum ab. Wenn Projekte erstellt werden, wird der Logbereich mit dem Namen _Default als Standardlogbereich festgelegt.

Unterschiede zwischen Log-Bereichen und zentralisierter Log-Speicherung

Sowohl die zentralisierte Logspeicherung als auch Logbereiche bieten Ihnen die Möglichkeit, Logdaten aus verschiedenen Projekten aufzurufen.

Wenn Sie die Logspeicherung zentralisieren, konfigurieren Sie die Senken in einer Organisation oder einem Ordner so, dass Logeinträge an einen einzelnen Speicherort weitergeleitet werden. Durch die zentrale Speicherung können Sie Logdaten an einem einzigen Ort abfragen. Das vereinfacht Ihre Abfragen, wenn Sie nach Trends suchen oder Probleme untersuchen. Aus Sicherheitssicht haben Sie auch einen Speicherort, was die Aufgaben Ihrer Sicherheitsanalysten vereinfacht.

Wenn eine Abfrage für die in einem Logbereich aufgeführten Ressourcen ausgegeben wird, werden die einzelnen Abfrageergebnisse kombiniert. Ein Logbereich ermöglicht die Aggregation von Logdaten zur Lesezeit, die an verschiedenen Orten gespeichert sein können. Ein Log-Bereich kann jedoch auch verwendet werden, um Lesezugriff auf eine oder mehrere Logansichten in einem zentralen Log-Bucket zu gewähren.

Wenn die Seite Log-Explorer geöffnet wird, werden Anfragen an die Ressourcen gesendet, die im Standardlogbereich aufgeführt sind. Konfigurieren Sie daher den Standardbereich so, dass auf der Seite die Daten angezeigt werden, die Sie normalerweise sehen möchten. Sie können beispielsweise den Standard-Logbereich festlegen, um eine Logansicht aufzulisten, die bei einer Abfrage die Logdaten für eine App Hub-Anwendung zurückgibt.

Best Practices

Da Sie mit Log-Bereichen eine Konfiguration für die zukünftige Verwendung definieren und speichern können, empfehlen wir, Log-Bereiche für komplexe Suchkonfigurationen zu erstellen.

Angenommen, Sie beheben ein Problem und möchten die Logeinträge für alle VM-Instanzen (Virtual Machine) aufrufen, die Ihrem Team gehören. Dazu können Sie Folgendes tun:

  1. Sie stellen fest, dass die Logeinträge, die Sie ansehen möchten, in mehreren Log-Buckets und in mehreren Projekten gespeichert sind. Für die meisten Log-Buckets gibt es eine Log-Ansicht, die die Logeinträge enthält, die Sie analysieren möchten. Wenn keine Logansicht vorhanden ist, können Sie eine erstellen.

  2. Sie entscheiden sich, einen Log-Bereich zu erstellen, da Sie in Zukunft mit einer ähnlichen Aufgabe zur Fehlerbehebung rechnen.

  3. Sie öffnen in der Trusted Cloud Console die Seite Log-Explorer und wählen dann im Menü Bereich eingrenzen den neuen Log-Bereich aus.

  4. Sie sehen sich die Logeinträge an und finden die Informationen, die Sie zum Beheben des Problems benötigen, das Sie untersucht haben.

  5. Nachdem Sie das Problem behoben haben, teilen Sie die Fehlerursache Ihren Kollegen mit. Sie gehen davon aus, dass in Zukunft ähnliche Fehler auftreten werden. Deshalb haben Sie einen Logbereich erstellt, mit dem Sie oder die Person, die den Fehler untersucht, schnell relevante Logeinträge finden können.

App Hub-Anwendungen und Log-Bereiche

Ihre App Hub-Anwendungen schreiben möglicherweise Logdaten in mehrere Projekte. Ihre Logdaten werden möglicherweise in dem Projekt gespeichert, in dem sie generiert wurden. Es kann aber auch sein, dass ein Organisationsadministrator eine zentrale Speicherung konfiguriert hat. Wenn Sie die Logdaten Ihrer Anwendung aufrufen möchten, erstellen Sie einen Logbereich, konfigurieren Sie ihn so, dass die Projekte oder Logansichten aufgeführt werden, in denen die Logdaten Ihrer Anwendung gespeichert sind, und legen Sie ihn dann als Standardlogbereich fest. Wenn Sie diese Schritte ausführen, werden auf der Seite Logs Explorer automatisch die von Ihrer Anwendung geschriebenen Daten angezeigt, auch wenn diese Daten in verschiedenen Projekten oder in einem zentralen Log-Bucket gespeichert sind.

Erstellen Sie den benutzerdefinierten Logbereich in dem Projekt, in dem Sie Ihre Logdaten ansehen möchten. Dieses Projekt ist entweder Ihr App Hub-Hostprojekt oder das Verwaltungsprojekt Ihres für Anwendungen aktivierten Ordners. Wenn der Anzeigename des Ordners beispielsweise My Folder ist, lautet der Anzeigename des Verwaltungsprojekts My Folder-mp.

Beschränkungen

  • Sie können den Logbereich mit dem Namen _Default nicht löschen oder ändern.
  • Nur Trusted Cloud -Projekte unterstützen einen Standardlogbereich.
  • Sie können einem benutzerdefinierten Log-Bereich keine Ordner oder Organisationen hinzufügen.
  • Protokollbereiche werden am Standort global erstellt.

Hinweise

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Logs Configuration Writer (roles/logging.configWriter) für Ihr Projekt, Ihren Ordner oder Ihre Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Aufrufen von Logbereichen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen und Aufrufen von Log-Bereichen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

    Erforderliche Berechtigungen

    Die folgenden Berechtigungen sind erforderlich, um Protokollbereiche zu erstellen und anzusehen:

    • So erstellen und verwalten Sie Logbereiche: logging.logScopes.{create, delete, get, list, update}

    Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Logbereiche auflisten

gcloud

Verwenden Sie den Befehl gcloud logging scopes list, um die Log-Bereiche in einem Projekt aufzulisten:

 gcloud logging scopes list --project=PROJECT_ID

Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Felder:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.

Verwenden Sie den Befehl gcloud logging scopes describe, um die Details eines Log-Bereichs in einem Projekt abzurufen:

 gcloud logging scopes describe LOG_SCOPE_ID --project=PROJECT_ID

Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Felder:

  • PROJECT_ID: Die Kennung des Projekts.
  • LOG_SCOPE_ID: Die ID des Logbereichs. Beispiel: my-scope.

Terraform

Sie können mit Terraform einen Log-Bereich erstellen und ändern. Sie können Terraform jedoch nicht verwenden, um Logbereiche aufzulisten.

REST

Die Cloud Logging API enthält Befehle, mit denen die Logbereiche in einer Ressource aufgelistet oder die Details eines bestimmten Logbereichs abgerufen werden können. Eine vollständige Liste der Befehle finden Sie in der API-Referenzdokumentation.

Verwenden Sie für Trusted Cloud -Projekte die folgenden Befehle:

In den vorherigen Befehlen hat das Feld parent die folgende Syntax:

projects/PROJECT_ID/locations/LOCATION_ID

Die Felder im vorherigen Ausdruck haben die folgende Bedeutung:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOCATION_ID muss auf global festgelegt sein.

Logbereich erstellen

Sie können 100 Log-Bereiche pro Projekt erstellen. Ein Logbereich kann insgesamt 100 Logansichten und Projekte enthalten, aber nur 5 Projekte. Sie können einem Log-Bereich keine Ordner oder Organisationen hinzufügen.

gcloud

Verwenden Sie zum Erstellen eines Logbereichs in einem Projekt den Befehl gcloud logging scopes create:

 gcloud logging scopes create LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Felder:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOG_SCOPE_ID: Die ID des Logbereichs. Beispiel: my-scope.
  • DESCRIPTION: Optional. Die Beschreibung des Logbereichs. Formatieren Sie die Beschreibung als String.

  • RESOURCE_NAMES: Eine durch Kommas getrennte Liste der vollständig qualifizierten Namen von Projekten oder Logansichten. Wenn Sie beispielsweise my-project in den Protokollbereich aufnehmen möchten, geben Sie projects/my-project an.

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

Wenn Sie mit Terraform einen Log-Bereich in einem Projekt, Ordner oder einer Organisation erstellen möchten, verwenden Sie die Terraform-Ressource google_logging_log_scope.

Legen Sie im Befehl die folgenden Felder fest:

  • parent: Der vollständig qualifizierte Name Ihres Projekts, Ordners oder Ihrer Organisation. Sie können dieses Feld beispielsweise auf "projects/PROJECT_ID" festlegen, wobei PROJECT_ID die ID Ihres Trusted Cloud Projekts ist. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • locations: Legen Sie "global" fest.
  • name: Auf den vollständig qualifizierten Namen des Logbereichs festgelegt. Für Projekte hat dieses Feld das folgende Format:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE_ID"
    

    Im vorherigen Ausdruck ist LOG_SCOPE_ID der Name eines Log-Bereichs, z. B. „production“.

  • resource_names: Ein Array von Projekten und Logansichten, wobei jedes Projekt und jede Logansicht mit dem vollständig qualifizierten Namen angegeben wird.

  • description: Eine kurze Beschreibung. Beispiel: „Scope for production resources“ (Bereich für Produktionsressourcen).

REST

Die Cloud Logging API unterstützt auch das Erstellen von Logbereichen in einem Ordner oder einer Organisation. Weitere Informationen finden Sie in der API-Referenzdokumentation.

Verwenden Sie für Trusted Cloud Projekte den folgenden Befehl:

In den vorherigen Befehlen hat das Feld parent die folgende Syntax:

projects/PROJECT_ID/locations/LOCATION_ID

Die Felder im vorherigen Ausdruck haben die folgende Bedeutung:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOCATION_ID muss auf global festgelegt sein.

Protokollbereich ändern oder löschen

gcloud

Verwenden Sie den Befehl gcloud logging scopes update, um die Beschreibung der Ressourcenliste in einem Log-Bereich in einem Projekt zu ändern:

 gcloud logging scopes update LOG_SCOPE_ID --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Felder:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOG_SCOPE_ID: Die ID des Logbereichs. Beispiel: my-scope.
  • DESCRIPTION: Die Beschreibung des Logbereichs. Formatieren Sie die Beschreibung als String. Lassen Sie dieses Feld weg, wenn Sie die Beschreibung des Protokollbereichs nicht ändern möchten.

  • RESOURCE_NAMES: Eine durch Kommas getrennte Liste der vollständig qualifizierten Namen von Projekten oder Logansichten. Lassen Sie dieses Feld weg, wenn Sie die Liste der Ressourcen nicht ändern möchten.

Verwenden Sie den Befehl gcloud logging scopes delete, um einen Logbereich in einem Projekt zu löschen:

 gcloud logging scopes delete LOG_SCOPE_ID --project=PROJECT_ID

Aktualisieren Sie vor dem Ausführen des Befehls die folgenden Felder:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOG_SCOPE_ID: Die ID des Logbereichs. Beispiel: my-scope.

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle. Weitere Informationen finden Sie in der Anbieterreferenzdokumentation zu Terraform.

Wenn Sie einen Log-Bereich in einem Projekt, Ordner oder einer Organisation mit Terraform ändern möchten, verwenden Sie die Terraform-Ressource google_logging_log_scope.

REST

Die Cloud Logging API enthält Befehle, mit denen ein Logbereich geändert oder gelöscht werden kann. Eine vollständige Liste der Befehle finden Sie in der API-Referenzdokumentation.

Verwenden Sie für Trusted Cloud -Projekte die folgenden Befehle:

In den vorherigen Befehlen hat das Feld parent die folgende Syntax:

projects/PROJECT_ID/locations/LOCATION_ID/logScopes/LOG_SCOPE_ID

Die Felder im vorherigen Ausdruck haben die folgende Bedeutung:

  • PROJECT_ID: Die Kennung des Projekts. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  • LOCATION_ID muss auf global festgelegt sein.
  • LOG_SCOPE_ID: Die ID des Logbereichs. Beispiel: my-scope.

Nächste Schritte