In diesem Dokument werden aggregierte Senken beschrieben, mit denen Sie Logeinträge aus Ressourcen in einem Ordner oder einer Organisation zusammenführen und an ein unterstütztes Ziel weiterleiten können. Wir empfehlen, aggregierte Senken zu verwenden, um Ihre Protokolldaten an einen zentralen Speicherort weiterzuleiten.
Aggregierte Senken
Eine zusammengefasste Senke ähnelt einer Senke auf Projektebene, da sie Filter und ein Ziel enthält. Der Log Router sendet jedoch die folgenden Logeinträge an eine aggregierte Senke:
- Alle Logeinträge, die aus einem Ordner oder einer Organisation stammen.
- Alle Logeinträge, die aus den untergeordneten Ressourcen des Ordners oder der Organisation stammen.
Wenn Sie beispielsweise eine aggregierte Senke auf Ordnerebene erstellen, sendet der Log Router alle Protokolleinträge an diese Senke, die aus dem Ordner oder aus untergeordneten Ressourcen des Ordners stammen.
Wenn in der Ressourcenhierarchie eines Logeintrags aggregierte Senken vorhanden sind, sendet der Log Router den Logeintrag zuerst an diese Senken. Da aggregierte Senken die Daten abfangen oder nicht abfangen können, sendet der Logrouter möglicherweise keinen Logeintrag, der von einer aggregierten Senke an die Senken auf Projektebene weitergeleitet wird.
- Aggregierte Senke abfangen
Eine abfangende aggregierte Senke verhindert, dass Logeinträge an Senken in untergeordneten Ressourcen weitergeleitet werden, mit Ausnahme der
_Required
-Senken in den Ressourcen, aus denen die Logeinträge stammen. Eine abfangende aggregierte Senke kann nützlich sein, um zu verhindern, dass doppelte Kopien von Protokolleinträgen an mehreren Stellen gespeichert werden.Angenommen, Sie müssen Audit-Logs zum Datenzugriff zu Prüfzwecken aktivieren. Um die Analyse zu vereinfachen, sollten Sie diese Protokolle an einem zentralen Ort speichern. Aus Sicherheits- und Kostengründen möchten Sie jedoch verhindern, dass diese Protokolle auf Projektebene gespeichert werden. Für dieses Szenario können Sie eine abfangende aggregierte Senke erstellen.
- Nicht abfangende aggregierte Senke
Ein nicht abfangender aggregierter Abfluss hat keine Auswirkungen darauf, wie Logeinträge an andere Abflüsse weitergeleitet werden. Selbst wenn ein Logeintrag mit dem Filter einer nicht abfangenden aggregierten Senke übereinstimmt, wird er an andere Senken in der Ressourcenhierarchie des Logeintrags weitergeleitet. Mit einem nicht abfangenden aggregierten Sink können Sie die Sichtbarkeit von Protokolleinträgen in den Ressourcen beibehalten, in denen sie generiert wurden.
Sie können beispielsweise eine nicht abfangende aggregierte Senke erstellen, die alle Logeinträge, die in den Ordnern einer Organisation generiert werden, an einen zentralen Log-Bucket weiterleitet. Die Logeinträge werden im zentralen Log-Bucket gespeichert. Da die Senke jedoch nicht abfangend ist, sendet der Log-Router Logeinträge auch an die Log-Senken in der Ressource, in der sie generiert wurden.
Routing-Beispiele
In diesem Abschnitt wird veranschaulicht, wie ein Logeintrag, der in einem Projekt stammt, durch die Senken in der Ressourcenhierarchie fließen kann.
Beispiel: Es gibt keine aggregierten Senken
Wenn in der Ressourcenhierarchie des Logeintrags keine aggregierten Senken vorhanden sind, wird der Logeintrag an die Logsenken im Projekt gesendet, aus dem er stammt. Eine Senke auf Projektebene leitet den Logeintrag an das Ziel der Senke weiter, wenn der Logeintrag mit dem Einschlussfilter der Senke übereinstimmt, aber mit keinem der Ausschlussfilter der Senke.
Beispiel: Es gibt einen nicht abfangenden aggregierten Datenablauf
Angenommen, in der Ressourcenhierarchie für einen Logeintrag gibt es eine nicht abfangende aggregierte Senke. Nachdem der Log Router den Logeintrag an die nicht abfangende aggregierte Senke gesendet hat, geschieht Folgendes:
Die nicht abfangende zusammengefasste Senke leitet den Logeintrag an das Ziel der Senke weiter, wenn der Logeintrag mit dem Einschlussfilter, aber mit keinem Ausschlussfilter übereinstimmt.
Der Log Router sendet den Logeintrag an die Logsenke im Projekt, aus dem der Logeintrag stammt.
Eine Senke auf Projektebene leitet den Logeintrag an das Ziel der Senke weiter, wenn der Logeintrag mit dem Einschlussfilter der Senke übereinstimmt, aber mit keinem der Ausschlussfilter der Senke.
Beispiel: Es gibt eine abfangende aggregierte Senke.
Angenommen, in der Ressourcenhierarchie für einen Logeintrag gibt es eine abfangende aggregierte Senke. Nachdem der Log Router den Logeintrag an die abfangende aggregierte Senke gesendet hat, geschieht Folgendes:
Der Logeintrag stimmt mit dem Einschlussfilter überein, aber mit keinem Ausschlussfilter:
- Der Logeintrag wird an das Ziel der abfangenden aggregierten Senke weitergeleitet.
- Der Logeintrag wird an die
_Required
-Senke im Projekt gesendet, in dem er seinen Ursprung hat.
Der Logeintrag stimmt nicht mit dem Einschlussfilter überein oder mit mindestens einem Ausschlussfilter:
- Der Logeintrag wird nicht von der abfangenden aggregierten Senke weitergeleitet.
Der Log Router sendet den Logeintrag an die Logsenke im Projekt, aus dem er stammt.
Eine Senke auf Projektebene leitet den Logeintrag an das Ziel der Senke weiter, wenn der Logeintrag mit dem Einschlussfilter der Senke übereinstimmt, aber mit keinem der Ausschlussfilter der Senke.
Unterstützte Ziele für aggregierte Senken
In diesem Abschnitt sind die Ziele aufgeführt, die für aggregierte Senken unterstützt werden.
Abfangende Senken
Das Ziel einer abfangenden aggregierten Senke muss einGoogle Cloud -Projekt sein.
Die Log-Senken im Zielprojekt leiten die Logeinträge an ihre Ziele weiter. Alle Ziele außer Projekten werden unterstützt. Beispielsweise können die Log-Sinks im Zielprojekt Logeinträge an einen Log-Bucket weiterleiten.
Nicht abfangende Senken
Das Ziel einer nicht abfangenden aggregierten Senke kann eine der folgenden Optionen sein:
Das Ziel einer Senke kann sich in einer anderen Ressource als der Senke befinden. Sie können beispielsweise eine Log-Senke verwenden, um Logeinträge aus einem Projekt an einen Log-Bucket in einem anderen Projekt weiterzuleiten.
Folgende Ziele werden unterstützt:
- Google Cloud -Projekt
Wählen Sie dieses Ziel aus, wenn die Log-Senke im Zielprojekt Ihre Logeinträge umleiten soll, oder wenn Sie eine abfangende aggregierte Senke erstellt haben. Die Log-Senke im Projekt, das das Senkenziel ist, kann die Logeinträge an jedes unterstützte Ziel weiterleiten, mit Ausnahme eines Projekts.
- Log-Bucket
Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten in von Cloud Logging verwalteten Ressourcen speichern möchten. In Log-Buckets gespeicherte Logdaten können mit Diensten wie dem Log-Explorer und Log Analytics aufgerufen und analysiert werden.
Wenn Sie Ihre Logdaten mit anderen Geschäftsdaten zusammenführen möchten, können Sie Ihre Logdaten in einem Log-Bucket speichern und ein verknüpftes BigQuery-Dataset erstellen. Ein verknüpftes Dataset ist ein schreibgeschütztes Dataset, das wie jedes andere BigQuery-Dataset abgefragt werden kann.
- BigQuery-Dataset
- Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten mit anderen Geschäftsdaten zusammenführen möchten. Für das angegebene Dataset muss Schreibzugriff aktiviert sein. Als Ziel einer Senke darf kein verknüpftes BigQuery-Dataset festgelegt werden. Verknüpfte Datensätze sind schreibgeschützt.
- Cloud Storage-Bucket
- Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten langfristig speichern möchten. 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.
- Pub/Sub-Thema
- Wählen Sie dieses Ziel aus, wenn Sie Ihre Protokolldaten ausGoogle Cloud exportieren und dann Drittanbieterintegrationen wie Splunk oder Datadog verwenden möchten. Logeinträge werden in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet.
Best Practices
Wir empfehlen, dass das Ziel einer aggregierten Senke ein Google Cloud -Projekt ist.
Bei diesem Ziel werden die Logeinträge von den Logsenken im Zielprojekt Google Cloud umgeleitet.
Die _Required
-Senke leitet nur Logeinträge weiter, die mit ihrem Filter übereinstimmen und aus der Ressource stammen, in der die Senke definiert ist. Wenn Sie also zusätzliche Kopien von Logeinträgen speichern möchten, die mit dem Filter der _Required
-Senke übereinstimmen, müssen Sie eine benutzerdefinierte Log-Senke erstellen oder den Filter der _Default
-Log-Senke ändern.
Beim Erstellen eines Abfang-Sinks empfehlen wir Folgendes:
Überlegen Sie, ob untergeordnete Ressourcen eine unabhängige Steuerung für das Routing ihrer Protokolleinträge benötigen. Wenn eine untergeordnete Ressource eine unabhängige Steuerung bestimmter Protokolleinträge benötigt, prüfen Sie, ob Ihr abfangender Empfänger diese Protokolleinträge nicht weiterleitet.
Fügen Sie der Beschreibung eines Abfang-Sinks Kontaktdaten hinzu. Das kann hilfreich sein, wenn die Personen, die den Abfang-Sink verwalten, nicht dieselben sind wie die, die die Projekte verwalten, deren Logeinträge abgefangen werden.
Testen Sie die Senkenkonfiguration, indem Sie zuerst eine nicht abfangende aggregierte Senke erstellen, um zu prüfen, ob die richtigen Logeinträge weitergeleitet werden.
Aggregierte Abläufe und logbasierte Messwerte abfangen
Logbasierte Messwerte sind Cloud Monitoring-Messwerte, die aus dem Inhalt von Logeinträgen abgeleitet werden. Die Art und Weise, wie ein Logeintrag weitergeleitet wird, bestimmt, für welche logbasierten Messwerte er gezählt werden kann. Da sich ein abfangender aggregierter Abfluss auf die Weiterleitung von Logeinträgen auswirkt, kann das Erstellen dieser Art von Abfluss zu Änderungen der Werte vorhandener logbasierter Messwerte führen.
Weitere Informationen finden Sie unter Auswirkungen von Routing-Logeinträgen auf logbasierte Messwerte.
Aggregierte Abläufe und VPC Service Controls
Bei der Verwendung von aggregierten Senken und VPC Service Controls gelten die folgenden Einschränkungen:
Aggregierte Senken können auf Daten von Projekten innerhalb eines Dienstperimeters zugreifen. Wenn Sie verhindern möchten, dass aggregierte Senken auf Daten innerhalb eines Perimeters zugreifen, verwenden Sie IAM, um Logging-Berechtigungen zu verwalten.
VPC Service Controls unterstützt das Hinzufügen von Ordner- oder Organisationsressourcen zu Dienstperimetern nicht. Daher können Sie VPC Service Controls nicht zum Schutz von Logs auf Ordner- und Organisationsebene verwenden, einschließlich aggregierter Logs. Zum Verwalten von Logging-Berechtigungen auf Ordner- oder Organisationsebene empfehlen wir IAM.
Wenn Sie Logs mithilfe einer Logsenke auf Ordner- oder Organisationsebene an eine Ressource weiterleiten, die durch einen Dienstperimeter geschützt wird, müssen Sie dem Dienstperimeter eine Regel für eingehenden Traffic hinzufügen. Die Regel für eingehenden Traffic muss den Zugriff auf die Ressource über das Dienstkonto zulassen, das von der aggregierten Senke verwendet wird. Weitere Informationen finden Sie auf den folgenden Seiten:
Wenn Sie eine Richtlinie für eingehenden oder ausgehenden Traffic für einen Dienstperimeter angeben, können Sie
ANY_SERVICE_ACCOUNT
undANY_USER_ACCOUNT
nicht als Identitätstyp verwenden, wenn Sie Logs mithilfe eines Log-Sinks an Cloud Storage-Ressourcen weiterleiten. Sie können jedochANY_IDENTITY
als Identitätstyp verwenden.
Nächste Schritte
Informationen zum Erstellen einer aggregierten Senke finden Sie unter Logs auf Organisations- und Ordnerebene sortieren und an unterstützte Ziele weiterleiten.
Eine Anleitung finden Sie unter Logs Ihrer Organisation zusammenfassen und speichern.
Informationen zum Verwalten vorhandener Senken finden Sie unter Logs an unterstützte Ziele weiterleiten: Senken verwalten.
Informationen zum Aufrufen von Logs in ihren Zielen sowie zum Formatieren und Organisieren der Logs finden Sie unter Logs in Senkenzielen ansehen.