حل مراقبة الحاويات في Azure Monitor

رمز الحاويات

توضح هذه المقالة كيفية إعداد واستخدام حل Container Monitoring في Azure Monitor، والذي يساعدك في عرض وإدارة مضيفي Docker وWindows في موقع واحد. Docker هو نظام ظاهري برمجي يستخدم لإنشاء حاويات تعمل تلقائيًا على نشر البرامج في البنية التحتية لتكنولوجيا المعلومات الخاصة بهم.

هام

يتم الآن التخلص التدريجي من حل "مراقبة الحاوية"، لمراقبة بيئات Kubernetes الخاصة بك، نوصي بالانتقال إلى نتائج تحليلاتAzure Monitor Container.

ملاحظة

تم تحديث هذه المقالة مؤخراً لاستخدام مصطلح سجلات مراقبة Azure بدلاً من تحليلات السجلات. لا تزال بيانات السجل مخزنة في مساحة عملLog Analytics ولا يزال يتم جمعها وتحليلها بواسطة نفس خدمة Log Analytics. نحن نحدِّث المصطلحات لتعكس دور السجلات في Azure Monitorعلى نحوٍ أفضل. راجع تغييرات مصطلحات Azure Monitor للحصول على التفاصيل.

يوضح الحل الحاويات التي يتم تشغيلها وصورة الحاوية التي يتم تشغيلها ومكان تشغيل الحاويات. يمكنك عرض معلومات تدقيق مفصلة توضح الأوامر المستخدمة مع الحاويات. ويمكنك استكشاف أخطاء الحاويات وإصلاحها عن طريق عرض السجلات المركزية والبحث فيها دون الحاجة إلى عرض Docker أو مضيفي Windows عن بُعد. يمكنك العثور على حاويات قد تكون مزعجة وتستهلك الموارد الزائدة على مضيف. ويمكنك عرض معلومات مركزية عن استخدام وحدة المعالجة المركزية والذاكرة والتخزين واستخدام الشبكة والأداء للحاويات. على أجهزة الكمبيوتر التي تعمل بنظام Windows، يمكنك مركزة ومقارنة السجلات من حاويات Windows Server وHyper-V وDocker. يدعم الحل منظمي الحاوية التاليين:

  • Docker Swarm
  • DC/OS
  • Service Fabric

نوصي باستخدام رؤى Azure Monitor Container لمراقبة Kubernetes وRed Hat OpenShift:

إذا كانت لديك حاويات تم نشرها في Azure Service Fabric ، فإننا نوصي بتمكين كل من حل Service Fabric وهذا الحل ليشمل مراقبة أحداث المجموعة. قبل تمكين حل Service Fabric، راجع استخدام حل Service Fabric لفهم ما يقدمه وكيفية استخدامه.

إذا كنت مهتمًا بمراقبة أداء أحمال العمل الموزعة على بيئات Kubernetes المستضافة على خدمة Azure Kubernetes (AKS)، فراجعخدمة مراقبة Azure Kubernetes. لا يدعم حل مراقبة الحاوية مراقبة ذلك النظام الأساسي.

يُظهر الرسم التخطيطي التالي العلاقات بين مختلف مضيفي الحاوية والوكلاء باستخدام Azure Monitor.

رسم تخطيطي يوضح العلاقات بين Azure Monitor ومضيفي الحاوية والعوامل الموجودة في Azure Cloud والسحابات الأخرى والشبكة المحلية.

متطلبات النظام والأنظمة الأساسية المدعومة

قبل البدء، راجع التفاصيل التالية للتحقق من أنك تلبي المتطلبات الأساسية.

دعم حلول مراقبة الحاويات لمنصة Docker Orchestrator ونظام التشغيل الأساسي

يوضح الجدول التالي تنسيق Docker ودعم مراقبة نظام التشغيل لمخزون الحاويات والأداء والسجلات باستخدام Azure Monitor.

تنسيق Docker ACS Linux Windows الحاوية
المخزون
صورة
المخزون
Node
المخزون
الحاوية
الأداء
الحاوية
الحدث
الحدث
سجل
الحاوية
سجل
Kubernetes
Mesosphere
DC/OS
Docker
Swarm
الخدمة
Fabric
Red Hat مفتوح
Shift
Windows Server
(مستقل)
خادم Linux
(مستقل)

إصدارات Docker مدعومة على Linux

  • 1.11Docker إلى 1.13
  • Docker CE وEE v17.06

x64 توزيعات Linux معتمدة كمضيفي حاويات

  • Ubuntu 14.04 LTS و16.04 LTS
  • CoreOS (مستقر)
  • 2016.09.0Amazon Linux
  • openSUSE 13.2
  • openSUSE LEAP 42.2
  • CentOS 7.2 و 7.3
  • SLES 12
  • RHEL 7.2 و 7.3
  • Red Hat OpenShift Container Platform (OCP) 3.4 and 3.5
  • ACS Mesosphere DC/OS 1.7.3 إلى 1.8.8
  • ACS Kubernetes 1.4.5 إلى 1.6
    • أحداث Kubernetes ومخزون Kubernetes وعمليات الحاوية مدعومة فقط مع الإصدار 1.4.1-45 والإصدارات الأحدث من وكيل Log Analytics لنظام Linux
  • ACS Docker Swarm

