Auf dieser Seite wird beschrieben, wie Sie Logs aus Cloud Logging für einen Job aktivieren und ansehen.
Mit Logs können Sie Informationen abrufen, die für die Analyse Ihrer Jobs nützlich sind. Logs können beispielsweise bei der Fehlerbehebung fehlgeschlagener Jobs helfen. Wenn Cloud Logging für einen Job aktiviert ist, generiert Cloud Logging die folgenden Logtypen, die Sie ansehen können:
- Aufgabenlogs (
batch_task_logs
): Logs für alle Daten, die in die Streams von Standardausgabe (stdout) und Standardfehler (stderr) geschrieben werden. Zum Generieren von Tasklogs für den Job konfigurieren Sie Ihre Aufgaben so, dass Daten für die Analyse und zur Fehlerbehebung in diesen Streams geschrieben werden. - Agent-Logs (
batch_agent_logs
): Logs für Aktivitäten aus dem Batch-Dienst-Agent. Batch erstellt diese Logs automatisch für Ihren Job.
Beachten Sie, dass Cloud Logging Logs erst generiert, wenn ein Job gestartet wird.
Wenn Sie prüfen möchten, ob ein Job gestartet wurde, beschreiben Sie den Job und prüfen Sie, ob der Status des Jobs RUNNING
oder ein neuerer Status ist. Wenn Sie einen Job analysieren möchten, der keine Logs generiert hat, z. B. weil der Job vor dem Status RUNNING
fehlgeschlagen ist, beschreiben Sie den Job mithilfe der gcloud CLI oder der Batch API und prüfen Sie das Feld statusEvents
.
Hinweis
- Wenn Sie Batch noch nicht verwendet haben, lesen Sie Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
-
Damit Sie die erforderlichen Berechtigungen zum Analysieren eines Jobs mithilfe von Logs erhalten, müssen Sie Ihren Administrator bitten, Ihnen die folgenden IAM-Rollen zuzuweisen:
-
So erstellen Sie einen Job mit aktivierten Logs:
Batch Job-Editor (
roles/batch.jobsEditor
) für das Projekt -
Logs ansehen:
Loganzeige (
roles/logging.viewer
) für das Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
So erstellen Sie einen Job mit aktivierten Logs:
Batch Job-Editor (
Logs für einen Job aktivieren
Wenn Sie Logs für einen Job generieren möchten, aktivieren Sie beim Erstellen des Jobs Cloud Logging:
- Wenn Sie einen Job über die Google Cloud Console erstellen, ist Cloud Logging immer aktiviert.
Wenn Sie einen Job über die gcloud CLI oder die Batch API erstellen, ist Cloud Logging standardmäßig deaktiviert. Fügen Sie beim Aktivieren des Cloud Loggings beim Erstellen des Jobs die folgende Konfiguration für das Feld
logsPolicy
hinzu:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Logs für einen Job ansehen
Sie können die Logs eines Jobs in Cloud Logging mit der Google Cloud Console, gcloud CLI, Logging API, Go, Java oder Python ansehen.
Console
So rufen Sie die Logs eines Jobs mit der Google Cloud Console auf:
Rufen Sie in der Google Cloud Console die Seite Jobliste auf.
Klicken Sie in der Spalte Jobname auf den Namen eines Jobs. Die Seite Jobdetails wird geöffnet.
Klicken Sie auf den Tab Events (Ereignisse).
Klicken Sie im Bereich Logs auf
Cloud Logging. Die Seite Log-Explorer wird geöffnet.Standardmäßig werden im Log-Explorer alle Tasklogs für diesen Job angezeigt.
Empfohlen: Erstellen Sie Abfragen, um zu filtern, welche Logs angezeigt werden. Geben Sie beispielsweise eine Abfrage für Batchlogs in das Feld Abfrageeditor ein.
gcloud
Verwenden Sie den Befehl gcloud logging read
, um Logs mit der gcloud CLI aufzurufen:
gcloud logging read "QUERY"
Dabei ist QUERY
eine Abfrage für Batchlogs.
API
Wenn Sie Logs mit der Logging API ansehen möchten, verwenden Sie die Methode entries.list
:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
Dabei gilt:
PROJECT_ID
: Die Projekt-ID Ihres Projekts.QUERY
: eine Abfrage für Batchlogs
Einfach loslegen (Go)
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Go API.
Java
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Java API.
Python
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Batch Python API.
Abfragen zum Filtern nach Batchlogs schreiben
Sie können nach Batchlogs filtern, indem Sie eine Abfrage schreiben, die einen oder mehrere der folgenden Filterparameter und keine oder mehrere boolesche Operatoren (AND
, OR
und NOT
) enthält.
Geben Sie die eindeutige ID des Jobs an, um nach Logs eines bestimmten Jobs zu filtern:
labels.job_uid=JOB_UID
Dabei ist
JOB_UID
die UID des Jobs. Wenn Sie die UID eines Jobs abrufen möchten, beschreiben Sie den Job.Geben Sie den Logtyp an, um nach einem bestimmten Batch-Typ zu filtern:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Dabei gilt:
PROJECT_ID
: Die Projekt-ID des Projekts, für das Sie Logs aufrufen möchten.BATCH_LOG_TYPE
: der Typ der Batchlogs, die Sie ansehen möchten, entwederbatch_task_logs
für Aufgabenlogs oderbatch_agent_logs
für Agent-Logs.
Nächste Schritte
- Weitere Informationen zur Fehlerbehebung
- Weitere Informationen zu Cloud Logging
- Einen Job löschen