حل مراقبة الحاويات في 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:
- AKS (تكوين رؤى حاوية لـAKS)
- Red Hat OpenShift (تكوين رؤى الحاوية باستخدام Azure Arc)
إذا كانت لديك حاويات تم نشرها في Azure Service Fabric ، فإننا نوصي بتمكين كل من حل Service Fabric وهذا الحل ليشمل مراقبة أحداث المجموعة. قبل تمكين حل Service Fabric، راجع استخدام حل Service Fabric لفهم ما يقدمه وكيفية استخدامه.
إذا كنت مهتمًا بمراقبة أداء أحمال العمل الموزعة على بيئات Kubernetes المستضافة على خدمة Azure Kubernetes (AKS)، فراجعخدمة مراقبة Azure Kubernetes. لا يدعم حل مراقبة الحاوية مراقبة ذلك النظام الأساسي.
يُظهر الرسم التخطيطي التالي العلاقات بين مختلف مضيفي الحاوية والوكلاء باستخدام Azure Monitor.
متطلبات النظام والأنظمة الأساسية المدعومة
قبل البدء، راجع التفاصيل التالية للتحقق من أنك تلبي المتطلبات الأساسية.
دعم حلول مراقبة الحاويات لمنصة 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 والإصدارات الأحدث
تركيب الحل وتكوينه
استخدم المعلومات التالية لتثبيت الحل وتكوينه.
أضف حل مراقبة الحاوية إلى مساحة عمل Log Analytics workspace من Azure Marketplace أو باستخدام العملية الموضحة في إضافة حلول المراقبة من معرض الحلول.
تثبيت واستخدام 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 متعدد المضيفين:
- إذا كانت لديك بيئة Red Hat OpenShift ، فراجع تكوين وكيل تحليلات السجل لـ Red Hat OpenShift.
- إذا كان لديك مجموعة Kubernetes تستخدم Azure Container Service:
- مراجعةتكوين وكيل Log Analytics Linux لنظام Kubernetes.
- مراجعةتكوين عامل Log Analytics Windows لنظام Kubernetes.
- مراجعة استخدام هيلم لنشر عامل تحليلات السجل على Linux Kubernetes.
- إذا كان لديك نظام مجموعة Azure Container Service DC / OS ، فتعرف على المزيد في مراقبة مجموعة Azure Container Service DC / OS باستخدام Azure Monitor.
- إذا كانت لديك بيئة وضع Docker Swarm، فتعرف على المزيد في تكوين عامل تحليلات السجل لـ Docker Swarm.
- إذا كان لديك مجموعة نسيج الخدمة، فتعرف على المزيد في حاويات المراقبة باستخدام Azure Monitor.
- للمضيفين المستقلين:
راجع مقالة Docker Engine على Windows للحصول على معلومات إضافية حول كيفية تثبيت Docker Engines وتكوينها على أجهزة الكمبيوتر التي تعمل بنظام Windows.
هام
يجب تشغيل Docker قبل تثبيت عامل Log Analytics الخاص بـLinux على مضيفي الحاوية. إذا قمت بالفعل بتثبيت العامل قبل تثبيت Docker ، فستحتاج إلى إعادة تثبيت وكيل Log Analytics لنظام Linux. لمزيد من المعلومات حول Docker، راجع موقع Docker على الويب.
تثبيت وتكوين مضيفي حاويات Linux
بعد تثبيت Docker، استخدم الإعدادات التالية لمضيف الحاوية لتكوين العامل للاستخدام مع Docker. تحتاج أولًا إلى معرف مساحة عمل Log Analytics والمفتاح، الذي يمكنك العثور عليه في مدخل Azure. في مساحة العمل الخاصة بك، انقر فوق "بدء تشغيل>سريع لأجهزة الكمبيوتر" لعرض معرف مساحة العملوالمفتاح الأساسي. نسخ ولصق كليهما في المحرر المفضل لديك.
لجميع المضيفين الحاويات لينكس باستثناءCoreOS:
- لمزيد من المعلومات والخطوات حول كيفية تثبيت عامل Log Analyics لنظام Linux، راجع نظرة عامة على وكيل Log Analytics.
لجميع المضيفين الحاويات لينكس بما في ذلك 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 ، بمجرد إنشاء سر معرف مساحة العمل والمفتاح الأساسي، استخدم المعلومات التالية لإنشاء معلوماتك السرية.
تشغيل ما يلي على العقدة الرئيسية.
echo "WSID" | docker secret create WSID - echo "KEY" | docker secret create KEY -
تحقق من أن الأسرار تم إنشاؤها بشكل صحيح.
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
تشغيل الأمر التالي لتحميل الأسرار إلى عامل "تحليلات السجل" الحاوية.
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 لبدء جمع بيانات مراقبة الحاوية.
- تثبيت عامل تحليلات السجل لـLinux مباشرةعلى كل عقدة OpenShift
- قم بتمكين ملحق Log Analytics VM على كل عقدة OpenShift موجودة في Azure
- قم بتثبيت عامل Log Analytics باعتباره مجموعة خفي OpenShift
في هذا القسم، نغطي الخطوات المطلوبة لتثبيت وكيل Log Analytics كمجموعة خفية OpenShift.
قم بتسجيل الدخول إلى عقدة OpenShift الرئيسية وانسخ ملف yaml ocp-omsagent.yaml من GitHub إلى العقدة الرئيسية وقم بتعديل القيمة باستخدام معرّف مساحة عمل Log Analytics ومفتاحك الأساسي.
قم بتشغيل الأوامر التالية لإنشاء مشروع لمراقب 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
لنشر المجموعة الخفية، قم بتشغيل ما يلي:
oc create -f ocp-omsagent.yaml
للتحقق من تكوينه وعمله بشكل صحيح ، اكتب ما يلي:
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 ، فقم بتنفيذ الخطوات التالية.
قم بتسجيل الدخول إلى عقدة OpenShift الرئيسية وانسخ ملف yaml ocp-ds-omsagent.yaml والبرنامج النصي لإنشاء كلمة السر ocp-secretgen.sh من GitHub. سيقوم هذا البرنامج النصي بإنشاء ملف البيانات السرية yaml لمعرف مساحة عمل تحليلات السجل والمفتاح الأساسي لتأمين المعلومات السرية الخاصة بك.
قم بتشغيل الأوامر التالية لإنشاء مشروع لمراقب 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
نشر ملف البيانات السرية عن طريق تشغيل ما يلي:
oc create -f ocp-secret.yaml
تحقق من النشر عن طريق تشغيل ما يلي:
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
انشر ملف yaml لمجموعة عامل Log Analytics عن طريق تشغيل ما يلي:
oc create -f ocp-ds-omsagent.yaml
تحقق من النشر عن طريق تشغيل ما يلي:
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 بدون بيانات سرية
لاستخدام عامل سجل Analytics DaemonSet باستخدام بيانات سرية، قم بإنشاء البيانات السرية أولًا.
انسخ ملف البرنامج النصي وقالب البيانات السرية وتأكد من وجودهما في نفس الدليل.
- البرنامج النصي لإنشاء البيانات السرية- secret-gen.sh
- قالب بيانات سرية -secret-template.yaml
تشغيل البرنامج النصي، مثل المثال التالي. يطلب البرنامج النصي معرف مساحة عمل Log Analytics والمفتاح الأساسي وبعد إدخالهما، يقوم البرنامج النصي بإنشاء ملف yaml سري حتى تتمكن من تشغيله.
#> sudo bash ./secret-gen.sh
إنشاء حاوية البيانات السرية عن طريق تشغيل ما يلي:
sudo kubectl create -f omsagentsecret.yaml
للتحقق من ذلك، قم بتشغيل ما يلي:
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
قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيل
sudo kubectl create -f omsagent-ds-secrets.yaml
تحقق من تشغيل 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 ، هناك ملفات يمكنك استخدامها مع أو بدون معلوماتك السرية. تحتاج إلى تثبيت عامل "تحليلات السجل" بشكل منفصل للعقد الرئيسية والعامل.
لاستخدام عامل سجل Analytics DaemonSet باستخدام معلومات سرية على العقدة الرئيسية، قم بتسجيل الدخول وإنشاء البيانات السرية أولًا.
انسخ ملف البرنامج النصي وقالب البيانات السرية وتأكد من وجودهما في نفس الدليل.
- البرنامج النصي لإنشاء البيانات السرية- secret-gen.sh
- قالب بيانات سرية -secret-template.yaml
تشغيل البرنامج النصي، مثل المثال التالي. يطلب البرنامج النصي معرف مساحة عمل Log Analytics والمفتاح الأساسي وبعد إدخالهما، يقوم البرنامج النصي بإنشاء ملف yaml سري حتى تتمكن من تشغيله.
#> sudo bash ./secret-gen.sh
قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيل
kubectl create -f omsagentsecret.yaml
للتحقق، قم بتشغيل ما يلي:
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
قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيل
kubectl create -f ws-omsagent-de-secrets.yaml
تحقق من تشغيل DaemonSet عامل سجل التحليلات على غرار ما يلي:
root@ubuntu16-13db:~# kubectl get deployment omsagent NAME DESIRED CURRENT NODE-SELECTOR AGE omsagent 1 1 <none> 1h
لتثبيت العامل على عقدة العامل، التي تعمل بنظام التشغيل Windows ، اتبع الخطوات الواردة في قسم تثبيت وتكوين مضيفي حاوية Windows.
استخدم Helm لنشر عامل Log Analytics على Linux Kubernetes
لاستخدام helm لنشر عامل Log Analytics في بيئة Linux Kubernetes الخاصة بك، قم بتنفيذ الخطوات التالية.
قم بإنشاء مجموعة خدمية omsagent الخاصة بك عن طريق التشغيل
helm install --name omsagent --set omsagent.secret.wsid=<WSID>,omsagent.secret.key=<KEY> stable/msoms
وستبدو النتائج مشابهة لما يلي:
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
يمكنك التحقق من حالة العامل عن طريق التشغيل:
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
تفاصيل جمع بيانات الحاوية
يجمع حل "مراقبة الحاوية" مقاييس أداء متنوعة وبيانات السجل من مضيفي الحاوية والحاويات باستخدام العوامل التي تقوم بتمكينها.
يتم جمع البيانات كل ثلاث دقائق بواسطة أنواع العوامل التالية.
- وكيل تحليلات السجل لينكس
- عميل Windows
- ملحق Log Analytics VM
سجلات الحاويات
يعرض الجدول التالي أمثلة على السجلات التي تم جمعها بواسطة حل 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.
استكشاف الأخطاء وإصلاحها عن طريق العثور على حاوية فاشلة
يضع سجل التحليلات يضع علامة على الحاوية علىأنها فاشلةإذا خرجت برمز خروج غير صفري. يمكنك الاطلاع على نظرة عامة حول الأخطاء والفشل في البيئة في منطقةالحاويات الفاشلة.
للبحث عن حاويات فاشلة
- انقر فوق ملف تكوين الحاوية
- يفتح سجل الحاويات ويعرض حالة الحاويات الخاصة بك، على غرار ما يلي.
- قم بتوسيع السطر الفاشل وانقر فوق + لإضافة معاييره إلى الاستعلام. ثم قم بالتعليق خارج سطر التلخيص في الاستعلام.
- قم بتشغيل الاستعلام ثم قم بتوسيع سطر في النتائج لعرض معرف الصورة.
- اكتب ما يلي في استعلام السجل.
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"
قم بتوسيع أي صف في النتائج لعرض تفاصيل تلك الحاوية.
مثال على استعلامات السجل
غالبًا ما يكون من المفيد إنشاء استعلامات تبدأ بمثال أو اثنين ثم تعديلها لتلائم بيئتك. كنقطة بداية، يمكنك تجربة منطقةSAMPLE QUERIES في أقصى يسار صفحة الحل، لمساعدتك في إنشاء استعلامات أكثر تقدمًا.
حفظ استعلامات السجل
حفظ الاستعلامات هو ميزة قياسية في Azure Monitor. من خلال حفظها، سيكون لديك تلك التي وجدتها مفيدة للاستخدام في المستقبل.
بعد إنشاء استعلام تجده مفيدًا، احفظه بالنقر فوق المفضلة في أعلى صفحة بحث السجل. ثم يمكنك الوصول إليها بسهولة في وقت لاحق من صفحة لوحة المعلومات الخاصة بي.
إزالة الحل من مساحة العمل
لإزالة حل مراقبة الحاوية، اتبع الإرشادات الخاصة بإزالة الحلول باستخدام أحد الإجراءات التالية: مدخل Microsoft Azure أو PowerShell أو Azure CLI
الخطوات التالية
سجلات الاستعلام لعرض سجلات بيانات حاوية مفصلة.