Exercício – Solucionar problemas das Instâncias de Contêiner do Azure
Para ajudar você a entender as técnicas básicas de solução problemas com instâncias de contêiner, execute algumas operações básicas como:
- Efetuar pull de logs de contêiner
- Ver eventos de contêiner
- Anexar um volume de dados a uma instância de contêiner
Obter logs de sua instância de contêiner implantada anteriormente
Execute o comando az container logs
a seguir para ver a saída do contêiner de aplicativo de votação de gatos e cachorros que você criou no exercício anterior:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Você obterá uma saída semelhante a:
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
…
Obter eventos de contêiner
O comando az container attach
fornece informações de diagnóstico durante a inicialização do contêiner. Depois de iniciado, o contêiner também grava os fluxos de saída e erro padrão em seu terminal local.
Execute az container attach
para anexar a seu contêiner:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Você obterá uma saída semelhante a:
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
…
Dica
Pressione Ctrl + C para se desconectar do contêiner anexado.
Executar um comando em seu contêiner
Durante o diagnóstico e a solução de problemas, convém executar comandos diretamente no contêiner em execução.
Para ver os comandos em seu contêiner, execute o comando
az container exec
para iniciar uma sessão interativa em seu contêiner:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
Neste ponto, você de fato está trabalhando dentro do contêiner.
Execute o comando
ls
para exibir o conteúdo do diretório de trabalho.# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
Você pode continuar explorando o sistema se desejado. Quando terminar, execute o comando
exit
para interromper a sessão interativa.
Monitorar o uso de memória e CPU no contêiner
Veja como monitorar o uso de CPU e memória em seu contêiner.
Execute o comando
az container show
a seguir para obter a ID de sua instância de contêiner do Azure e armazenar a ID em uma variável de Bash:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
Execute o comando
az monitor metrics list
para recuperar informações de uso da CPU:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Observe o argumento
--metrics
. Aqui, CPUUsage especifica a recuperação do uso da CPU.Você verá um texto semelhante à seguinte saída:
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
Execute este comando
az monitor metrics list
para recuperar informações de uso de memória:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
Aqui, você especificou MemoryUsage para o argumento
--metrics
para recuperar informações de uso de memória.Você verá um texto semelhante à seguinte saída:
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
No portal do Azure, as informações de uso de memória e de CPU das Instâncias de Contêiner do Azure são semelhantes a estas:
Limpar recursos
Neste módulo, você criou recursos usando sua assinatura do Azure. Você deve limpar esses recursos para que não sejam incididas cobranças sobre eles.
Na home page do Azure, selecione Todos os recursos.
Localize o grupo de recursos learn-deploy-aci-rg ou qualquer nome de grupo de recursos já usado e selecione-o.
Na guia Visão geral do grupo de recursos, selecione Excluir grupo de recursos.
Uma nova caixa de diálogo é aberta. Insira o nome do grupo de recursos novamente e selecione Excluir. Todos os recursos que criamos neste módulo serão excluídos.