ملاحظة

كجزء من الانتقال المستمر من Microsoft Operations Management Suite إلى Azure Monitor، ستتم الإشارة إلى عامل مجموعة إدارة العمليات لنظام التشغيل Windows أو Linux كعامل Log Analytics لنظام Windows وعامل Log Analytics لنظام Linux.

نظام تشغيل Windows معتمد

  • Windows Server 2016
  • إصدار الذكرى السنوية لـ Windows 10 (احترافي أو مؤسسي)

إصدارات Docker مدعومة على Windows

  • Docker 1.12 و1.13
  • Docker 17.03.0 والإصدارات الأحدث

تركيب الحل وتكوينه

استخدم المعلومات التالية لتثبيت الحل وتكوينه.

  1. أضف حل مراقبة الحاوية إلى مساحة عمل Log Analytics workspace من Azure Marketplace أو باستخدام العملية الموضحة في إضافة حلول المراقبة من معرض الحلول.

  2. تثبيت واستخدام Docker مع عامل Log Analytics. استنادًا إلى نظام التشغيل لديك ومنسق Docker، يمكنك استخدام الطرق التالية لتكوين العامل الخاص بك.

    • للمضيفين المستقلين:
      • على أنظمة تشغيل Linux المدعومة ، قم بتثبيت Docker وتشغيله ثم تثبيت وتكوينعامل Log Analytics لنظام Linux.
      • في CoreOS، لا يمكنك تشغيل عامل Log Analytics لنظام Linux. بدلَا من ذلك، يمكنك تشغيل إصدار حاوية من عامل Log Analytics لنظام Linux. راجع مضيفي حاوية Linux بما في ذلك مضيفات حاوية CoreOS أو Azure Government Linux بما في ذلك CoreOS إذا كنت تعمل مع الحاويات في Azure Government Cloud.
      • في Windows Server 2016 و Windows 10 ، قم بتثبيت Docker Engine والعميل ثم قم بتوصيل وكيل لجمع المعلومات وإرسالها إلى Azure Monitor. مراجعة تثبيت وتكوين مضيفي الحاوية Windows إذا كان لديك بيئة Windows.
    • بالنسبة إلى تنسيق Docker متعدد المضيفين:

راجع مقالة Docker Engine على Windows للحصول على معلومات إضافية حول كيفية تثبيت Docker Engines وتكوينها على أجهزة الكمبيوتر التي تعمل بنظام Windows.

هام

يجب تشغيل Docker قبل تثبيت عامل Log Analytics الخاص بـLinux على مضيفي الحاوية. إذا قمت بالفعل بتثبيت العامل قبل تثبيت Docker ، فستحتاج إلى إعادة تثبيت وكيل Log Analytics لنظام Linux. لمزيد من المعلومات حول Docker، راجع موقع Docker على الويب.

تثبيت وتكوين مضيفي حاويات Linux

بعد تثبيت Docker، استخدم الإعدادات التالية لمضيف الحاوية لتكوين العامل للاستخدام مع Docker. تحتاج أولًا إلى معرف مساحة عمل Log Analytics والمفتاح، الذي يمكنك العثور عليه في مدخل Azure. في مساحة العمل الخاصة بك، انقر فوق "بدء تشغيل>سريع لأجهزة الكمبيوتر" لعرض معرف مساحة العملوالمفتاح الأساسي. نسخ ولصق كليهما في المحرر المفضل لديك.

لجميع المضيفين الحاويات لينكس باستثناءCoreOS:

لجميع المضيفين الحاويات لينكس بما في ذلك CoreOS

بدء تشغيل الحاوية التي تريد مراقبتها. تعديل واستخدام المثال التالي:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -h=`hostname` -p 127.0.0.1:25225:25225 --name="omsagent" --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

لجميع المضيفين Azure الحكومة لينكس الحاويات بما في ذلك :CoreOS

بدء تشغيل الحاوية التي تريد مراقبتها. تعديل واستخدام المثال التالي:

sudo docker run --privileged -d -v /var/run/docker.sock:/var/run/docker.sock -v /var/log:/var/log -v /var/lib/docker/containers:/var/lib/docker/containers -e WSID="your workspace id" -e KEY="your key" -e DOMAIN="opinsights.azure.us" -p 127.0.0.1:25225:25225 -p 127.0.0.1:25224:25224/udp --name="omsagent" -h=`hostname` --restart=always mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest

التحول من استخدام وكيل لينكس المثبتة إلى واحد في حاوية

إذا كنت تستخدم عامل مثبت مباشر وتريد بدلاً من ذلك استخدام عامل قيد التشغيل في حاوية، يجب أولًا إزالة عامل "تحليلات السجل" لـLinux. راجع إلغاء تثبيت عامل سجل التحليلات لـLinux لفهم كيفية إلغاء تثبيت العامل بنجاح.

