Просмотр журналов выполнения задач и управление ими

При каждом выполнении задачи в службе Задачи Реестра контейнеров Azure создаются выходные данные в виде журнала, по которому можно определить, успешно ли выполнены шаги задачи.

В этой статье объясняется, как просматривать журналы выполнения задач и управлять ими.

Просмотр потоковых журналов

При ручном запуске задачи выполняется потоковая передача выходных данных в виде журнала непосредственно в консоль. Например, если задача запускается вручную с помощью команды az acr build, az acr run или az acr task run, видна потоковая передача выходных данных журнала в консоль.

В следующем примере команда az acr run вручную запускает задачу по выполнению контейнера, извлеченного из того же реестра:

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

Потоковый журнал:

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

Просмотр сохраненных журналов

Реестр контейнеров Azure хранит журналы выполнения для всех задач. Журналы выполнения можно просмотреть на портале Azure. Чтобы просмотреть выбранный журнал, можно также использовать команду az acr task logs. По умолчанию журналы изменений сохраняются в течение 30 дней.

Если задача запускается автоматически (например, при обновлении исходного кода), открытие сохраненных журналов является единственным способом просмотра журналов выполнения. В число автоматических триггеров задач входят фиксации исходного кода или запросы на вытягивание, обновления базового образа и триггеры таймера.

Чтобы просмотреть журналы выполнения на портале, выполните следующие действия:

  1. Перейдите к реестру контейнеров.
  2. В окне Службы выберите пункт Задачи>Запуски.
  3. Выберите ИД запуска, чтобы просмотреть состояние запуска и журналы выполнения. Журнал содержит те же сведения, что и потоковый журнал, если он создан.

View task run login portal

Чтобы просмотреть журнал с помощью Azure CLI, выполните команду az acr task logs и укажите ИД запуска, имя задачи или определенный образ, созданный задачей сборки. Если указано имя задачи, команда отображает журнал для последнего созданного запуска.

В следующем примере выводится журнал для запуска с идентификатором CF4.

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

Альтернативное хранилище журналов

Вы можете хранить журналы выполнения задач в локальной файловой системе или выбрать альтернативное решение в сфере архивации, такое как служба хранилища Microsoft Azure.

Например, создайте локальный каталог tasklogs и перенаправьте выходные данные az acr task logs в локальный файл:

mkdir ~/tasklogs

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

Кроме того, локальные файлы журналов можно сохранять в службе хранилища Azure. Например, для отправки файлов в учетную запись хранения используйте Azure CLI, портал Azure или другие методы.

Дальнейшие действия