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.