تكوين وكيل تحليلات السجل لـDocker Swarm

يمكنك تشغيل وكيل Log Analytics كخدمة عالمية على Docker Swarm. استخدم المعلومات التالية لإنشاء خدمة عامل سجل التحليلات. تحتاج إلى تقديم معرف مساحة عمل تحليلات السجل والمفتاح الأساسي.

  • تشغيل ما يلي على العقدة الرئيسية.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers -e WSID="<WORKSPACE ID>" -e KEY="<PRIMARY KEY>" -p 25225:25225 -p 25224:25224/udp  --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    
أسرار آمنة لـDocker Swarm

بالنسبة لـDocker Swarm ، بمجرد إنشاء سر معرف مساحة العمل والمفتاح الأساسي، استخدم المعلومات التالية لإنشاء معلوماتك السرية.

  1. تشغيل ما يلي على العقدة الرئيسية.

    echo "WSID" | docker secret create WSID -
    echo "KEY" | docker secret create KEY -
    
  2. تحقق من أن الأسرار تم إنشاؤها بشكل صحيح.

    keiko@swarmm-master-13957614-0:/run# sudo docker secret ls
    
    ID                          NAME                CREATED             UPDATED
    j2fj153zxy91j8zbcitnjxjiv   WSID                43 minutes ago      43 minutes ago
    l9rh3n987g9c45zffuxdxetd9   KEY                 38 minutes ago      38 minutes ago
    
  3. تشغيل الأمر التالي لتحميل الأسرار إلى عامل "تحليلات السجل" الحاوية.

    sudo docker service create  --name omsagent --mode global  --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mount type=bind,source=/var/lib/docker/containers,destination=/var/lib/docker/containers --secret source=WSID,target=WSID --secret source=KEY,target=KEY  -p 25225:25225 -p 25224:25224/udp --restart-condition=on-failure mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest
    

تكوين عامل تحليلات السجل لـRed Hat OpenShift

هناك ثلاث طرق لإضافة وكيل Log Analytics إلى Red Hat OpenShift لبدء جمع بيانات مراقبة الحاوية.

