استرجع سجلات وأحداث الحاوية في مثيلات Azure Container

عندما يكون لديك حاوية سوء التصرف في مثيلات حاوية Azure، ابدأ بعرض سجلاتها مع سجلات حاوية az وتدفق الخطأ القياسي والقياسي مع إرفاق حاوية az. يمكنك أيضاً عرض السجلات والأحداث لطبعات الحاوية في مدخل Microsoft Azure، أو إرسال بيانات السجل والأحداث لمجموعات الحاوية إلى سجلات Azure Monitor.

عرض السجلات

'لعرض السجلات من التعليمات البرمجية للتطبيق الخاص بك داخل حاوية، يمكنك استخدام الأمر az container logs.

إخراج العينة التالي هو إخراج السجل من مثال الحاوية المستندة إلى المهمة في تعيين سطر الأوامر في مثيل حاوية، بعد توفير عنوان URL غير صالح باستخدام تجاوز سطر الأوامر:

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

إرفاق تدفقات الإخراج

يوفر الأمر az container attach معلومات تشخيصية أثناء بدء تشغيل الحاوية. بمجرد بدء تشغيل الحاوية، فإنها تتدفق STDOUT وSTDERR إلى وحدة التحكم المحلية الخاصة بك.

على سبيل المثال، إليك الإخراج من الحاوية المستندة إلى المهمة في تعيين سطر الأوامر في مثيل حاوية، بعد توفير عنوان URL صالح لملف نصي كبير لمعالجته:

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)]

احصل على أحداث التشخيص

إذا فشل نشر الحاوية الخاصة بك بنجاح، فراجع معلومات التشخيص التي يوفرها موفر موارد مثيلات Azure Container. لعرض أحداث الحاوية الخاصة بك، قم بتشغيل الأمر az container show :

az container show --resource-group myResourceGroup --name mycontainer

يتضمن الإخراج الخصائص الأساسية لحاويتك، جنباً إلى جنب مع أحداث التوزيع (الموضحة هنا مقطوعة):

{
  "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
        }
      ],
      ...
    }
  ],
  ...
}

الخطوات التالية

تعرف على كيفية استكشاف مشكلات الحاويات والنشر الشائعة وإصلاحها لمثيلات حاوية Azure.

تعرف على كيفية إرسال بيانات السجل والأحداث لمجموعات الحاويات إلى سجلات Azure Monitor.