Azure Container Instances kapsayıcı günlüklerini ve olaylarını alma
Azure Container Instances'ta hatalı davranan bir kapsayıcınız olduğunda, az container logs ile günlüklerini görüntüleyerek ve az container attach ile standart ve standart hatasını akışla aktararak işe başlayın. Ayrıca Azure portalında kapsayıcı örnekleri için günlükleri ve olayları görüntüleyebilir veya kapsayıcı grupları için günlük ve olay verilerini Azure İzleyici günlüklerine gönderebilirsiniz.
Günlükleri görüntüleme
Kapsayıcı içindeki uygulama kodunuzdaki günlükleri görüntülemek için az container logs komutunu kullanabilirsiniz.
Aşağıdaki örnek çıktı, komut satırı geçersiz kılma kullanılarak geçersiz bir URL sağlandıktan sonra Kapsayıcı örneğinde komut satırını ayarlama'daki örnek görev tabanlı kapsayıcının günlük çıkışıdır:
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
Çıkış akışları ekleme
az container attach komutu, kapsayıcı başlatma sırasında tanılama bilgileri sağlar. Kapsayıcı başlatıldıktan sonra STDOUT ve STDERR'yi yerel konsolunuza akışla gönderir.
Örneğin, işlenmek üzere büyük bir metin dosyasının geçerli BIR URL'si sağlandıktan sonra, Kapsayıcı örneğinde komut satırını ayarlama'daki görev tabanlı kapsayıcının çıktısı aşağıda verilmiştir:
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)]
Tanılama olaylarını alma
Kapsayıcınız başarıyla dağıtılamazsa Azure Container Instances kaynak sağlayıcısı tarafından sağlanan tanılama bilgilerini gözden geçirin. Kapsayıcınızın olaylarını görüntülemek için az container show komutunu çalıştırın:
az container show --resource-group myResourceGroup --name mycontainer
Çıktı, kapsayıcınızın temel özelliklerini ve dağıtım olaylarını içerir (burada kesilmiş olarak gösterilir):
{
"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
}
],
...
}
],
...
}
Sonraki adımlar
Azure Container Instances için yaygın kapsayıcı ve dağıtım sorunlarını gidermeyi öğrenin.
Kapsayıcı grupları için günlük ve olay verilerini Azure İzleyici günlüklerine göndermeyi öğrenin.