في هذا القسم، نغطي الخطوات المطلوبة لتثبيت وكيل Log Analytics كمجموعة خفية OpenShift.

  1. قم بتسجيل الدخول إلى عقدة OpenShift الرئيسية وانسخ ملف yaml ocp-omsagent.yaml من GitHub إلى العقدة الرئيسية وقم بتعديل القيمة باستخدام معرّف مساحة عمل Log Analytics ومفتاحك الأساسي.

  2. قم بتشغيل الأوامر التالية لإنشاء مشروع لمراقب Azure وتعيين حساب المستخدم.

    oc adm new-project omslogging --node-selector='zone=default'
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. لنشر المجموعة الخفية، قم بتشغيل ما يلي:

    oc create -f ocp-omsagent.yaml

  4. للتحقق من تكوينه وعمله بشكل صحيح ، اكتب ما يلي:

    oc describe daemonset omsagent

    ويجب أن يشبه الإخراج:

    [ocpadmin@khm-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

إذا كنت ترغب في استخدام البيانات السرية لتأمين معرف مساحة عمل Log Analytics والمفتاح الأساسي عند استخدام ملف yaml لمجموعة وكيل Log Analytics ، فقم بتنفيذ الخطوات التالية.

  1. قم بتسجيل الدخول إلى عقدة OpenShift الرئيسية وانسخ ملف yaml ocp-ds-omsagent.yaml والبرنامج النصي لإنشاء كلمة السر ocp-secretgen.sh من GitHub. سيقوم هذا البرنامج النصي بإنشاء ملف البيانات السرية yaml لمعرف مساحة عمل تحليلات السجل والمفتاح الأساسي لتأمين المعلومات السرية الخاصة بك.

  2. قم بتشغيل الأوامر التالية لإنشاء مشروع لمراقب Azure وتعيين حساب المستخدم. يطلب البرنامج النصي لإنشاء البيانات السرية معرف مساحة عمل Log Analytics <WSID>والمفتاح الأساسي<KEY>وعند الانتهاء، يقوم بإنشاء ملف ocp-secret.yaml.

    oc adm new-project omslogging --node-selector='zone=default'  
    oc project omslogging  
    oc create serviceaccount omsagent  
    oc adm policy add-cluster-role-to-user cluster-reader   system:serviceaccount:omslogging:omsagent  
    oc adm policy add-scc-to-user privileged system:serviceaccount:omslogging:omsagent  
    
  3. نشر ملف البيانات السرية عن طريق تشغيل ما يلي:

    oc create -f ocp-secret.yaml

  4. تحقق من النشر عن طريق تشغيل ما يلي:

    oc describe secret omsagent-secret

    ويجب أن يشبه الإخراج:

    [ocpadmin@khocp-master-0 ~]$ oc describe secret omsagent-secret  
    Name:           omsagent-secret  
    Namespace:      omslogging  
    Labels:         <none>  
    Annotations:    <none>  
    Type:   Opaque  
    Data  
    ====  
    KEY:    89 bytes  
    WSID:   37 bytes  
    
  5. انشر ملف yaml لمجموعة عامل Log Analytics عن طريق تشغيل ما يلي:

    oc create -f ocp-ds-omsagent.yaml

  6. تحقق من النشر عن طريق تشغيل ما يلي:

    oc describe ds oms

    ويجب أن يشبه الإخراج:

    [ocpadmin@khocp-master-0 ~]$ oc describe ds oms  
    Name:           oms  
    Image(s):       mcr.microsoft.com/azuremonitor/containerinsights/ciprod:microsoft-oms-latest  
    Selector:       name=omsagent  
    Node-Selector:  zone=default  
    Labels:         agentVersion=1.4.0-12  
                    dockerProviderVersion=10.0.0-25  
                    name=omsagent  
    Desired Number of Nodes Scheduled: 3  
    Current Number of Nodes Scheduled: 3  
    Number of Nodes Misscheduled: 0  
    Pods Status:    3 Running / 0 Waiting / 0 Succeeded / 0 Failed  
    No events.  
    

قم بتكوين وكيل Log Analytics Linux لنظام Kubernetes

بالنسبة إلى Kubernetes، يمكنك استخدام برنامج نصي لإنشاء ملف yaml للبيانات السرية لمعرف مساحة العمل والمفتاح الأساسي لتثبيت عامل Log Analytics لنظام Linux. في صفحة Log Analytics Docker Kubernetes GitHub ، هناك ملفات يمكنك استخدامها مع أو بدون معلوماتك السرية.

  • لا يحتوي عامل تحليلات السجل الافتراضي لنظام Linux DaemonSet على معلومات سرية (omsagent.yaml)
  • يستخدم عامل Log Analytics لملف Linux DaemonSet yaml معلومات سرية (omsagent-ds-secrets.yaml) مع نصوص إنشاء سرية لإنشاء ملف البيانات السرية yaml (omsagentsecret.yaml).

يمكنك اختيار إنشاء omsagent DaemonSets مع أو بدون بيانات سرية.

ملف OMSagent الافتراضي DaemonSet yaml بدون بيانات سرية

  • للحصول على ملف DaemonSet yaml الافتراضي لعامل Log Analytics، استبدل <WSID> الملف <KEY> وWSID وKEY. نسخ الملف إلى العقدة الرئيسية وتشغيل ما يلي:

    sudo kubectl create -f omsagent.yaml
    

ملف OMSagent الافتراضي DaemonSet yaml بدون بيانات سرية

  1. لاستخدام عامل سجل Analytics DaemonSet باستخدام بيانات سرية، قم بإنشاء البيانات السرية أولًا.

    1. انسخ ملف البرنامج النصي وقالب البيانات السرية وتأكد من وجودهما في نفس الدليل.

      • البرنامج النصي لإنشاء البيانات السرية- secret-gen.sh
      • قالب بيانات سرية -secret-template.yaml
    2. تشغيل البرنامج النصي، مثل المثال التالي. يطلب البرنامج النصي معرف مساحة عمل Log Analytics والمفتاح الأساسي وبعد إدخالهما، يقوم البرنامج النصي بإنشاء ملف yaml سري حتى تتمكن من تشغيله.

      #> sudo bash ./secret-gen.sh
      
    3. إنشاء حاوية البيانات السرية عن طريق تشغيل ما يلي:

      sudo kubectl create -f omsagentsecret.yaml
      
    4. للتحقق من ذلك، قم بتشغيل ما يلي:

      keiko@ubuntu16-13db:~# sudo kubectl get secrets
      

      يجب أن يشبه الإخراج:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      
      keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
      

      يجب أن يشبه الإخراج:

      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيلsudo kubectl create -f omsagent-ds-secrets.yaml

  2. تحقق من تشغيل DaemonSet عامل سجل التحليلات على غرار ما يلي:

    keiko@ubuntu16-13db:~# sudo kubectl get ds omsagent
    
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   3         3         <none>          1h
    

بالنسبة لـKubernetes ، استخدم برنامجًا نصيًا لإنشاء ملف yaml للبيانات السرية لمعرف مساحة العمل والمفتاح الأساسي لعامل سجل التحليلات لنظام Linux. استخدم معلومات المثال التالي مع ملف omsagent yaml لتأمين معلوماتك السرية.

keiko@ubuntu16-13db:~# sudo kubectl describe secrets omsagent-secret
Name:           omsagent-secret
Namespace:      default
Labels:         <none>
Annotations:    <none>

Type:   Opaque

Data
====
WSID:   36 bytes
KEY:    88 bytes

قم بتكوين وكيل Log Analytics Windows لـKubernetes

بالنسبة لنظام التشغيل Windows Kubernetes ، يمكنك استخدام برنامج نصي لإنشاء ملف yaml للبيانات السرية لمعرف مساحة العمل والمفتاح الأساسي لتثبيت عامل Log Analytics. في صفحة Log Analytics Docker Kubernetes GitHub ، هناك ملفات يمكنك استخدامها مع أو بدون معلوماتك السرية. تحتاج إلى تثبيت عامل "تحليلات السجل" بشكل منفصل للعقد الرئيسية والعامل.

  1. لاستخدام عامل سجل Analytics DaemonSet باستخدام معلومات سرية على العقدة الرئيسية، قم بتسجيل الدخول وإنشاء البيانات السرية أولًا.

    1. انسخ ملف البرنامج النصي وقالب البيانات السرية وتأكد من وجودهما في نفس الدليل.

      • البرنامج النصي لإنشاء البيانات السرية- secret-gen.sh
      • قالب بيانات سرية -secret-template.yaml
    2. تشغيل البرنامج النصي، مثل المثال التالي. يطلب البرنامج النصي معرف مساحة عمل Log Analytics والمفتاح الأساسي وبعد إدخالهما، يقوم البرنامج النصي بإنشاء ملف yaml سري حتى تتمكن من تشغيله.

      #> sudo bash ./secret-gen.sh
      
    3. قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيلkubectl create -f omsagentsecret.yaml

    4. للتحقق، قم بتشغيل ما يلي:

      root@ubuntu16-13db:~# kubectl get secrets
      

      يجب أن يشبه الإخراج:

      NAME                  TYPE                                  DATA      AGE
      default-token-gvl91   kubernetes.io/service-account-token   3         50d
      omsagent-secret       Opaque                                2         1d
      root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
      Name:           omsagent-secret
      Namespace:      default
      Labels:         <none>
      Annotations:    <none>
      
      Type:   Opaque
      
      Data
      ====
      WSID:   36 bytes
      KEY:    88 bytes
      
    5. قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيلkubectl create -f ws-omsagent-de-secrets.yaml

  2. تحقق من تشغيل DaemonSet عامل سجل التحليلات على غرار ما يلي:

    root@ubuntu16-13db:~# kubectl get deployment omsagent
    NAME       DESIRED   CURRENT   NODE-SELECTOR   AGE
    omsagent   1         1         <none>          1h
    
  3. لتثبيت العامل على عقدة العامل، التي تعمل بنظام التشغيل Windows ، اتبع الخطوات الواردة في قسم تثبيت وتكوين مضيفي حاوية Windows.

استخدم Helm لنشر عامل Log Analytics على Linux Kubernetes

لاستخدام helm لنشر عامل Log Analytics في بيئة Linux Kubernetes الخاصة بك، قم بتنفيذ الخطوات التالية.

  1. قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيلhelm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms

  2. وستبدو النتائج مشابهة لما يلي:

    NAME:   omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     3s
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         3s
    
  3. يمكنك التحقق من حالة العامل عن طريق التشغيل:helm status "omsagent"وسيبدو الإخراج مشابهًا لما يلي:

    keiko@k8s-master-3814F33-0:~$ helm status omsagent
    LAST DEPLOYED: Tue Sep 19 20:37:46 2017
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/Secret
    NAME            TYPE    DATA  AGE
    omsagent-msoms  Opaque  3     17m
    
    ==> v1beta1/DaemonSet
    NAME            DESIRED  CURRENT  READY  UP-TO-DATE  AVAILABLE  NODE-SELECTOR  AGE
    omsagent-msoms  3        3        3      3           3          <none>         17m
    

    لمزيد من المعلومات، يرجى زيارةمخطط Container Solution Helm.

قم بتثبيت وتكوين مضيفي حاوية Windows

استخدم المعلومات الموجودة في المقطع لتثبيت وتكوين مضيفي الحاوية Windows.

التحضير قبل تثبيت عوامل Windows

قبل تثبيت العوامل على أجهزة الكمبيوتر التي تعمل بنظام Windows ، تحتاج إلى تكوين خدمة Docker. يسمح التكوين لعامل Windows أو ملحق الجهاز الظاهري Azure Monitor باستخدام مقبس Docker TCP حتى يتمكن الوكلاء من الوصول إلى برنامج Docker الخفي عن بُعد والتقاط البيانات للمراقبة.

لتكوين خدمة Docker

قم بتنفيذ أوامر PowerShell التالية لتمكين توجيه TCP وأنبوب التوجيه المسمى لـWindows Server:

Stop-Service docker
dockerd --unregister-service
dockerd --register-service -H npipe:// -H 0.0.0.0:2375  
Start-Service docker

لمزيد من المعلومات حول تكوين Docker daemon المستخدم مع Windows Containers ، راجع Docker Engine على Windows.

تثبيت عملاء Windows

لتمكين مراقبة حاويات Windows و Hyper-V ، قم بتثبيت Microsoft Monitoring Agent (MMA) على أجهزة الكمبيوتر التي تعمل بنظام Windows والتي تعد مضيفين للحاويات. بالنسبة لأجهزة الكمبيوتر التي تعمل بنظام Windows في البيئة المحلية الخاصة بك، راجع توصيل أجهزة الكمبيوتر التي تعمل بنظام التشغيل Windows لـ Azure Monitor. بالنسبة للأجهزة الظاهرة التي تعمل في Azure ، قم بتوصيلها بـAzure Monitor باستخدام ملحق الجهاز الظاهري.

يمكنك مراقبة حاويات Windows التي تعمل على Service Fabric. ومع ذلك، فإن الأجهزة الظاهرية التي تعمل في Azure وأجهزة الكمبيوتر التي تعمل بنظام Windows في البيئة المحلية الخاصة بك هي فقط المدعومة حاليًا لـ Service Fabric.

يمكنك التحقق من تعيين حل Container Monitoring بشكل صحيح لنظام التشغيل Windows. للتحقق مما إذا تم تنزيل حزمة الإدارة بشكل صحيح، ابحث عن ContainerManagement.xxx. يجب أن تكون الملفات في المجلد C: \ Program Files \ Microsoft Monitoring Agent \ Agent \ Health Service State \ Management Packs.

مكونات الحل

من مدخل Azure، انتقل إلى معرض الحلول وأضف حل مراقبة الحاوية. إذا كنت تستخدم عوامل Windows، فسيتم تثبيت حزمة الإدارة التالية على كل كمبيوتر مع عامل عند إضافة هذا الحل. لا يلزم تكوين أو صيانة لحزمة الإدارة.

  • تم تثبيت ContainerManagement.xxx في C: \ Program Files \ Microsoft Monitoring Agent \ Agent \ Health Service State \ Management Packs

تفاصيل جمع بيانات الحاوية

يجمع حل "مراقبة الحاوية" مقاييس أداء متنوعة وبيانات السجل من مضيفي الحاوية والحاويات باستخدام العوامل التي تقوم بتمكينها.

يتم جمع البيانات كل ثلاث دقائق بواسطة أنواع العوامل التالية.

سجلات الحاويات

يعرض الجدول التالي أمثلة على السجلات التي تم جمعها بواسطة حل Container Monitoring وأنواع البيانات التي تظهر في نتائج بحث السجل.

نوع البيانات نوع البيانات في بحث السجل الحقول
أداء المضيفين والحاويات Perf الكمبيوتر، اسم الكائن، اسم العداد؛ النسبة المئوية لوقت المعالج، قراءة القرص بالميغابايت، عمليات الكتابة على القرص بالميغابايت، استخدام الذاكرة ميغابايت، وحدات بايت استلام الشبكة، وحدات بايت إرسال الشبكة، استخدام المعالج بالثانية، الشبكة، قيمة العداد، TimeGenerated ،CounterPath، نظام المصدر
مخزون الحاوية ContainerInventory TimeGenerated، الكمبيوتر، اسم الحاوية، ContainerHostname ، الصورة، ImageTag ، ContainerState ، ExitCode ، EnvironmentVar ، Command ، CreatedTime ، StartedTime ، FinishedTime ، SourceSystem ، ContainerID ، ImageID
مخزون صورة الحاوية ContainerImageInventory TimeGenerated, Computer, Image, ImageTag, ImageSize, VirtualSize, Running, Paused, Stopped, Failed, SourceSystem, ImageID, TotalContainer
سجل الحاوية ContainerLog TimeGenerated، الكمبيوتر، معرف الصورة، اسم الحاويةLogEntrySource ، LogEntry ، SourceSystem ، ContainerID
سجل خدمة الحاويات ContainerServiceLog TimeGenerated, Computer, TimeOfCommand, Image, Command, SourceSystem, ContainerID
مخزون عقدة الحاوية ContainerNodeInventory_CL TimeGenerated, Computer, ClassName_s, DockerVersion_s, OperatingSystem_s, Volume_s, Network_s, NodeRole_s, OrchestratorType_s, InstanceID_g, SourceSystem
مخزون Kubernetes KubePodInventory_CL TimeGenerated, Computer, PodLabel_deployment_s, PodLabel_deploymentconfig_s, PodLabel_docker_registry_s, Name_s, Namespace_s, PodStatus_s, PodIp_s, PodUid_g, PodCreationTimeStamp_t, SourceSystem
عملية الحاوية ContainerProcess_CL TimeGenerated, Computer, Pod_s, Namespace_s, ClassName_s, InstanceID_s, Uid_s, PID_s, PPID_s, C_s, STIME_s, Tty_s, TIME_s, Cmd_s, Id_s, Name_s, SourceSystem
أحداث Kubernetes KubeEvents_CL TimeGenerated, Computer, Name_s, ObjectKind_s, Namespace_s, Reason_s, Type_s, SourceComponent_s, SourceSystem, Message

التسميات الملحقة بأنواع بيانات PodLabel هي التسميات المخصصة الخاصة بك. تسميات PodLabel الملحقة الموضحة في الجدول هي أمثلة. لذلك،PodLabel_deployment_s،PodLabel_deploymentconfig_s،PodLabel_docker_registry_sسوف تختلف في مجموعة بيانات بيئتك وتشبه بشكل عامPodLabel_yourlabel_s.

مراقبة الحاويات

بعد تمكين الحل في مدخل Azure ، تعرض لوحة الحاويات معلومات موجزة حول مضيفي الحاوية والحاويات قيد التشغيل في المضيفين.

لقطة شاشة تعرض صورة مصغرة للحاوية، والتي تحتوي على مخطط دائري يعرض معلومات موجزة عن الحاويات.

يعرض المربع نظرة عامة حول عدد الحاويات الموجودة في البيئة وما إذا كانت فاشلة أو قيد التشغيل أو متوقفة.

استخدام لوحة معلومات الحاويات

انقر فوق الإطار المتجانب حاويات. من هناك سترى طرق العرض التي تنظمها:

  • أحداث الحاوية - تعرض حالة الحاوية وأجهزة الكمبيوتر ذات الحاويات الفاشلة.
  • سجلات الحاوية - تعرض مخططًا لملفات سجل الحاوية التي تم إنشاؤها بمرور الوقت وقائمة بأجهزة الكمبيوتر التي تحتوي على أكبر عدد من ملفات السجل.
  • Kubernetes Events- يعرض مخططًا لأحداث Kubernetes التي تم إنشاؤها بمرور الوقت وقائمة بالأسباب التي أدت إلى إنشاء المجموعات للأحداث. تُستخدم مجموعة البيانات هذه فقط في بيئات Linux.
  • مخزون Kubernetes Namespace Inventory- يعرض عدد مساحات الأسماء والمجموعات ويعرض تسلسلها الهرمي. تُستخدم مجموعة البيانات هذه فقط في بيئات Linux.
  • مخزون عقدة الحاوية - يظهر عدد أنواع التزامن المستخدمة على عقد الحاوية/المضيفين. يتم أيضًا سرد عقد / أجهزة الكمبيوتر المضيفة حسب عدد الحاويات. تُستخدم مجموعة البيانات هذه فقط في بيئات Linux.
  • مخزون صور الحاوية - يعرض العدد الإجمالي لصور الحاوية المستخدمة وعدد أنواع الصور. يتم أيضًا سرد عدد الصور بواسطة علامة الصورة.
  • حالة الحاويات - تُظهر العدد الإجمالي لعقد الحاوية / أجهزة الكمبيوتر المضيفة التي تحتوي على حاويات قيد التشغيل. يتم سرد أجهزة الكمبيوتر أيضًا من قبل عدد المضيفين قيد التشغيل.
  • عملية الحاوية - يعرض مخطط خطي لعمليات الحاوية التي تعمل بمرور الوقت. يتم أيضًا سرد الحاويات عن طريق تشغيل الأمر / العملية داخل الحاويات. تُستخدم مجموعة البيانات هذه فقط في بيئات Linux.
  • أداء وحدة المعالجة المركزية للحاويات - يعرض مخططًا خطيًا لمتوسط ​​استخدام وحدة المعالجة المركزية بمرور الوقت لعقد / أجهزة الكمبيوتر المضيفة. يسرد أيضًا عقد الكمبيوتر / المضيفين استنادًا إلى متوسط استخدام وحدة المعالجة المركزية.
  • أداء ذاكرة الحاوية - يظهر مخطط خطي لاستخدام الذاكرة بمرور الوقت. يسرد أيضًا استخدام ذاكرة الكمبيوتر استنادًا إلى اسم المثيل.
  • أداء الكمبيوتر- يعرض مخططات خطية للنسبة المئوية لأداء وحدة المعالجة المركزية بمرور الوقت، والنسبة المئوية لاستخدام الذاكرة بمرور الوقت، وميغابايت من مساحة القرص الفارغة بمرور الوقت. يمكنك التمرير فوق أي خط في الرسم البياني لعرض مزيد من التفاصيل.

كل منطقة من لوحة المعلومات هي تمثيل مرئي لبحث يتم تشغيله على البيانات المجمعة.

لقطة شاشة تعرض لوحة معلومات لعرض البيانات التي تم جمعها.

لقطة شاشة تعرض لوحة معلومات لعرض البيانات المجمعة، والتي تضم الحالة والمعالجة والأداء ومخزون صور الحاويات.

في منطقة حالة الحاوية، انقر فوق المنطقة العلوية، كما هو موضح أدناه.

لقطة شاشة تعرض منطقة حالة الحاوية في لوحة معلومات الحاويات، والتي تتضمن مخططًا دائريًا يعرض معلومات حالة الحاوية.

يفتح «سجل التحليلات» ويعرض معلومات حول حالة الحاويات.

لقطة شاشة تعرض تحليلات السجل مع استعلام عن حالة الحاويات ونتائج البحث.

من هنا، يمكنك تحرير استعلام البحث لتعديله للعثور على المعلومات المحددة التي تهتم بها. لمزيد من المعلومات حول الاستعلامات، راجع نظرة عامة على استعلامات السجل في Azure Monitor.

استكشاف الأخطاء وإصلاحها عن طريق العثور على حاوية فاشلة

يضع سجل التحليلات يضع علامة على الحاوية علىأنها فاشلةإذا خرجت برمز خروج غير صفري. يمكنك الاطلاع على نظرة عامة حول الأخطاء والفشل في البيئة في منطقةالحاويات الفاشلة.

للبحث عن حاويات فاشلة

  1. انقر فوق ملف تكوين الحاوية
    لقطة شاشة تعرض منطقة حالة الحاوية في لوحة معلومات الحاويات، والتي تتضمن مخططًا دائريًا يعرض معلومات حالة الحاوية.
  2. يفتح سجل الحاويات ويعرض حالة الحاويات الخاصة بك، على غرار ما يلي.
    لقطة شاشة تعرض تحليلات السجل مع استعلام عن حالة الحاويات ونتائج البحث.
  3. قم بتوسيع السطر الفاشل وانقر فوق + لإضافة معاييره إلى الاستعلام. ثم قم بالتعليق خارج سطر التلخيص في الاستعلام. لقطة شاشة توضح السطر الذي يجب التعليق عليه.
  4. قم بتشغيل الاستعلام ثم قم بتوسيع سطر في النتائج لعرض معرف الصورة.
    لقطة شاشة توضح كيفية عرض معرف الصورة.
  5. اكتب ما يلي في استعلام السجل. ContainerImageInventory | where ImageID == <ImageID>للاطلاع على تفاصيل حول الصورة مثل حجم الصورة وعدد الصور المتوقفة والفاشلة.
    لقطة شاشة تعرض تحليلات السجل مع استعلام عن صورة الحاوية وتفاصيل عن الصورة.

سجلات الاستعلام لبيانات الحاوية

عندما تقوم باستكشاف أخطاء خطأ محددة، يمكن أن يساعد في معرفة مكان حدوثه في البيئة الخاصة بك. تساعدك أنواع السجلات التالية في إنشاء استعلامات لإرجاع المعلومات التي تريدها.

  • ContainerImageInventory - استخدم هذا النوع عندما تحاول العثور على معلومات منظمة حسب الصورة ولعرض معلومات الصورة مثل معرفات الصور أو أحجامها.
  • ContainerInventory- استخدم هذا النوع عندما تريد معلومات حول موقع الحاوية وما هي أسماؤها والصور التي يتم تشغيلها.
  • ContainerLog - استخدم هذا النوع عندما تريد البحث عن معلومات وإدخالات سجل أخطاء محددة.
  • ContainerNodeInventory_CL استخدم هذا النوع عندما تريد الحصول على معلومات حول المضيف / العقدة حيث توجد الحاويات. يوفر لك إصدار Docker ونوع التنسيق والتخزين ومعلومات الشبكة.
  • ContainerProcess_CL استخدم هذا النوع لمشاهدة العملية التي تعمل داخل الحاوية بسرعة.
  • ContainerServiceLog - استخدم هذا النوع عندما تحاول العثور على معلومات مسار التدقيق لبرنامج Docker الخفي، مثل أوامر البدء أو الإيقاف أو الحذف أو السحب.
  • KubeEvents_CL استخدم هذا النوع لمشاهدة أحداث Kubernetes.
  • KubePodInventory_CLاستخدم هذا النوع عندما تريد فهم معلومات التسلسل الهرمي للكتلة.

الاستعلام عن سجلات بيانات الحاوية

  • اختر صورة تعرف أنها فشلت مؤخرًا وابحث عن سجلات الأخطاء الخاصة بها. ابدأ بالبحث عن اسم حاوية يقوم بتشغيل تلك الصورة باستخدام بحث ContainerInventory. على سبيل المثال، ابحث عن ContainerInventory | where Image == "ubuntu" and ContainerState == "Failed"
    لقطة شاشة تعرض عملية بحث عن حاويات Ubuntu الفاشلة ونتائج البحث.

    قم بتوسيع أي صف في النتائج لعرض تفاصيل تلك الحاوية.

مثال على استعلامات السجل

غالبًا ما يكون من المفيد إنشاء استعلامات تبدأ بمثال أو اثنين ثم تعديلها لتلائم بيئتك. كنقطة بداية، يمكنك تجربة منطقةSAMPLE QUERIES في أقصى يسار صفحة الحل، لمساعدتك في إنشاء استعلامات أكثر تقدمًا.

لقطة شاشة تعرض منطقة استعلامات العينة مع أمثلة على استعلامات السجل.

حفظ استعلامات السجل

حفظ الاستعلامات هو ميزة قياسية في Azure Monitor. من خلال حفظها، سيكون لديك تلك التي وجدتها مفيدة للاستخدام في المستقبل.

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

إزالة الحل من مساحة العمل

لإزالة حل مراقبة الحاوية، اتبع الإرشادات الخاصة بإزالة الحلول باستخدام أحد الإجراءات التالية: مدخل Microsoft Azure أو PowerShell أو Azure CLI

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

سجلات الاستعلام لعرض سجلات بيانات حاوية مفصلة.