Načtení událostí a protokolů kontejnerů ve službě Azure Container Instances
Pokud se kontejner v Azure Container Instances chová nesprávně, začněte zobrazením jeho protokolů pomocí příkazu az container logs a streamujte jeho standardní a standardní chyby pomocí příkazu az container attach. Protokoly a události pro instance kontejnerů můžete také zobrazit v Azure Portal nebo odesílat protokoly a data událostí pro skupiny kontejnerů do protokolů služby Azure Monitor.
Zobrazení protokolů
K zobrazení protokolů z kódu aplikace v kontejneru můžete použít příkaz az container logs .
Následuje výstup protokolu z ukázkového kontejneru založeného na úlohách v části 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. Jakmile se kontejner spustí, streamuje STDOUT a STDERR do místní konzoly.
Tady je například výstup z kontejneru založeného na úlohách v části 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ů 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 vašeho kontejneru spolu s událostmi nasazení (viz 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 pro Azure Container Instances.
Zjistěte, jak odesílat data protokolů a událostí pro skupiny kontejnerů do protokolů služby Azure Monitor.