Exibir e gerenciar logs de execução de tarefa

Cada execução de tarefa em tarefas do Registro de Contêiner do Azure gera a saída de log que você pode inspecionar para determinar se as etapas da tarefa foram executadas com êxito.

Este artigo explica como exibir e gerenciar logs de execução de tarefas.

Exibir logs transmitidos

Quando você dispara uma tarefa manualmente, a saída do log é transmitida diretamente para o console. Por exemplo, ao disparar uma tarefa manualmente usando o comando az acr build, az acr run ou az acr task run, você vê a saída de log transmitida para o console.

O seguinte comando az acr run de exemplo dispara manualmente uma tarefa que executa um contêiner extraído do mesmo registro:

az acr run --registry mycontainerregistry1220 \
  --cmd '$Registry/samples/hello-world:v1' /dev/null

Log transmitido:

Queued a run with ID: cf4
Waiting for an agent...
2020/03/09 20:30:10 Alias support enabled for version >= 1.1.0, please see https://aka.ms/acr/tasks/task-aliases for more information.
2020/03/09 20:30:10 Creating Docker network: acb_default_network, driver: 'bridge'
2020/03/09 20:30:10 Successfully set up Docker network: acb_default_network
2020/03/09 20:30:10 Setting up Docker configuration...
2020/03/09 20:30:11 Successfully set up Docker configuration
2020/03/09 20:30:11 Logging in to registry: mycontainerregistry1220azurecr.io
2020/03/09 20:30:12 Successfully logged into mycontainerregistry1220azurecr.io
2020/03/09 20:30:12 Executing step ID: acb_step_0. Timeout(sec): 600, Working directory: '', Network: 'acb_default_network'
2020/03/09 20:30:12 Launching container with name: acb_step_0
Unable to find image 'mycontainerregistry1220azurecr.io/samples/hello-world:v1' locally
v1: Pulling from samples/hello-world
Digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e888a
Status: Downloaded newer image for mycontainerregistry1220azurecr.io/samples/hello-world:v1

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

2020/03/09 20:30:13 Successfully executed container: acb_step_0
2020/03/09 20:30:13 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 1.180081)

Run ID: cf4 was successful after 5s

Exibir logs armazenados

O Registro de Contêiner do Azure armazena logs de execução para todas as tarefas. É possível exibir os logs de execução armazenados no portal do Azure. Ou use o comando az acr task logs para exibir um log selecionado. Por padrão, os logs são retidos por 30 dias.

Se uma tarefa for disparada automaticamente, por exemplo, por uma atualização de código-fonte, o acesso aos logs armazenados será a única maneira de exibir os logs de execução. Os gatilhos de tarefa automática incluem confirmações de código-fonte ou solicitações de pull, atualizações de imagem de base e gatilhos de temporizador.

Para exibir os logs de execução no portal:

  1. Navegue até seu registro de contêiner.
  2. Em Serviços, selecione Tarefas>Execuções.
  3. Selecione uma ID de Execução para exibir o status de execução e os logs de execução. O log conterá as mesmas informações que um log transmitido, se um for gerado.

Exibir o portal de logon da execução de tarefa

Para exibir um log usando a CLI do Azure, execute az acr task logs e especifique uma ID de execução, um nome de tarefa ou uma imagem especifica criada por uma tarefa de build. Se um nome de tarefa for especificado, o comando mostrará o log para a última execução criada.

O seguinte exemplo gera o log para a execução com a ID cf4:

az acr task logs --registry mycontainerregistry1220 \
  --run-id cf4

Armazenamento de log alternativo

Talvez você queira armazenar os logs de execução de tarefas em um sistema de arquivos local ou usar uma solução de arquivamento alternativa, como o Armazenamento do Azure.

Por exemplo, crie um diretório tasklogs local e redirecione a saída dos az acr task logs para um arquivo local:

mkdir ~/tasklogs

az acr task logs --registry mycontainerregistry1220 \
  --run-id cf4 > ~/tasklogs/cf4.log

Você também pode salvar arquivos de log locais no Armazenamento do Azure. Por exemplo, use a CLI do Azure, o portal do Azure ou outros métodos para carregar arquivos para uma conta de armazenamento.

Próximas etapas