Monitorare le esecuzioni

Questo documento illustra come:

Prima di iniziare

Per monitorare i log di esecuzione, assicurati di svolgere le seguenti operazioni:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Seleziona o crea un repository.

  3. Seleziona o crea un'area di lavoro di sviluppo.

  4. Attiva l'esecuzione almeno una volta.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per visualizzare i log di esecuzione, chiedi all'amministratore di concederti il ruolo IAM Editor di Dataform (roles/dataform.editor) nel repository workflowInvocations. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Il ruolo IAM Visualizzatore di log (roles/logging.viewer) ti consente di accedere in sola lettura a tutte le funzionalità di Cloud Logging. Per ulteriori informazioni sui ruoli e sulle autorizzazioni di Identity and Access Management che si applicano ai dati di logging, consulta Controllo dell'accesso con IAM.

Per creare e gestire gli avvisi basati su log, assicurati che il tuo ruolo IAM includa le autorizzazioni descritte in Ruoli richiesti per creare e utilizzare criteri di avviso basati su log.

Monitora i log di esecuzione

Questa sezione mostra come visualizzare i log di esecuzione in Dataform.

Puoi visualizzare i log di tutte le esecuzioni attivate in un repository e i log delle esecuzioni attivate in uno spazio di lavoro nelle ultime 24 ore.

Controllare i log di esecuzione del repository

Per visualizzare i log di tutte le esecuzioni attivate in un repository, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Vai al tuo repository.

  3. Fai clic su Log di esecuzione del flusso di lavoro.

  4. Per visualizzare i dettagli di un'esecuzione, fai clic sull'esecuzione.

  5. Per visualizzare i dettagli di un'azione all'interno dell'esecuzione, fai clic su Visualizza dettagli.

Controllare i log di esecuzione dello spazio di lavoro

Per visualizzare i log delle 1000 esecuzioni più recenti attivate in uno spazio di lavoro nelle ultime 24 ore:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai a Dataform

  2. Vai al tuo repository e seleziona la tua area di lavoro.

  3. Nell'area di lavoro, fai clic su Esecuzioni.

  4. Per visualizzare i dettagli di un'esecuzione, fai clic sull'esecuzione.

  5. Per visualizzare i dettagli di un'azione all'interno dell'esecuzione, fai clic su Visualizza dettagli.

Visualizzare i log di registrazione per Dataform

Questa sezione mostra come visualizzare i log di Cloud Logging per le invocazioni del flusso di lavoro Dataform.

Ogni chiamata al flusso di lavoro Dataform viene registrata utilizzando Logging. Il logging viene attivato automaticamente per le invocazioni del flusso di lavoro Dataform, il che può comportare addebiti di fatturazione per il logging. Per ulteriori informazioni, consulta Prezzi di Dataform.

Visualizza i log

Per informazioni su come filtrare i log di registrazione in Esplora log, consulta Visualizzare i log utilizzando Esplora log.

I log di Dataform vengono indicizzati dal repository Dataform.

Formato del log

Dataform invia i messaggi di log di chiamata del flusso di lavoro nel seguente formato:

{
  "insertId": "14ip1tza5",
  "jsonPayload": {
    "terminalState": "SUCCEEDED",
    "workflowInvocationId": "1678383230-ac4ed48c-eb70-4555-b2b0-cda54d13edfa",
    "@type": "type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
  },
  "resource": {
    "type": "dataform.googleapis.com/Repository",
    "labels": {
      "repository_id": "repository-name-example",
      "resource_container": "PROJECT_ID",
      "location": "us-central1"
    }
  },
  "timestamp": "2023-03-09T17:34:06.965981805Z",
  "severity": "INFO",
  "logName": "projects/project-name-example/logs/dataform.googleapis.com%2Fworkflow_invocation_completion",
  "receiveTimestamp": "2023-03-09T17:34:07.362371980Z"
}

Che cosa viene registrato nei log

Le voci di log di Dataform contengono informazioni utili per monitorare ed eseguire il debug delle invocazioni del flusso di lavoro.

Le voci dei log contengono i seguenti tipi di informazioni:

  • receiveTimestamp
  • release_config_id
  • repository_id
  • resource_container
  • workflow_invocation_id
  • workflow_config_id
  • severity: può essere INFO, WARNING o ERROR
  • terminalState: può essere SUCCEEDED, CANCELED o FAILED
  • timestamp
  • @type

Configurare metriche e avvisi con Cloud Monitoring

Puoi utilizzare il monitoraggio per osservare le tendenze nei log e ricevere notifiche quando si verificano le condizioni che descrivi.

Per fornire a Monitoring i dati dei log, la funzionalità di logging offre quanto segue:

  • Metriche basate su log, che puoi utilizzare come segue:
    • Per creare criteri di avviso che ti inviano notifiche delle modifiche nel tempo.
    • Per creare grafici che mostrano le variazioni nel tempo.
  • Avvisi basati su log, che ti avvisano ogni volta che un evento specifico viene visualizzato in un log.

Per saperne di più sulle metriche e sugli avvisi basati su log, consulta Monitorare i log.

Per scoprire come configurare gli avvisi basati su log per le invocazioni del flusso di lavoro Dataform, consulta Configurare gli avvisi per le invocazioni del flusso di lavoro non riuscite.

Configurare gli avvisi per le invocazioni del flusso di lavoro non riuscite

