Job mit Logs analysieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Auf dieser Seite wird beschrieben, wie Sie Logs aus Cloud Logging für einen Job aktivieren und aufrufen.

Mit Logs erhalten Sie Informationen, 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 Standardausgabe (stdout) und Standardfehlerstreams (Nearline) geschrieben werden. Konfigurieren Sie Ihre Aufgaben so, dass Daten zur Analyse und Fehlerbehebung in diese Streams geschrieben werden, um Aufgabenlogs für Ihren Job zu generieren.
  • Agent-Logs (batch_agent_logs): Logs für Aktivitäten aus dem Batch-Dienst-Agent. Batch generiert diese Logs automatisch für Ihren Job.

Beachten Sie, dass Cloud Logging Logs erst nach dem Start eines Jobs generiert. Wenn Sie prüfen möchten, ob ein Job bereits ausgeführt wurde, beschreiben Sie den Job und achten Sie darauf, dass der Status des Jobs RUNNING oder ein späterer Status ist. Wenn Sie einen Job analysieren möchten, der keine Logs generiert hat, z. B. weil ein Job vor dem Status RUNNING fehlgeschlagen ist, beschreiben Sie den Job mit der gcloud CLI oder 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.
  • Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Analysieren eines Jobs mithilfe von Logs benötigen:

    • So erstellen Sie einen Job mit aktivierten Logs: Batchjob-Bearbeiter (roles/batch.jobsEditor) für das Projekt
    • So rufen Sie Logs auf: Loganzeige (roles/logging.viewer) des Projekts

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Logs für einen Job aktivieren

Aktivieren Sie beim Erstellen des Jobs Cloud Logging, um Logs für einen Job zu generieren:

  • 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. Schließen Sie beim Erstellen des Jobs die folgende Konfiguration für das Feld logsPolicy ein, um Cloud Logging zu aktivieren:

    {
        ...
        "logsPolicy": {
            "destination": "CLOUD_LOGGING"
        }
        ...
    }
    

Logs für einen Job ansehen

Sie können die Logs eines Jobs in Cloud Logging über die Google Cloud Console, die gcloud CLI oder die Logging API aufrufen.

Console

So rufen Sie die Logs eines Jobs über die Google Cloud Console auf:

  1. Beschreiben Sie einen Job.
  2. Klicken Sie auf der Seite Jobdetails im Abschnitt Logs auf Cloud Logging. Die Seite Log-Explorer wird geöffnet.

    Standardmäßig werden im Log-Explorer alle Aufgabenlogs für diesen Job angezeigt.

    Empfohlen: Zum Filtern der angezeigten Logs erstellen Sie Abfragen. Geben Sie beispielsweise eine Abfrage für Batch-Logs in das Feld Abfrageeditor ein.

gcloud

Verwenden Sie den Befehl gcloud logging read, um Logs mit der gcloud CLI anzusehen:

gcloud logging read "QUERY"

Dabei ist QUERY eine Abfrage für Batch-Logs.

API

Mit der Methode entries.list können Sie Logs über die Logging API aufrufen:

POST https://logging.googleapis.com/v2/entries:list
{
    "resourceNames": [
        "projects/PROJECT_ID"
    ],
    "filter": "QUERY"
    "orderBy": "timestamp desc"
}

Dabei gilt:

Abfragen schreiben, um nach Batchlogs zu filtern

Sie können nach Batch-Logs filtern, indem Sie eine Abfrage schreiben, die einen oder mehrere der folgenden Filterparameter und null oder mehr boolesche Operatoren (AND, OR und NOT) enthält.

  • Wenn Sie nach Logs eines bestimmten Jobs filtern möchten, geben Sie dessen eindeutige ID (UID) an:

    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 Typ von Batch-Logs 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, entweder batch_task_logs für Aufgabenlogs oder batch_agent_logs für Agentlogs.

Nächste Schritte