Mengambil log dan peristiwa kontainer di Azure Container Instances
Ketika Anda memiliki kontainer yang berperilaku tidak semestinya di Azure Container Instances, mulailah dengan melihat lognya dengan perintah az container logs, dan alirkan output standar dan kesalahan standarnya dengan perintah az container attach. Anda juga dapat melihat log dan peristiwa untuk instans kontainer di portal Microsoft Azure, atau mengirim data log dan peristiwa untuk grup kontainer ke log Azure Monitor.
Menampilkan log
Untuk melihat log dari kode aplikasi Anda dalam kontainer, Anda dapat menggunakan perintah az container logs.
Berikut ini adalah output log dari contoh kontainer berbasis tugas di Mengatur baris perintah dalam instans kontainer, setelah memberikan URL yang tidak valid menggunakan pengesampingan baris perintah:
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
Melampirkan aliran output
Perintah az container attach memberikan informasi diagnostik selama memulai kontainer. Setelah kontainer dimulai, kontainer mengalirkan STDOUT dan STDERR ke konsol lokal Anda.
Misalnya, berikut adalah output dari kontainer berbasis tugas di Mengatur baris perintah dalam instans kontainer, setelah memberikan URL yang valid dari file teks besar untuk diproses:
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)]
Mendapatkan peristiwa diagnostik
Jika kontainer Anda gagal disebarkan, tinjau informasi diagnostik yang diberikan oleh penyedia sumber daya Azure Container Instances. Untuk melihat peristiwa untuk kontainer Anda, jalankan perintah az container show:
az container show --resource-group myResourceGroup --name mycontainer
Output mencakup properti inti kontainer Anda, bersama dengan peristiwa penyebaran (ditampilkan di sini terpotong):
{
"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
}
],
...
}
],
...
}
Langkah berikutnya
Pelajari cara memecahkan masalah umum kontainer dan penyebaran untuk Azure Container Instances.
Pelajari cara mengirim data log dan peristiwa untuk grup kontainer ke log Azure Monitor.