In diesem Dokument werden häufige Probleme mit Routing und Speicherung sowie die Verwendung derGoogle Cloud Console zum Anzeigen und Beheben von Konfigurationsfehlern oder unerwarteten Ergebnissen beschrieben.
Allgemeine Informationen zum Aufrufen von Logdaten finden Sie unter Logs in Senkenzielen ansehen.
Fehlerbehebung beim Log-Routing
In diesem Abschnitt wird beschrieben, wie Sie häufige Probleme beim Weiterleiten Ihrer Logeinträge beheben können.
Das Erstellen eines Senken-Fehlers schlägt mit einem unbekannten Dienstfehler fehl
Sie versuchen, eine Logs-Senke zu erstellen, aber der Befehl schlägt mit dem Fehler INVALID_ARGUMENT (HTTP 400) fehl. Die Fehlermeldung enthält Folgendes:
Sink.destination with unknown service name: [SERVICE_DOMAIN]. Supported services are bigquery.googleapis.com,pubsub.googleapis.com,storage.googleapis.com,logging.googleapis.com
Verwenden Sie den globalen Endpunkt für einen der unterstützten Dienste, um diesen Fehler zu beheben. Für das Ziel einer Logs-Senke kann kein regionaler Dienstendpunkt (Regional Service Endpoint, REP) wie pubsub.LOCATION.rep.googleapis.com angegeben werden.
Fehlermeldung zur Senkenkonfiguration besagt, dass eine Themenregion nicht zulässig ist
Eines der folgenden Ereignisse tritt ein:
Sie erhalten eine E‑Mail mit dem Betreff
[ACTION REQUIRED] Cloud Logging sink configuration error in [PROJECT_ID]und dem Fehlercodetopic_region_not_allowed. Die E-Mail enthält eine Nachricht, die der folgenden ähnelt:Die Richtlinie für die Nachrichtenspeicherung des Themas erfordert die Erzwingung während der Übertragung, aber die Publish-Anfrage wurde von einem Pub/Sub-Server in einer nicht zulässigen Region empfangen. Veröffentlichen Sie entweder über einen regionalen Cloud Logging-Endpunkt, der einer zulässigen Region entspricht, oder aktualisieren Sie die Nachrichtenspeicherrichtlinie des Themas.
Sie sehen Logeinträge mit dem Schweregrad
ERROR, dem Fehlercode"topic_region_not_allowed"und einer Textnutzlast, die der folgenden ähnelt:Cloud Logging sink configuration error in [PROJECT_ID], sink [SINK_NAME]: topic_region_not_allowed ()
Diese Meldungen weisen darauf hin, dass das Ziel der Senke ein Pub/Sub-Thema ist, für das Transitbeschränkungen gelten, und dass protokollierte Logeinträge aus einer Region weitergeleitet werden, die nicht durch die Richtlinie des Themas zulässig ist. Transitbeschränkungen können in der Nachrichtenspeicherrichtlinie eines einzelnen Themas konfiguriert oder organisationsweit mit der Einschränkung für die Organisationsrichtlinie constraints/pubsub.enforceInTransitRegions erzwungen werden.
Führen Sie einen der folgenden Schritte aus, um diese Fehler zu beheben:
- Aktualisieren Sie die Nachrichtenspeicherrichtlinie des Ziel-Pub/Sub-Themas, um die Erzwingung der Übertragungsregion zu deaktivieren oder die zulässigen Persistenzregionen zu erweitern.
- Wenn die Einschränkungen für die Übertragung durch eine Organisationsrichtlinie erzwungen werden, aktualisieren Sie die Organisationsrichtlinie oder beantragen Sie eine Ausnahme für das Projekt.
- Aktualisieren Sie die Senke, um Logeinträge an ein anderes Ziel weiterzuleiten.
Das Ziel enthält unerwünschte Logeinträge
Sie sehen sich die an ein Ziel weitergeleiteten Logeinträge an und stellen fest, dass das Ziel unerwünschte Logeinträge enthält.
Aktualisieren Sie die Ausschlussfilter für Ihre Senken, über die Logeinträge an das Ziel weitergeleitet werden, um diesen Zustand zu beheben. Mit Ausschlussfiltern können Sie ausgewählte Logeinträge vom Routing an ein Ziel ausschließen.
Angenommen, Sie erstellen eine aggregierte Senke, um Logeinträge in einer Organisation an ein Ziel weiterzuleiten. Wenn Sie verhindern möchten, dass die Logeinträge eines bestimmten Projekts an das Ziel weitergeleitet werden, fügen Sie der Senke den folgenden Ausschlussfilter hinzu:
logName:projects/PROJECT_ID
Sie können auch Logeinträge aus mehreren Projekten ausschließen, indem Sie logName-Klauseln mit dem logischen OR-Operator verknüpfen.
Im Ziel fehlen Logeinträge
Das vielleicht häufigste Problem im Zusammenhang mit Senken ist, dass Logeinträge im Ziel einer Senke zu fehlen scheinen.
In einigen Fällen wird kein Fehler generiert, aber Sie stellen möglicherweise fest, dass Logeinträge nicht verfügbar sind, wenn Sie in Ihrem Ziel darauf zugreifen möchten. Wenn Sie vermuten, dass die Senke Logeinträge nicht ordnungsgemäß weiterleitet, prüfen Sie die logbasierten Systemmesswerte Ihrer Senke:
exports/byte_count: Anzahl der Byte in Logeinträgen, die weitergeleitet wurdenexports/log_entry_count: Anzahl der weitergeleiteten Logeinträgeexports/error_count: Anzahl der Logeinträge, die nicht weitergeleitet werden konnten
Die Messwerte haben Labels, mit denen die jeweilige Anzahl mit Senkenname und Zielname aufgezeichnet wird und angegeben wird, ob Logeinträge von der Senke erfolgreich weitergeleitet werden oder nicht. Weitere Informationen zum Aufrufen von Messwerten finden Sie unter Übersicht über logbasierte Messwerte.
Wenn die Senkenmesswerte darauf hinweisen, dass die Senke nicht wie erwartet funktioniert, kann dies u. a. folgende Gründe haben:
Latenz
Seit dem Erstellen oder Aktualisieren der Senke wurden keine übereinstimmenden Logeinträge empfangen. Es werden nur neue Logeinträge weitergeleitet.
Warten Sie eine Stunde und prüfen Sie dann Ihr Ziel noch einmal.
Übereinstimmende Logeinträge kömmen spät an.
Es kann zu einer Verzögerung kommen, bevor Sie Ihre Logeinträge am Zielort sehen können. Spät ankommende Logeinträge sind besonders häufig bei Senken, die Cloud Storage-Buckets als Ziele konfiguriert haben. Warten Sie einige Stunden und prüfen Sie dann Ihr Ziel noch einmal.
Falscher Betrachtungsbereich/Filter
Der Bereich, den Sie zum Aufrufen von Logeinträgen verwenden, die in einem Log-Bucket gespeichert sind, ist falsch.
So schränken Sie Ihre Suche auf eine oder mehrere Logansichten ein:
Wenn Sie den Log-Explorer verwenden, klicken Sie auf die Schaltfläche Bereich eingrenzen.
Wenn Sie die gcloud CLI verwenden, verwenden Sie den Befehl
gcloud logging readund fügen Sie ein--view=AllLogs-Flag hinzu.
Der Zeitraum, den Sie zum Auswählen und Ansehen von Daten im Ziel der Senke verwenden, ist zu kurz.
Erweitern Sie den Zeitraum, den Sie beim Auswählen von Daten in Ihrem Senkenziel verwenden.
Fehler im Senkenfilter
Der Filter der Senke ist falsch und erfasst nicht die Logeinträge, die Sie am Ziel sehen möchten.
Bearbeiten Sie den Filter Ihrer Senke mit dem Log Router in der Google Cloud -Konsole. Wenn Sie prüfen möchten, ob Sie den richtigen Filter eingegeben haben, wählen Sie im Bereich Senke bearbeiten die Option Logvorschau ansehen aus. Dadurch wird der Log-Explorer in einem neuen Tab geöffnet, auf dem der Filter bereits ausgefüllt ist. Eine Anleitung zum Aufrufen und Verwalten Ihrer Senken finden Sie unter Senken verwalten.
Fehler ansehen
Für jedes unterstützte Senkenziel bietet Logging Fehlermeldungen für falsch konfigurierte Senken.
Es gibt mehrere Möglichkeiten, diese senkenbezogenen Fehler aufzurufen. Diese Methoden werden in den folgenden Abschnitten beschrieben:
- Fehlerlogs für die Senke ansehen
E-Mail-Benachrichtigungen zu Senkenfehlern erhalten
Der Absender dieser E‑Mail ist
logging-noreply@google.com. Die Betreffzeile ähnelt[ACTION REQUIRED] Cloud Logging sink configuration error.
Fehlerlogs
Es wird empfohlen, die mit Senken verbundenen Fehler im Detail zu prüfen, indem Sie sich die von der Senke generierten Fehlerlogeinträge ansehen. Weitere Informationen zum Aufrufen von Logeinträgen finden Sie unter Logs mit dem Log-Explorer aufrufen.
Sie können die folgende Abfrage im Bereich „Abfrageeditor“ im Log-Explorer verwenden, um die Fehlerlogs Ihres Senken zu prüfen. Dieselbe Abfrage funktioniert in der Logging API und der gcloud CLI.
Bevor Sie die Abfrage kopieren, ersetzen Sie die Variable SINK_NAME durch den Namen des Senken, bei dem Sie die Fehlerbehebung durchführen möchten. Sie finden den Namen Ihrer Senke in der Google Cloud Console auf der Seite Log Router.
logName:"logging.googleapis.com%2Fsink_error"
resource.type="logging_sink"
resource.labels.name="SINK_NAME"
Wenn der Name Ihrer Senke beispielsweise my-sink-123 lautet, könnte der Logeintrag so aussehen:
{
errorGroups: [
0: {
id: "COXu96aNws6BiQE"
}]
insertId: "170up6jan"
labels: {
activity_type_name: "LoggingSinkConfigErrorV2"
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
error_code: "topic_not_found"
error_detail: ""
sink_id: "my-sink-123"
}
logName: "projects/my-project/logs/logging.googleapis.com%2Fsink_error"
receiveTimestamp: "2024-07-11T14:41:42.578823830Z"
resource: {
labels: {
destination: "pubsub.googleapis.com/projects/my-project/topics/my-topic"
name: "my-sink-123"
project_id: "my-project"
}
type: "logging_sink"
}
severity: "ERROR"
textPayload: "Cloud Logging sink configuration error in my-project, sink my-sink-123: topic_not_found ()"
timestamp: "2024-07-11T14:41:41.296157014Z"
}
Das Feld LogEntry labels und die zugehörigen verschachtelten Schlüssel/Wert-Informationen helfen Ihnen, die Quelle des Fehlers Ihrer Senke zu ermitteln. Es enthält die betroffene Ressource, die betroffene Senke und den Fehlercode. Das Feld labels.error_code enthält eine Kurzbeschreibung des Fehlers, die angibt, welche Komponente Ihrer Senke neu konfiguriert werden muss.
Um diesen Fehler zu beheben, bearbeiten Sie die Senke. Sie können Ihre Senke beispielsweise auf der Seite Log Router bearbeiten:
E-Mail-Benachrichtigungen
Wichtige Kontakte sendet E‑Mail-Benachrichtigungen zu Fehlern in der Senkenkonfiguration an Kontakte, die der Benachrichtigungskategorie „Technisch“ für ein Google Cloud Projekt oder die übergeordnete Ressource zugewiesen sind.
Wenn für die Ressource kein Kontakt für technische Benachrichtigungen konfiguriert ist, erhalten Nutzer, die als IAM-Project Owner roles/owner für die Ressource aufgeführt sind, die E‑Mail-Benachrichtigung.
Für jede Kombination aus Name der Logs-Senke und Fehler sendet das System eine Benachrichtigung pro Tag.
Die E‑Mail-Nachricht enthält die folgenden Informationen:
- Ressourcen-ID: Der Name des Google Cloud -Projekts oder einer anderenGoogle Cloud -Ressource, in der die Senke konfiguriert wurde.
- Senkenname: Der Name der Senke, die den Konfigurationsfehler enthält.
- Senkenziel: Der vollständige Pfad des Routing-Ziels der Senke, z. B.
pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID. - Fehlercode: Kurzbeschreibung der Fehlerkategorie. Beispiel:
topic_not_found. - Fehlerdetail: Detaillierte Informationen zum Fehler, einschließlich Empfehlungen zur Behebung des zugrunde liegenden Fehlers.
Der Absender dieser E‑Mail ist logging-noreply@google.com.
Der Betreff sieht etwa so aus: Subject: [ACTION REQUIRED] Cloud Logging sink configuration error in my-project
Sie können die Senken auf der Seite Log Router ansehen und verwalten:
Alle für die Ressource geltenden Senkenkonfigurationsfehler werden in der Liste als Cloud Logging sink configuration error angezeigt. Jeder Fehler enthält einen Link zu einem der Logeinträge, die von der fehlerhaften Senke generiert wurden. Informationen zum genauen Prüfen der zugrunde liegenden Fehler finden Sie im Abschnitt Fehlerlogs.
Falsches Senkenziel
Wenn Sie eine Senke einrichten, aber einen Konfigurationsfehler dazu erhalten, dass das Ziel beim Weiterleiten von Logeinträgen durch Logging nicht gefunden wurde, kann dies folgende Gründe haben:
Die Konfiguration der Senke enthält für das angegebene Senkenziel einen Rechtschreib- oder Formatierungsfehler.
Sie müssen die Konfiguration der Senke aktualisieren, um das vorhandene Ziel ordnungsgemäß anzugeben.
Das angegebene Ziel wurde möglicherweise gelöscht.
Sie können entweder die Konfiguration der Senke ändern, um ein anderes vorhandenes Ziel zu verwenden, oder das Ziel mit demselben Namen neu erstellen.
Um diese Art von Fehlern zu beheben, bearbeiten Sie die Senke. Sie können Ihre Senke beispielsweise auf der Seite Log Router bearbeiten:
Ihre Senke beginnt mit dem Weiterleiten von Logeinträgen, wenn das Ziel gefunden wird und neue Logeinträge, die Ihrem Filter entsprechen, von Logging empfangen werden.
Probleme mit deaktivierten Senken
Wenn Sie ein Senkenziel deaktiviert haben, um das Speichern von Logeinträgen in einem Log-Bucket zu beenden, aber weiterhin Logeinträge weitergeleitet werden, warten Sie einige Minuten, bis die Änderungen an der Senke übernommen werden.
Berechtigungsprobleme mit Senken
Wenn beim Weiterleiten eines Logeintrags durch eine Senke nicht die erforderlichen IAM-Berechtigungen für das Ziel der Senke vorhanden sind, wird ein Fehler ausgegeben, den Sie aufrufen können. Der Logeintrag wird übersprungen.
Wenn Sie eine Senke erstellen, muss dem Dienstkonto der Senke die entsprechenden Zielberechtigungen gewährt werden. Wenn Sie die Senke in der Google Cloud Console im selbenGoogle Cloud Projekt erstellen, werden diese Berechtigungen in der Google Cloud Console in der Regel automatisch zugewiesen. Wenn Sie die Senke jedoch in einem anderenGoogle Cloud -Projekt oder mit der gcloud CLI oder der Logging API erstellen, müssen Sie die Berechtigungen manuell konfigurieren.
Wenn berechtigungsbezogene Fehler für die Senke angezeigt werden, fügen Sie die erforderlichen Berechtigungen hinzu oder aktualisieren Sie die Senke so, dass ein anderes Ziel verwendet wird. Eine Anleitung zum Aktualisieren dieser Berechtigungen finden Sie unter Zielberechtigungen.
Zwischen dem Erstellen der Senke und dem Gewähren der Schreibberechtigung für das Exportziel mithilfe des neuen Dienstkontos der Senke kommt es zu einer kleinen Verzögerung. Ihre Senke beginnt mit dem Weiterleiten von Logeinträgen, wenn Berechtigungen korrigiert wurden und neue Logeinträge, die Ihrem Filter entsprechen, von Logging empfangen werden.
Probleme mit Organisationsrichtlinien bei Senken
Wenn Sie versuchen, einen Logeintrag weiterzuleiten, aber auf eine Organisationsrichtlinie stoßen, die verhindert, dass Logging in das Ziel der Senke schreibt, kann die Senke nicht an das ausgewählte Ziel weiterleiten und gibt einen Fehler aus.
Wenn Fehler im Zusammenhang mit Organisationsrichtlinien auftreten, können Sie Folgendes tun:
Aktualisieren Sie die Organisationsrichtlinie für das Ziel, um die Einschränkungen zu entfernen, die die Senke am Weiterleiten von Logeinträgen hindern. Dies setzt voraus, dass Sie die entsprechenden Berechtigungen zum Aktualisieren der Organisationsrichtlinie haben.
Prüfen Sie, ob eine Einschränkung des Ressourcenstandorts (
constraints/gcp.resourceLocations) vorhanden ist. Diese Einschränkung bestimmt die Standorte, an denen Daten gespeichert werden können. Einige Dienste unterstützen außerdem Einschränkungen, die sich auf einen Logsink auswirken können. Wenn beispielsweise ein Pub/Sub-Ziel ausgewählt ist, können mehrere Einschränkungen gelten. Eine Liste der möglichen Einschränkungen finden Sie unter Einschränkungen für Organisationsrichtlinien.Eine Anleitung finden Sie unter Richtlinien erstellen und bearbeiten.
Wenn Sie die Organisationsrichtlinie nicht aktualisieren können, aktualisieren Sie Ihre Senke auf der Seite Log Router, um ein verfügbares Ziel zu verwenden.
Ihre Senke beginnt mit dem Weiterleiten von Logeinträgen, wenn die Organisationsrichtlinie das Schreiben in das Ziel durch die Senke nicht mehr verhindert und neue Logeinträge, die Ihrem Filter entsprechen, von Logging empfangen werden.
Probleme mit Verschlüsselungsschlüsseln bei Senken
Wenn Sie Verschlüsselungsschlüssel verwenden, die entweder mit Cloud Key Management Service oder von Ihnen verwaltet werden, um die Daten im Ziel des Senken zu verschlüsseln, werden möglicherweise entsprechende Fehler angezeigt. Hier sind einige mögliche Probleme und Möglichkeiten zur Behebung:
Die Abrechnung wird für das Projekt Google Cloud , das den Cloud KMS-Schlüssel enthält, nicht aktiviert.
Auch wenn die Senke erfolgreich mit dem richtigen Ziel erstellt wurde, wird diese Fehlermeldung angezeigt, wenn dem Google Cloud -Projekt, das den Schlüssel enthält, kein gültiges Rechnungskonto zugeordnet ist.
Prüfen Sie, ob ein gültiges Rechnungskonto mit dem Google Cloud -Projekt verknüpft ist, das den Schlüssel enthält. Wenn kein Rechnungskonto mit demGoogle Cloud -Projekt verknüpft ist, aktivieren Sie die Abrechnung für dieses Google Cloud -Projekt oder verwenden Sie einen Cloud KMS-Schlüssel, der in einem Google Cloud -Projekt enthalten ist, mit dem ein gültiges Rechnungskonto verknüpft ist.
Der Cloud KMS-Schlüssel wurde nicht gefunden.
Das Google Cloud Projekt, das den Cloud KMS-Schlüssel enthält, der für die Verschlüsselung der Daten konfiguriert ist, wurde nicht gefunden.
Verwenden Sie einen gültigen Cloud KMS-Schlüssel aus einem vorhandenenGoogle Cloud -Projekt.
Der Standort des Cloud KMS-Schlüssels stimmt nicht mit dem Standort des Ziels überein.
Wenn sich das Google Cloud Projekt, das den Cloud KMS-Schlüssel enthält, in einer Region befindet, die sich von der Region des Ziels unterscheidet, schlägt die Verschlüsselung fehl und die Senke kann keine Daten an dieses Ziel weiterleiten.
Verwenden Sie einen Cloud KMS-Schlüssel, der in einem Google Cloud -Projekt enthalten ist, dessen Region mit dem Ziel der Senke übereinstimmt.
Der Zugriff auf den Verschlüsselungsschlüssel wird für das Dienstkonto der Senke verweigert.
Auch wenn die Senke erfolgreich mit den richtigen Dienstkontoberechtigungen erstellt wurde, wird diese Fehlermeldung angezeigt, wenn das Senkenziel einen Verschlüsselungsschlüssel verwendet, der dem Dienstkonto keine ausreichenden Berechtigungen zum Verschlüsseln oder Entschlüsseln der Daten gibt.
Weisen Sie dem in der Senke im Feld
writerIdentityangegebenen Dienstkonto die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler für den am Ziel verwendeten Schlüssel zu. Prüfen Sie außerdem, ob die Cloud KMS API aktiviert ist.
Kontingentprobleme mit Senken
Wenn Senken Logeinträge schreiben, gelten Export- und Zielkontingente. Je nach Ziel werden Kontingente für die Ressource, in der die Senke erstellt wurde, z. B. für Pub/Sub, oder für das Ziel selbst, z. B. für BigQuery, erzwungen. Wenn das Kontingent aufgebraucht ist, werden Logeinträge nicht mehr über die Senke an das Ziel weitergeleitet.
- Senken, die Logeinträge an ein Pub/Sub-Thema weiterleiten, sind auf 60 GB/min beschränkt. Wenn das Volumen der Logeinträge das Exportratenlimit überschreitet, wird ein Logeintrag mit dem Fehlercode
topic_over_quotageschrieben.
- Senken, über die Daten an BigQuery weitergeleitet werden, unterliegen dem Kontingent für Streaming-Insert-Anweisungen pro Tabelle. Wenn dieses Kontingent aufgebraucht ist, wird ein Logeintrag mit dem Fehlercode
table_resource_exhaustedgeschrieben.
Kontingente gelten auch für aggregierte Senken. Über diese Senken werden Logeinträge für den Ordner oder die Organisation, in der sie erstellt wurden, und für untergeordnete Ressourcen weitergeleitet.
Für Senken auf Projektebene können Sie mit den folgenden Messwerttypen Ihre Kontingentnutzung überwachen und Fehler erkennen:
logging.googleapis.com/exports/byte_count: Volumen der Logeinträge, die in Byte in ein Ziel exportiert wurden.logging.googleapis.com/exports/log_entry_count: Anzahl der Logeinträge, die in ein Ziel exportiert wurden.logging.googleapis.com/exports/error_count: Anzahl der Logeinträge, die nicht exportiert werden konnten.
Wenn Sie einen Messwerttyp in einem Diagramm darstellen möchten, verwenden Sie den Metrics Explorer und filtern Sie die Daten nach einem bestimmten Ziel. Diese Messwerttypen sind für Senken auf Ordner- oder Organisationsebene nicht verfügbar.
Versuchen Sie Folgendes, um Probleme mit dem Kontingent zu beheben:
Reduzieren Sie die Menge der Logdaten, die weitergeleitet werden. Aktualisieren Sie dazu den Filter der Senke, damit er mit weniger Logeinträgen übereinstimmt. Mit der Funktion
samplein Ihrem Filter können Sie einen Teil der Gesamtzahl von Logeinträgen auswählen.Stellen Sie eine Supportanfrage, um Ihr Kontingent zu erhöhen.
Informationen zu den Limits, die beim Weiterleiten von Logeinträgen gelten können, finden Sie in den Kontingentinformationen des entsprechenden Ziels:
Fehler beim Weiterleiten an Cloud Storage
Die folgenden Fehler treten am häufigsten auf, wenn Logeinträge an Cloud Storage weitergeleitet werden:
Spät ankommende Logeinträge:
Logeinträge werden stündlich in Batches in Cloud Storage-Buckets gespeichert. Es kann zwei bis drei Stunden dauern, bis die ersten Einträge angezeigt werden.
Weitergeleitete Logdatei-Shards mit dem Suffix
An("Append") enthalten Logeinträge, die verspätet angekommen sind. Wenn am Cloud Storage-Ziel ein Ausfall auftritt, führt Cloud Logging eine Zwischenspeicherung der Daten durch, bis der Ausfall vorüber ist.
Dem Ziel können nicht die richtigen Berechtigungen zugewiesen werden:
Prüfen Sie, ob das Dienstkonto für die Logsink die richtigen Berechtigungen hat, um diesen Fehler zu beheben. Weitere Informationen finden Sie in diesem Dokument im Abschnitt Berechtigungsprobleme.
Sie erhalten eine E-Mail-Benachrichtigung oder sehen einen Logeintrag, der auf einen Fehler in der Konfiguration einer Logs-Senke hinweist. Der Fehlercode lautet
bucket_changed_parent_project.Dieser Fehlercode gibt an, dass die in der Benachrichtigung aufgeführte Logsenke so konfiguriert ist, dass Logeinträge an einen Cloud Storage-Bucket weitergeleitet werden, und dass sich das übergeordnete Projekt des Cloud Storage-Buckets geändert hat. In diesem Szenario markiert Cloud Logging die Logs-Senke als falsch konfiguriert. Dadurch werden Logeinträge nicht an den Cloud Storage-Bucket weitergeleitet.
Führen Sie einen der folgenden Schritte aus, um diesen Konfigurationsfehler zu beheben:
Löschen Sie die vorhandene Logsenke und erstellen Sie eine neue Logsenke, die Logeinträge an den Cloud Storage-Bucket weiterleitet.
Verschieben Sie den Cloud Storage-Bucket zurück in das ursprüngliche Google Cloud Projekt.
Fehler beim Weiterleiten an BigQuery
Die folgenden Fehler treten beim Weiterleiten von Logeinträgen an BigQuery am häufigsten auf:
Ungültiges Tabellenschema:
Logeinträge, die in die Tabelle in Ihrem BigQuery-Dataset gestreamt wurden, stimmen nicht mit dem aktuellen Tabellenschema überein. Ein häufiges Problem ist der Versuch, Logeinträge mit verschiedenen Datentypen weiterzuleiten. Dies führt zu einem Schemakonflikt. Beispiel: Eines der Felder im Logeintrag enthält eine Ganzzahl, während eine entsprechende Spalte im Schema einen Stringtyp hat.
Achten Sie darauf, dass Ihre Log-Einträge dem Schema der Tabelle entsprechen. Nachdem Sie die Fehlerquelle beseitigt haben, können Sie Ihre aktuelle Tabelle umbenennen und Logging die Tabelle noch einmal erstellen lassen.
BigQuery unterstützt das Laden von verschachtelten Daten in seine Tabellen. Beim Laden von Daten aus Logging beträgt die maximale Tiefe einer verschachtelten Spalte für eine Spalte 13 Ebenen.
Wenn BigQuery ein nicht übereinstimmendes Schema identifiziert, wird eine Tabelle im entsprechenden Dataset erstellt, um die Fehlerinformationen zu speichern. Der Typ einer Tabelle bestimmt den Tabellennamen. Bei nach Datum fragmentierten Tabellen lautet das Namensformat
export_errors_YYYYMMDD. Bei partitionierten Tabellen lautet das Namensformatexport_errors. Informationen zum Schema der Fehlertabellen und dazu, wie Sie zukünftige Abweichungen bei Feldtypen vermeiden können, finden Sie unter Abweichungen im Schema.Logeinträge liegen außerhalb der zulässigen zeitlichen Grenzen:
An die partitionierte BigQuery-Tabelle gestreamte Logeinträge liegen außerhalb der zulässigen zeitlichen Grenzen. BigQuery akzeptiert keine Logeinträge, die zu weit in der Vergangenheit oder Zukunft liegen.
Sie können die Senke so aktualisieren, dass diese Logeinträge an Cloud Storage weitergeleitet werden, und einen BigQuery-Ladejob verwenden. Weitere Informationen finden Sie in der BigQuery-Dokumentation.
Das Dataset erlaubt dem Dienstkonto, das mit der Logsenke verknüpft ist, nicht das Schreiben:
Auch wenn die Senke mit den richtigen Dienstkontoberechtigungen erstellt wurde, wird diese Fehlermeldung angezeigt, wenn kein gültiges Rechnungskonto mit dem Google Cloud Projekt verknüpft ist, das das Senkenziel enthält.
Prüfen Sie, ob ein Rechnungskonto mit Ihrem Google Cloud -Projekt verknüpft ist. Wenn ein Rechnungskonto nicht mit demGoogle Cloud Projekt für das Senkenziel verknüpft ist, aktivieren Sie die Abrechnung für dieses Google Cloud Projekt oder aktualisieren Sie das Senkenziel, sodass es sich in einemGoogle Cloud Projekt befindet, mit dem ein gültiges Rechnungskonto verknüpft ist.
Das Dataset enthält doppelte Logeinträge:
Doppelte Logeinträge können auftreten, wenn beim Streamen von Logeinträgen in BigQuery Fehler auftreten, z. B. aufgrund von Wiederholungsversuchen oder Fehlkonfigurationen. Cloud Logging dedupliziert Logeinträge mit demselben
timestampundinsertIdzur Abfragezeit. In BigQuery werden doppelte Logeinträge nicht entfernt.Wenn Sie doppelte Logeinträge in BigQuery ignorieren möchten, fügen Sie die
SELECT DISTINCT-Anweisung in Ihre Abfrage ein. Beispiel:
SELECT DISTINCT insertId, timestamp FROM TABLE_NAME
Logeinträge werden nach einem Cloud Logging-Vorfall nachgetragen:
Bei einer Backfill-Operation, die ausgeführt wird, wenn ein Cloud Logging-Vorfall die Weiterleitung von Logdaten an BigQuery verhindert, werden in Logging automatisch Tabellen mit dem Präfix
backfill_generiert.Tabellen mit dem Präfix
backfill_enthalten alle Logeinträge, die während des Zeitraums des Vorfalls an BigQuery weitergeleitet werden sollten. Diese Tabellen können einige Logeinträge enthalten, die erfolgreich an die vom Senken angegebene Tabelle weitergeleitet wurden.Um doppelte Daten zu vermeiden, empfehlen wir, Daten aus Backfill-Tabellen in die Originaltabellen zusammenzuführen und die Backfill-Tabellen dann zu löschen.
Fehler beim Weiterleiten an Cloud Logging-Buckets
Es kann vorkommen, dass Sie im Log-Explorer Logeinträge sehen, die Sie mit Ihrer Senke ausgeschlossen haben. Sie können diese Logeinträge weiterhin sehen, wenn eine der folgenden Bedingungen zutrifft:
Sie führen die Abfrage im Projekt Google Cloud aus, in dem die Logeinträge generiert wurden.
Um das Problem zu beheben, führen Sie Ihre Abfrage im richtigenGoogle Cloud -Projekt aus.
Die ausgeschlossenen Logeinträge wurden an mehrere Log-Buckets gesendet. Sie sehen eine Kopie desselben Logs, das Sie ausschließen wollten.
Prüfen Sie dazu auf der Seite Logs Router Ihre Senken, um sicherzugehen, dass die Logeinträge nicht in den Filtern anderer Senken enthalten sind.
Sie haben Zugriff auf Ansichten im Log-Bucket, in den die Logeinträge gesendet wurden. In diesem Fall werden diese Logeinträge standardmäßig angezeigt.
Wenn Sie diese Logeinträge nicht im Log-Explorer sehen möchten, können Sie den Bereich Ihrer Suche auf Ihr Google Cloud -Quellprojekt oder Ihren Bucket eingrenzen.
Probleme beim Speichern von Logs beheben
Warum kann ich diesen Bucket nicht löschen?
Wenn Sie versuchen, einen Bucket zu löschen, gehen Sie so vor:
Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Löschen des Buckets haben. Eine Liste der benötigten Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
Bestimmen Sie, ob der Bucket gesperrt ist. Listen Sie dazu die Attribute des Buckets auf. Wenn der Bucket gesperrt ist, prüfen Sie die Aufbewahrungsdauer. Sie können gesperrte Buckets erst löschen, wenn alle Logs im Bucket die Aufbewahrungsdauer des Buckets erreicht haben.
Prüfen Sie, ob der Log-Bucket Links enthält. Sie können keinen Log-Bucket löschen, der Links enthält.
Der folgende Fehler wird als Reaktion auf einen
delete-Befehl für einen Log-Bucket angezeigt, der mit einem BigQuery-Dataset verknüpft ist:FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
Führen Sie den Befehl
gcloud logging links listoder die API-Methodeprojects.locations.buckets.links.listaus, um die mit einem Log-Bucket verknüpften Links aufzulisten.Verwenden Sie zum Löschen von Links den Befehl
gcloud logging links delete.
Welche Dienstkonten leiten Logs an meinen Bucket weiter?
So ermitteln Sie, ob Dienstkonten IAM-Berechtigungen zum Weiterleiten von Logs an Ihren Bucket haben:
-
Rufen Sie in der Google Cloud Console die Seite IAM auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.
Wählen Sie aus dem Tab Berechtigungen die Ansicht nach Rollen. Sie sehen eine Tabelle mit allen IAM-Rollen und Hauptkonten, die mit IhremGoogle Cloud -Projekt verknüpft sind.
Geben Sie in das Textfeld Filter filter_list der Tabelle Log-Bucket-Autor ein.
Sie sehen alle Prinzipale mit der Rolle Log-Bucket-Autor. Wenn ein Hauptkonto ein Dienstkonto ist, enthält dessen ID den String
gserviceaccount.com.Optional: Wenn Sie ein Dienstkonto davon abhalten möchten, Logs an Ihr Google Cloud -Projekt weiterzuleiten, aktivieren Sie das Kästchen check_box_outline_blank für das Dienstkonto und klicken Sie auf Entfernen.
Warum sehe ich Logs für ein Google Cloud -Projekt, obwohl ich sie von meiner _Default-Senke ausgeschlossen habe?
Möglicherweise sehen Sie Logs in einem Log-Bucket in einem zentralisierten Google Cloud Projekt, in dem Logs aus Ihrer Organisation zusammengefasst werden.
Wenn Sie mit dem Log-Explorer auf diese Logs zugreifen und Logs sehen, die Sie von der _Default-Senke ausgeschlossen haben, ist Ihre Ansicht möglicherweise auf dieGoogle Cloud -Projektebene festgelegt.
Um dieses Problem zu beheben, wählen Sie im Menü Bereich eingrenzen die Option Logansicht aus und wählen Sie dann die Logansicht aus, die dem _Default-Bucket in IhremGoogle Cloud -Projekt zugeordnet ist. Die ausgeschlossenen Logs sollten nun nicht mehr angezeigt werden.