Načtení událostí a protokolů kontejnerů ve službě Azure Container Instances
Pokud máte v Azure Container Instances nesprávný chování kontejneru, začněte zobrazením protokolů pomocí příkazu az container logs a streamováním standardní a standardní chyby pomocí příkazu az container attach. Protokoly a události pro instance kontejnerů můžete také zobrazit na webu Azure Portal nebo odesílat data protokolů a událostí pro skupiny kontejnerů do protokolů služby Azure Monitor.
Zobrazení protokolů
Pokud chcete zobrazit protokoly z kódu aplikace v kontejneru, můžete použít příkaz az container logs .
Následující ukázkový výstup je výstup protokolu z ukázkového kontejneru založeného na úlohách v nastavení příkazového řádku v instanci kontejneru po zadání neplatné adresy URL pomocí přepsání příkazového řádku:
az container logs --resource-group myResourceGroup --name mycontainer
Traceback (most recent call last):
File "wordcount.py", line 11, in <module>
urllib.request.urlretrieve (sys.argv[1], "foo.txt")
File "/usr/local/lib/python3.6/urllib/request.py", line 248, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/usr/local/lib/python3.6/urllib/request.py", line 223, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python3.6/urllib/request.py", line 532, in open
response = meth(req, response)
File "/usr/local/lib/python3.6/urllib/request.py", line 642, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/lib/python3.6/urllib/request.py", line 570, in error
return self._call_chain(*args)
File "/usr/local/lib/python3.6/urllib/request.py", line 504, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.6/urllib/request.py", line 650, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
Připojení výstupních datových proudů
Příkaz az container attach poskytuje diagnostické informace během spouštění kontejneru. Po spuštění kontejneru streamuje STDOUT a STDERR do místní konzoly.
Tady je například výstup z kontejneru založeného na úlohách v nastavení příkazového řádku v instanci kontejneru po zadání platné adresy URL velkého textového souboru ke zpracování:
az container attach --resource-group myResourceGroup --name mycontainer
Container 'mycontainer' is in state 'Unknown'...
Container 'mycontainer' is in state 'Waiting'...
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 19:42:39+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-wordcount:latest"
Container 'mycontainer1' is in state 'Running'...
(count: 1) (last timestamp: 2019-03-21 19:42:39+00:00) pulling image "mcr.microsoft.com/azuredocs/aci-wordcount:latest"
(count: 1) (last timestamp: 2019-03-21 19:42:52+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/aci-wordcount:latest"
(count: 1) (last timestamp: 2019-03-21 19:42:55+00:00) Created container
(count: 1) (last timestamp: 2019-03-21 19:42:55+00:00) Started container
Start streaming logs:
[('the', 22979),
('I', 20003),
('and', 18373),
('to', 15651),
('of', 15558),
('a', 12500),
('you', 11818),
('my', 10651),
('in', 9707),
('is', 8195)]
Získání diagnostických událostí
Pokud se vašemu kontejneru nepodaří úspěšně nasadit, projděte si diagnostické informace poskytnuté poskytovatelem prostředků služby Azure Container Instances. Pokud chcete zobrazit události kontejneru, spusťte příkaz az container show :
az container show --resource-group myResourceGroup --name mycontainer
Výstup obsahuje základní vlastnosti kontejneru spolu s událostmi nasazení (zde jsou zkrácené):
{
"containers": [
{
"command": null,
"environmentVariables": [],
"image": "mcr.microsoft.com/azuredocs/aci-helloworld",
...
"events": [
{
"count": 1,
"firstTimestamp": "2019-03-21T19:46:22+00:00",
"lastTimestamp": "2019-03-21T19:46:22+00:00",
"message": "pulling image \"mcr.microsoft.com/azuredocs/aci-helloworld\"",
"name": "Pulling",
"type": "Normal"
},
{
"count": 1,
"firstTimestamp": "2019-03-21T19:46:28+00:00",
"lastTimestamp": "2019-03-21T19:46:28+00:00",
"message": "Successfully pulled image \"mcr.microsoft.com/azuredocs/aci-helloworld\"",
"name": "Pulled",
"type": "Normal"
},
{
"count": 1,
"firstTimestamp": "2019-03-21T19:46:31+00:00",
"lastTimestamp": "2019-03-21T19:46:31+00:00",
"message": "Created container",
"name": "Created",
"type": "Normal"
},
{
"count": 1,
"firstTimestamp": "2019-03-21T19:46:31+00:00",
"lastTimestamp": "2019-03-21T19:46:31+00:00",
"message": "Started container",
"name": "Started",
"type": "Normal"
}
],
"previousState": null,
"restartCount": 0
},
"name": "mycontainer",
"ports": [
{
"port": 80,
"protocol": null
}
],
...
}
],
...
}
Další kroky
Zjistěte, jak řešit běžné problémy s kontejnery a nasazením služby Azure Container Instances.
Zjistěte, jak odesílat data protokolů a událostí pro skupiny kontejnerů do protokolů služby Azure Monitor.