Övning – Felsöka Azure Container Instances
För att hjälpa dig att förstå grundläggande sätt att felsöka containerinstanser kan du utföra några grundläggande åtgärder som:
- Hämta containerloggar
- Visa containerhändelser
- Ansluta till en containerinstans
Hämta loggar från din tidigare distribuerade containerinstans
Kör följande az container logs
kommando för att se utdata från den katt- och hundröstningsappcontainer som du skapade i föregående övning:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Du får utdata som liknar:
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
…
Hämta containerhändelser
Med kommandot az container attach
kan du visa diagnostisk information när containern startas. När containern har startats skriver den även standardutdata och standardfelströmmar till din lokala terminal.
Kör az container attach
för att ansluta till containern:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo-files
Du får utdata som liknar:
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
…
Dricks
Tryck på Ctrl+C för att koppla från den anslutna containern.
Köra ett kommando i containern
När du diagnostiserar och felsöker problem kan du behöva köra kommandon direkt i den aktiva containern.
Om du vill se kommandon i containern kör du följande
az container exec
kommando för att starta en interaktiv session i containern:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --exec-command /bin/sh
Nu arbetar du effektivt i containern.
Kör
ls
-kommandot för att visa innehållet i arbetskatalogen.# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
Om du vill kan du utforska systemet ytterligare. När du är klar kör du kommandot
exit
för att stoppa den interaktiva sessionen.
Övervaka containerns processor- och minnesanvändning.
Se hur du övervakar processor- och minnesanvändning i containern.
Kör följande
az container show
kommando för att hämta ID:t för din Azure-containerinstans och lagra ID:t i en Bash-variabel:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo-files \ --query id \ --output tsv)
az monitor metrics list
Kör kommandot för att hämta cpu-användningsinformation:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Observera
--metrics
-argumentet. Här anger CPUUsage att processoranvändningen ska hämtas.Du ser text som liknar följande utdata:
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
Kör det här
az monitor metrics list
kommandot för att hämta information om minnesanvändning:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
Här har du angett MemoryUsage för argumentet för
--metrics
att hämta information om minnesanvändning.Du ser text som liknar följande utdata:
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
I Azure-portalen ser cpu- och minnesanvändningsinformationen för Azure Container Instances ut så här:
Rensa resurser
I den här modulen skapade du resurser med hjälp av din Azure-prenumeration. Du bör rensa dessa resurser så att du inte fortfarande debiteras för dem.
På Startsidan för Azure väljer du Alla resurser.
Leta upp resursgruppen learn-deploy-aci-rg, eller det resursgruppsnamn som du använde, och välj resursgruppen.
På fliken Översikt i resursgruppen väljer du Ta bort resursgrupp.
En ny dialogruta öppnas. Ange namnet på resursgruppen igen och välj Ta bort. Alla resurser som vi skapade i den här modulen tas bort.