Questa sezione mostra come configurare avvisi basati su log per le chiamate del flusso di lavoro Dataform non riuscite utilizzando Esplora log.

Puoi utilizzare il monitoraggio per osservare le tendenze nei log di registrazione per le invocazioni del flusso di lavoro Dataform e per ricevere una notifica quando si verificano le condizioni che descrivi.

Ogni chiamata al flusso di lavoro Dataform viene registrata utilizzando Logging. La registrazione è attivata automaticamente per le invocazioni del flusso di lavoro Dataform, che possono comportare addebiti di fatturazione per la registrazione. Per ulteriori informazioni, consulta Prezzi di Dataform.

Per ricevere avvisi quando l'invocazione di un workflow Dataform non va a buon fine, puoi creare avvisi basati su log.

Puoi creare avvisi basati su log dalla pagina Esplora log nella console Google Cloud o utilizzando l'API Monitoring. Questa sezione descrive come creare avvisi basati su log per gli errori di chiamata del flusso di lavoro Dataform utilizzando Esplora log.

Per configurare gli avvisi basati su log per le invocazioni del flusso di lavoro Dataform non riuscite:

  1. Nella console Google Cloud, seleziona Logging, quindi Esplora log.

    Vai a Esplora log

  2. Nel riquadro Query, seleziona Mostra query e inserisci la seguente query:

        resource.type="dataform.googleapis.com/Repository"
        jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
        jsonPayload.terminalState="FAILED"
     

    Questa query ti avvisa di tutte le invocazioni del flusso di lavoro Dataform non riuscite.

    1. (Facoltativo) Per filtrare le chiamate del flusso di lavoro non riuscite in base a una configurazione della release, aggiungere quanto segue alla query:

          jsonPayload.releaseConfigId="RELEASE_CONFIGURATION_ID"
      

      Sostituisci RELEASE_CONFIGURATION_ID con l'ID della configurazione della release.

    2. (Facoltativo) Per filtrare le chiamate del flusso di lavoro non riuscite in base a una configurazione del flusso di lavoro, aggiungi quanto segue alla query:

          jsonPayload.workflowConfigId="WORKFLOW_CONFIGURATION_ID"
      

      Sostituisci WORKFLOW_CONFIGURATION_ID con l'ID della configurazione del flusso di lavoro.

    La seguente query ti avvisa quando un'invocazione del flusso di lavoro Dataform correlata sia alla configurazione della release daily sia alla configurazione del flusso di lavoro production non va a buon fine:

     resource.type="dataform.googleapis.com/Repository"
     jsonPayload.@type="type.googleapis.com/google.cloud.dataform.logging.v1.WorkflowInvocationCompletionLogEntry"
     jsonPayload.terminalState="FAILED"
     jsonPayload.releaseConfigId="daily"
     jsonPayload.workflowConfigId="production"
    
  3. (Facoltativo) Per convalidare la query, utilizza Esegui query nel riquadro Risultati delle query.

  4. Nell'intestazione del riquadro Risultati delle query, fai clic su Crea avviso. Quando la finestra è stretta, l'opzione Crea avviso potrebbe essere visualizzata nel menu Azioni.

  5. Nel riquadro Dettagli avviso, assegna all'avviso un nome e una descrizione:

    1. Inserisci un nome per l'avviso nel campo Nome avviso. Ad esempio: Dataform: workflow failure.

    2. Inserisci una descrizione di questo avviso. Puoi anche includere informazioni che potrebbero aiutare il destinatario di una notifica a diagnosticare il problema. La seguente stringa riassume il motivo dell'avviso:

      Log-based alert in project ${project} detected a failed Dataform workflow.
      

      Per informazioni su come formattare e personalizzare i contenuti di questo campo, consulta Annotare le notifiche con la documentazione definita dall'utente.

  6. Per passare al passaggio successivo, fai clic su Avanti.

  7. Nel riquadro Scegli i log da includere nell'avviso, controlla la query e i risultati facendo clic su Anteprima dei log.

    Ti consigliamo di creare la query nel riquadro Query di Esplora log. In questo riquadro viene visualizzata anche la query che hai creato nel riquadro Query.

    Se necessario, puoi modificare la query in questo riquadro. Se modifichi la query, controlla i risultati facendo clic su Anteprima dei log.

  8. Fai clic su Avanti.

  9. Seleziona il tempo minimo tra le notifiche. Questo valore consente di controllare il numero di notifiche che ricevi da questo avviso se viene attivato più volte. Per questo esempio, seleziona 5 min tra le opzioni.

  10. (Facoltativo) Seleziona la durata della chiusura automatica degli incidenti. Per impostazione predefinita, la durata della chiusura automatica degli incidenti è impostata su 7 giorni.

  11. Fai clic su Avanti.

  12. Seleziona uno o più canali di notifica per il tuo avviso. In questo esempio, seleziona un canale di notifica via email.

    Se hai già configurato un canale di notifica via email, puoi selezionarlo dall'elenco. In caso contrario, fai clic su Gestisci canali di notifica e aggiungi un canale email. Per informazioni sulla creazione dei canali di notifica, consulta la pagina Creare e gestire i canali di notifica.

  13. Fai clic su Salva.

L'avviso basato sui log è ora pronto per il test. Per le istruzioni su come testare l'avviso, consulta Eseguire il test del criterio di avviso basato su log di esempio.

Passaggi successivi