Visualizar logs de pipeline - AWS Data Pipeline

Visualizar logs de pipeline

Há suporte para o registro em log no nível do pipeline na criação do pipeline especificando um local do Amazon S3 no console ou com um pipelineLogUri no objeto padrão em SDK/CLI. A estrutura do diretório de cada pipeline nesse URI é como a seguinte:

pipelineId -componentName -instanceId -attemptId

Para pipeline, df-00123456ABC7DEF8HIJK, a estrutura do diretório é semelhante a:

df-00123456ABC7DEF8HIJK -ActivityId_fXNzc -@ActivityId_fXNzc_2014-05-01T00:00:00 -@ActivityId_fXNzc_2014-05-01T00:00:00_Attempt=1

Para ShellCommandActivity, logs de stderr e stdout associados a essas atividades são armazenados no diretório de cada tentativa.

Para recursos como EmrCluster, em que um emrLogUri é definido, esse valor tem precedência. Caso contrário, os recursos (inclusive logs do TaskRunner desses recursos) seguirão a estrutura do registro em log do pipeline acima.

Para visualizar os logs de uma determinada execução de pipeline:

  1. Recupere o ObjectId ao chamar query-objects para obter a ID exata do objeto. Por exemplo:

    aws datapipeline query-objects --pipeline-id <pipeline-id> --sphere ATTEMPT --region ap-northeast-1

    query-objects é uma CLI paginada e pode retornar um token de paginação se houver mais execuções para o pipeline-id determinado. Você pode usar o token para passar por todas as tentativas até encontrar o objeto esperado. Por exemplo, um ObjectiD retornado teria a seguinte aparência: @TableBackupActivity_2023-05-020T18:05:18_Attempt=1.

  2. Usando o ObjectiD, recupere a localização do log usando:

    aws datapipeline describe-objects —pipeline-id <pipeline-id> --object-ids <object-id> --query "pipelineObjects[].fields[?key=='@logLocation'].stringValue"
Mensagem de erro de uma atividade com falha

Para receber a mensagem de erro, primeiro obtenha o ObjectiD usando query-objects.

Depois de recuperar o ObjectiD com falha, use a CLI de describe-objects para obter a mensagem de erro real.

aws datapipeline describe-objects --region ap-northeast-1 --pipeline-id <pipeline-id> --object-ids <object-id> --query "pipelineObjects[].fields[?key=='errorMessage'].stringValue"
Cancelar, executar novamente ou marcar como concluído um objeto

Use a CLI de set-status para cancelar um objeto em execução, executar novamente um objeto com falha ou marcar um objeto em execução como Concluído.

Primeiro, obtenha o ID do objeto usando a CLI de query-objects. Por exemplo:

aws datapipeline query-objects --pipeline-id <pipeline-id> --sphere INSTANCE --region ap-northeast-1

Use a CLI de set-status para alterar o status do objeto desejado. Por exemplo:

aws datapipeline set-status —pipeline-id <pipeline-id> --region ap-northeast-1 --status TRY_CANCEL --object-ids <object-id>