Упражнение. Устранение неполадок в службе "Экземпляры контейнеров Azure".
Чтобы понять основные способы устранения неполадок экземпляров контейнеров, выполните некоторые основные операции, такие как:
- извлечение журналов контейнера;
- просмотр событий контейнера;
- присоединение к экземпляру контейнера.
Получение журналов из развернутого ранее экземпляра контейнера
Выполните следующую az container logs
команду, чтобы просмотреть выходные данные из контейнера приложений для голосования кошачьих и собак, созданных в предыдущем упражнении:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Вы получите аналогичные выходные данные:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
#! /usr/bin/env bash
# Let the DB start
sleep 10;
# Run migrations
alembic upgrade head
…
Получение событий контейнера
Команда az container attach
предоставляет диагностические сведения во время запуска контейнера. После запуска контейнера она также записывает стандартные потоки выходных данных и ошибок в локальный терминал.
Запустите az container attach
, чтобы подключиться к контейнеру:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Вы получите аналогичные выходные данные:
Container 'aci-demo-files' is in state 'Running'...
(count: 1) (last timestamp: 2021-09-21 23:48:14+00:00) pulling image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:09+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:12+00:00) Created container
(count: 1) (last timestamp: 2021-09-21 23:49:13+00:00) Started container
Start streaming logs:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
…
Совет
Чтобы отключиться от контейнера, нажмите клавиши CTRL+C.
Выполнение команды в контейнере
В процессе диагностики и устранения неполадок может потребоваться выполнить команды непосредственно в работающем контейнере.
Чтобы просмотреть команды в контейнере, выполните следующую
az container exec
команду, чтобы запустить интерактивный сеанс в контейнере:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
Теперь вы работаете в контейнере.
Выполните команду
ls
для отображения содержимого рабочего каталога.# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
При желании вы можете изучить систему подробнее. По завершении выполните команду
exit
, чтобы остановить интерактивный сеанс.
Мониторинг использования ЦП и памяти в контейнере
Узнайте, как отслеживать использование ЦП и памяти в контейнере.
Выполните следующую
az container show
команду, чтобы получить идентификатор экземпляра контейнера Azure и сохранить идентификатор в переменной Bash:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
az monitor metrics list
Выполните команду, чтобы получить сведения об использовании ЦП:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Обратите внимание на аргумент
--metrics
. Здесь CPUUsage предписывает извлечь сведения о загрузке ЦП.Вы увидите текст, похожий на следующие выходные данные:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:39:00 CPU Usage 2021-09-21 23:40:00 CPU Usage 2021-09-21 23:41:00 CPU Usage 2021-09-21 23:42:00 CPU Usage 2021-09-21 23:43:00 CPU Usage 0.375 2021-09-21 23:44:00 CPU Usage 0.875 2021-09-21 23:45:00 CPU Usage 1 2021-09-21 23:46:00 CPU Usage 3.625 2021-09-21 23:47:00 CPU Usage 1.5 2021-09-21 23:48:00 CPU Usage 2.75 2021-09-21 23:49:00 CPU Usage 1.625 2021-09-21 23:50:00 CPU Usage 0.625 2021-09-21 23:51:00 CPU Usage 0.5 2021-09-21 23:52:00 CPU Usage 0.5 2021-09-21 23:53:00 CPU Usage 0.5
Выполните следующую
az monitor metrics list
команду, чтобы получить сведения об использовании памяти:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
Здесь вы указали MemoryUsage для аргумента
--metrics
, чтобы получить сведения об использовании памяти.Вы увидите текст, похожий на следующие выходные данные:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:43:00 Memory Usage 2021-09-21 23:44:00 Memory Usage 0.0 2021-09-21 23:45:00 Memory Usage 15917056.0 2021-09-21 23:46:00 Memory Usage 16744448.0 2021-09-21 23:47:00 Memory Usage 16842752.0 2021-09-21 23:48:00 Memory Usage 17190912.0 2021-09-21 23:49:00 Memory Usage 17506304.0 2021-09-21 23:50:00 Memory Usage 17702912.0 2021-09-21 23:51:00 Memory Usage 17965056.0 2021-09-21 23:52:00 Memory Usage 18509824.0 2021-09-21 23:53:00 Memory Usage 18649088.0 2021-09-21 23:54:00 Memory Usage 18845696.0 2021-09-21 23:55:00 Memory Usage 19181568.0
В портал Azure Экземпляры контейнеров Azure сведения об использовании ЦП и памяти выглядят следующим образом:
Очистка ресурсов
В этом модуле вы создали ресурсы с использованием своей подписки Azure. Вы должны очистить эти ресурсы, чтобы вы по-прежнему не взимаете плату за них.
На главной странице Azure выберите Все ресурсы.
Найдите группу learn-deploy-acr-rg (или группу с другим использованным вами именем) и выберите ее.
В группе ресурсов на вкладке Обзор выберите Удалить группу ресурсов.
Откроется новое диалоговое окно. Введите имя группы ресурсов еще раз и выберите Удалить. Все ресурсы, созданные в этом модуле, удаляются.