Aracılığıyla paylaş


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.