تكوين مجموعة السجل في نتائج تحليلات الحاوية
توفر هذه المقالة تفاصيل حول كيفية تكوين جمع البيانات في نتائج تحليلات الحاوية لمجموعة Kubernetes الخاصة بك بمجرد إعدادها. للحصول على إرشادات حول تمكين نتائج تحليلات الحاوية على مجموعتك، راجع تمكين المراقبة لمجموعات Kubernetes.
أساليب التكوين
هناك طريقتان تستخدمان لتكوين وتصفية البيانات التي يتم جمعها في نتائج تحليلات الحاوية. اعتمادا على الإعداد، قد تتمكن من الاختيار بين الطريقتين أو قد يطلب منك استخدام واحدة أو أخرى. يتم وصف الطريقتين في الجدول أدناه مع معلومات مفصلة في الأقسام التالية.
الطريقة | الوصف |
---|---|
قاعدة جمع البيانات (DCR) | قواعد جمع البيانات هي مجموعات من الإرشادات التي تدعم جمع البيانات باستخدام البنية الأساسية لبرنامج ربط العمليات التجارية Azure Monitor. يتم إنشاء DCR عند تمكين نتائج تحليلات الحاوية، ويمكنك تعديل الإعدادات في DCR هذا إما باستخدام مدخل Microsoft Azure أو أساليب أخرى. |
ConfigMap | ConfigMaps هي آلية Kubernetes تسمح لك بتخزين البيانات غير السرية مثل ملف التكوين أو متغيرات البيئة. تبحث نتائج تحليلات الحاوية عن ConfigMap على كل مجموعة بإعدادات معينة تحدد البيانات التي يجب أن تجمعها. |
تكوين جمع البيانات باستخدام DCR
يسمى DCR الذي تم إنشاؤه بواسطة نتائج تحليلات الحاوية MSCI-cluster-region-cluster-name><<>. يمكنك عرض DCR هذا مع الآخرين في اشتراكك، ويمكنك تحريره باستخدام الأساليب الموضحة في إنشاء قواعد جمع البيانات (DCRs) وتحريرها في Azure Monitor. بينما يمكنك تعديل DCR مباشرة لتخصيصات معينة، يمكنك إجراء التكوين الأكثر تطلبا باستخدام الطرق الموضحة أدناه. راجع تحويلات البيانات في نتائج تحليلات الحاوية للحصول على تفاصيل حول تحرير DCR مباشرة للحصول على تكوينات أكثر تقدما.
هام
يجب أن تستخدم مجموعات AKS إما هوية مدارة معينة من قبل النظام أو معينة من قبل المستخدم. إذا كان نظام المجموعة يستخدم كيان خدمة، يجب تحديث نظام المجموعة لاستخدام هوية مدارة معينة من قبل النظام أو هوية مدارة معينة من قبل المستخدم.
تكوين DCR باستخدام مدخل Microsoft Azure
باستخدام مدخل Microsoft Azure، يمكنك الاختيار من بين تكوينات متعددة محددة مسبقا لجمع البيانات في نتائج تحليلات الحاوية. تتضمن هذه التكوينات مجموعات مختلفة من الجداول وترددات التجميع اعتمادا على أولوياتك الخاصة. يمكنك أيضا تخصيص الإعدادات لجمع البيانات التي تحتاجها فقط. يمكنك استخدام مدخل Microsoft Azure لتخصيص التكوين على نظام المجموعة الحالي بعد تمكين نتائج تحليلات الحاوية، أو يمكنك إجراء هذا التكوين عند تمكين نتائج تحليلات الحاوية على نظام المجموعة الخاص بك.
حدد نظام المجموعة في مدخل Microsoft Azure.
حدد خيار Insights في قسم Monitoring من القائمة.
إذا تم تمكين نتائج تحليلات الحاوية بالفعل على نظام المجموعة، فحدد الزر إعدادات المراقبة. إذا لم يكن الأمر كما هو، فحدد Configure Azure Monitor وشاهد Enable monitoring on your Kubernetes cluster with Azure Monitor للحصول على تفاصيل حول تمكين المراقبة.
بالنسبة إلى AKS وKubernetes الممكن ل Arc، حدد استخدام الهوية المدارة إذا لم تكن قد قمت بترحيل نظام المجموعة إلى مصادقة الهوية المدارة.
حدد أحد الإعدادات المسبقة للتكلفة.
إعداد مسبق للتكلفة تكرار عملية الجمع عوامل تصفية مساحة الاسم مجموعة Syslog البيانات المُجمعة قياسي 1 م بلا غير ممكّن جميع جداول نتائج تحليلات الحاوية القياسية تحسين التكلفة 5 م يستبعد kube-system، gatekeeper-system، azure-arc غير ممكّن جميع جداول نتائج تحليلات الحاوية القياسية Syslog 1 م بلا ممكّن بشكل افتراضي جميع جداول نتائج تحليلات الحاوية القياسية السجلات والأحداث 1 م بلا غير ممكّن ContainerLog/ContainerLogV2
KubeEvents
KubePodInventoryإذا كنت تريد تخصيص الإعدادات، فانقر فوق تحرير إعدادات المجموعة.
Name الوصف تكرار عملية الجمع تحديد عدد المرات التي يجمع فيها العامل البيانات. القيم الصالحة هي 1m - 30m في فواصل زمنية 1m القيمة الافتراضية هي 1m. تصفية مساحة الاسم إيقاف التشغيل: يجمع البيانات على جميع مساحات الأسماء.
تضمين: يجمع البيانات فقط من القيم الموجودة في حقل مساحات الأسماء .
استبعاد: يجمع البيانات من كافة مساحات الأسماء باستثناء القيم الموجودة في حقل مساحات الأسماء .
مصفوفة من مساحات أسماء Kubernetes المفصولة بفواصل لجمع بيانات المخزون والفاحص استنادا إلى namespaceFilteringMode. على سبيل المثال، تجمع مساحات الأسماء = ["kube-system"، و"default"] مع إعداد Include مساحات الأسماء هاتين فقط. باستخدام إعداد Exclude، يجمع العامل البيانات من جميع مساحات الأسماء الأخرى باستثناء kube-system والإعداد الافتراضي.البيانات المجمعة تحديد جداول نتائج تحليلات الحاوية التي يجب تجميعها. انظر أدناه للحصول على وصف لكل تجميع. تمكين ContainerLogV2 علامة منطقية لتمكين مخطط ContainerLogV2. إذا تم تعيينها إلى true، يتم استيعاب stdout/stderr Logs إلى جدول ContainerLogV2 . إذا لم يكن الأمر كما هو، يتم استيعاب سجلات الحاوية في جدول ContainerLog ، ما لم يتم تحديد خلاف ذلك في ConfigMap. عند تحديد التدفقات الفردية، يجب تضمين الجدول المقابل ل ContainerLog أو ContainerLogV2. تمكين مجموعة Syslog تمكين مجموعة Syslog من نظام المجموعة. يسمح لك خيار البيانات المجمعة بتحديد الجداول التي يتم ملؤها للمجموعة. يتم تجميع الجداول حسب السيناريوهات الأكثر شيوعا. لتحديد جداول فردية، يجب تعديل DCR باستخدام أسلوب آخر.
التجميع الجداول ملاحظات الكل (افتراضي) جميع جداول نتائج تحليلات الحاوية القياسية مطلوب لتمكين مرئيات نتائج تحليلات الحاوية الافتراضية الأداء Perf و InsightsMetrics السجلات والأحداث ContainerLog أو ContainerLogV2، KubeEvents، KubePodInventory يوصى به إذا قمت بتمكين مقاييس Prometheus المدارة أحمال العمل والنشرات وHPAs InsightsMetrics، KubePodInventory، KubeEvents، ContainerInventory، ContainerNodeInventory، KubeNodeInventory، KubeServices وحدات التخزين الثابتة InsightsMetrics، KubePVInventory انقر فوق تكوين لحفظ الإعدادات.
الجداول والمقاييس القابلة للتطبيق ل DCR
لا تنطبق إعدادات تكرار المجموعة وتصفية مساحة الاسم في DCR على جميع بيانات نتائج تحليلات الحاوية. تسرد الجداول التالية الجداول في مساحة عمل Log Analytics المستخدمة بواسطة نتائج تحليلات الحاوية والمقاييس التي تجمعها جنبا إلى جنب مع الإعدادات التي تنطبق على كل منها.
اسم الجدول | فترة؟ | مساحات الأسماء؟ | الملاحظات |
---|---|---|---|
ContainerInventory | نعم | نعم | |
ContainerNodeInventory | نعم | لا | إعداد جمع البيانات لمساحات الأسماء غير قابل للتطبيق نظرا لأن عقدة Kubernetes ليست موردا محدد النطاق لمساحة الاسم |
KubeNodeInventory | نعم | لا | إعداد جمع البيانات لمساحات الأسماء غير قابل للتطبيق عقدة Kubernetes ليس موردا محددا لمساحة الاسم |
KubePodInventory | نعم | نعم | |
KubePVInventory | نعم | نعم | |
KubeServices | نعم | نعم | |
KubeEvents | لا | نعم | لا ينطبق إعداد جمع البيانات للفاصل الزمني على أحداث Kubernetes |
الاداء | نعم | نعم | لا ينطبق إعداد جمع البيانات لمساحات الأسماء على المقاييس المتعلقة بعقدة Kubernetes نظرا لأن عقدة Kubernetes ليست كائنا محدد النطاق لمساحة الاسم. |
InsightsMetrics | نعم | نعم | تنطبق إعدادات جمع البيانات فقط على المقاييس التي تجمع مساحات الأسماء التالية: container.azm.ms/kubestate container.azm.ms/pv container.azm.ms/gpu |
مساحة اسم مقياس | فترة؟ | مساحات الأسماء؟ | الملاحظات |
---|---|---|---|
Insights.container/nodes | نعم | لا | العقدة ليست موردا محددا لمساحة الاسم |
Insights.container/pods | نعم | نعم | |
Insights.container/containers | نعم | نعم | |
Insights.container/persistentvolumes | نعم | نعم |
قيم الدفق في DCR
عند تحديد الجداول المراد تجميعها باستخدام CLI أو ARM، يمكنك تحديد اسم دفق يتوافق مع جدول معين في مساحة عمل Log Analytics. يسرد الجدول التالي اسم الدفق لكل جدول.
إشعار
إذا كنت على دراية ببنية قاعدة تجميع البيانات، يتم تحديد أسماء الدفق في هذا الجدول في قسم تدفقات البيانات في DCR.
الدفق | جدول نتائج تحليلات الحاوية |
---|---|
Microsoft-ContainerInventory | ContainerInventory |
Microsoft-ContainerLog | ContainerLog |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerLogV2-HighScale | ContainerLogV2 (وضع المقياس العالي)1 |
Microsoft-ContainerNodeInventory | ContainerNodeInventory |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentEvents |
Microsoft-KubeNodeInventory | KubeNodeInventory |
Microsoft-KubePodInventory | KubePodInventory |
Microsoft-KubePVInventory | KubePVInventory |
Microsoft-KubeServices | KubeServices |
Microsoft-Perf | الاداء |
1 يجب عدم استخدام كل من Microsoft-ContainerLogV2 وMicrosoft-ContainerLogV2-HighScale في نفس DCR. سيؤدي ذلك إلى تكرار البيانات.
مشاركة DCR مع مجموعات متعددة
عند تمكين نتائج تحليلات الحاوية على مجموعة Kubernetes، يتم إنشاء DCR جديد لتلك المجموعة، ويمكن تعديل DCR لكل نظام مجموعة بشكل مستقل. إذا كان لديك مجموعات متعددة مع تكوينات مراقبة مخصصة، فقد تحتاج إلى مشاركة DCR واحد مع مجموعات متعددة. يمكنك بعد ذلك إجراء تغييرات على DCR واحد يتم تنفيذه تلقائيا لأي مجموعات مقترنة به.
يقترن DCR بمجموعة مع قاعدة تجميع بيانات مقترنة (DCRA) . استخدم تجربة معاينة DCR لعرض اقترانات DCR الموجودة وإزالتها لكل نظام مجموعة. يمكنك بعد ذلك استخدام هذه الميزة لإضافة اقتران إلى DCR واحد لمجموعات متعددة.
تكوين جمع البيانات باستخدام ConfigMap
ConfigMaps هي آلية Kubernetes تسمح لك بتخزين البيانات غير السرية مثل ملف التكوين أو متغيرات البيئة. تبحث نتائج تحليلات الحاوية عن ConfigMap على كل مجموعة بإعدادات معينة تحدد البيانات التي يجب أن تجمعها.
هام
ConfigMap هي قائمة عمومية ويمكن أن يكون هناك ConfigMap واحد فقط مطبق على عامل نتائج تحليلات الحاوية. سيؤدي تطبيق ConfigMap آخر إلى إلغاء إعدادات مجموعة ConfigMap السابقة.
المتطلبات الأساسية
- الحد الأدنى لإصدار العامل المدعوم لجمع stdout وstderr والمتغيرات البيئية من أحمال عمل الحاوية هو ciprod06142019 أو أحدث.
تكوين ونشر ConfigMap
استخدم الإجراء التالي لتكوين ملف تكوين ConfigMap ونشره في نظام المجموعة:
إذا لم يكن لديك بالفعل ConfigMap ل Container insights، فقم بتنزيل ملف ConfigMap YAML للقالب وافتحه في محرر.
قم بتحرير ملف ConfigMap YAML باستخدام التخصيصات الخاصة بك. يتضمن القالب جميع الإعدادات الصالحة مع أوصاف. لتمكين إعداد، قم بإزالة حرف التعليق (#) وتعيين قيمته.
إنشاء ConfigMap عن طريق تشغيل الأمر kubectl التالي:
kubectl config set-context <cluster-name> kubectl apply -f <configmap_yaml_file.yaml> # Example: kubectl config set-context my-cluster kubectl apply -f container-azm-ms-agentconfig.yaml
قد يستغرِق تغيير التكوين بضع دقائق حتى يكتمل قبل التفعيل. ثم ستتم إعادة تشغيل جميع جرابات عامل Azure Monitor في نظام المجموعة. إعادة التشغيل هي إعادة تشغيل متداولة لجميع جرابات عامل Azure Monitor، لذلك لا تتم إعادة تشغيلها جميعا في نفس الوقت. عند الانتهاء من إعادة التشغيل، ستتلقى رسالة مشابهة للنتيجة التالية:
configmap "container-azm-ms-agentconfig" created`.
التحقق من التكوين
للتحقق من تطبيق التكوين بنجاح على نظام مجموعة، استخدم الأمر التالي لمراجعة السجلات من جراب عامل.
kubectl logs ama-logs-fdf58 -n kube-system -c ama-logs
إذا كانت هناك أخطاء تكوين من جرابات عامل Azure Monitor، فسيظهر الإخراج أخطاء مشابهة للآتي:
***************Start Config Processing********************
config::unsupported/missing config schema version - 'v21' , using defaults
استخدم الخيارات التالية لإجراء المزيد من استكشاف أخطاء تغييرات التكوين وإصلاحها:
استخدم نفس
kubectl logs
الأمر من جراب عامل.راجع السجلات المباشرة لمعرفة الأخطاء المشابهة لما يلي:
config::error::Exception while parsing config map for log collection/env variable settings: \nparse error on value \"$\" ($end), using defaults, please check config map for errors
يتم إرسال البيانات إلى
KubeMonAgentEvents
الجدول في مساحة عمل Log Analytics كل ساعة مع خطورة الخطأ لأخطاء التكوين. إذا لم تكن هناك أخطاء، فسيكون للإدخل في الجدول بيانات تحتوي على معلومات الخطورة، والتي لا تبلغ عن أي أخطاء.Tags
يحتوي العمود على مزيد من المعلومات حول الحاوية ومعرف الحاوية الذي حدث عليه الخطأ وكذلك التكرار الأول والحدث الأخير والعد في الساعة الأخيرة.
التحقق من إصدار المخطط
تتوفر إصدارات مخطط التكوين المدعومة كتعليم توضيحي للجراب (إصدارات المخطط) على جراب عامل Azure Monitor. يمكنك رؤيتها باستخدام الأمر kubectl التالي.
kubectl describe pod ama-logs-fdf58 -n=kube-system.
إعدادات ConfigMap
يصف الجدول التالي الإعدادات التي يمكنك تكوينها للتحكم في جمع البيانات باستخدام ConfigMap.
الإعدادات | نوع البيانات | قيمة | الوصف |
---|---|---|---|
schema-version |
سلسلة (حساسة لحالة الأحرف) | v1 | يستخدمه العامل عند تحليل ConfigMap هذا. إصدار المخطط المدعوم حالياً هو الإصدار 1 "v1". تعديل هذه القيمة غير معتمد وسيتم رفضه عند تقييم ConfigMap. |
config-version |
السلسلة | يسمح لك بتعقب إصدار ملف التكوين هذا في نظام/مستودع التحكم بالمصادر. الحد الأقصى المسموح به للأحرف هو 10 أحرف، ويتم اقتطاع جميع الأحرف الأخرى. | |
[log_collection_settings] | |||
[stdout] enabled |
Boolean | صحيح true |
يتحكم في تمكين مجموعة سجل حاوية stdout. عند التعيين إلى true ولا يتم استبعاد أي مساحات أسماء لمجموعة سجل stdout، سيتم جمع سجلات stdout من جميع الحاويات عبر جميع الحجيرات والعقد في نظام المجموعة. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي true . |
[stdout] exclude_namespaces |
السلسلة | صفيف مفصول بفاصلة | صفيف مساحات أسماء Kubernetes التي لن يتم جمع سجلات stdout لها. هذا الإعداد فعال فقط إذا enabled تم تعيينه إلى true . إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي["kube-system","gatekeeper-system"] . |
[stderr] enabled |
Boolean | صحيح true |
يتحكم في ما إذا كان يتم تمكين مجموعة سجل حاوية stderr. عند التعيين إلى true ولا يتم استبعاد أي مساحات أسماء لمجموعة سجل stderr، سيتم جمع سجلات stderr من جميع الحاويات عبر جميع القرون والعقد في نظام المجموعة. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي true . |
[stderr] exclude_namespaces |
السلسلة | صفيف مفصول بفاصلة | صفيف مساحات أسماء Kubernetes التي لن يتم جمع سجلات stderr لها. هذا الإعداد فعال فقط إذا enabled تم تعيينه إلى true . إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي["kube-system","gatekeeper-system"] . |
[env_var] enabled |
Boolean | صحيح true |
يتحكم في مجموعة متغيرات البيئة عبر جميع الحجيرات والعقد في نظام المجموعة. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي true . |
[enrich_container_logs] enabled |
Boolean | صحيح true |
يتحكم في إثراء سجل الحاوية Name لملء قيم الخصائص و Image لكل سجل سجل مكتوب في جدول ContainerLog لكافة سجلات الحاوية في نظام المجموعة. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي false . |
[collect_all_kube_events] enabled |
Boolean | صحيح true |
يتحكم في ما إذا كان يتم تجميع أحداث Kube من جميع الأنواع. بشكل افتراضي، لا يتم تجميع أحداث Kube ذات النوع Normal . عندما يكون true هذا الإعداد ، لن تتم تصفية الأحداث العادية ، ويتم تجميع كافة الأحداث. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي false . |
[schema] containerlog_schema_version |
سلسلة (حساسة لحالة الأحرف) | v2 v1 |
تعيين تنسيق استيعاب السجل. إذا ، v2 يتم استخدام الجدول ContainerLogV2. إذا v1 ، يتم استخدام جدول ContainerLog (تم إهمال هذا الجدول). بالنسبة للمجموعات التي تمكن نتائج تحليلات الحاوية باستخدام الإصدار 2.54.0 من Azure CLI أو أحدث، يكون الإعداد الافتراضي هو v2 . راجع مخطط سجل نتائج تحليلات الحاوية للحصول على التفاصيل. |
[enable_multiline_logs] enabled |
Boolean | صحيح true |
يتحكم في تمكين سجلات الحاويات متعددة الأسطر. راجع تسجيل متعدد الأسطر في Container Insights للحصول على التفاصيل. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي false . يتطلب schema هذا الإعداد أن يكون v2 . |
[metadata_collection] enabled |
Boolean | صحيح true |
يتحكم في ما إذا كان يتم تجميع بيانات التعريف في KubernetesMetadata عمود ContainerLogV2 الجدول. |
[metadata_collection] include_fields |
السلسلة | صفيف مفصول بفاصلة | قائمة حقول بيانات التعريف المراد تضمينها. إذا لم يتم استخدام الإعداد، جمع جميع الحقول. القيم الصالحة هي ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"] |
[metric_collection_settings] | |||
[collect_kube_system_pv_metrics] enabled |
Boolean | صحيح true |
يسمح بتجميع مقاييس استخدام وحدة التخزين الثابتة (PV) في مساحة اسم نظام kube. بشكل افتراضي، لا يتم جمع مقاييس الاستخدام لوحدات التخزين الثابتة مع مطالبات وحدة التخزين الثابتة في مساحة اسم نظام kube. عند تعيين هذا الإعداد إلى true ، يتم تجميع مقاييس استخدام PV لجميع مساحات الأسماء. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي false . |
[agent_settings] | |||
[proxy_config] ignore_proxy_settings |
Boolean | صحيح true |
عندما true يتم تجاهل إعدادات الوكيل. لكل من بيئات Kubernetes التي تدعم AKS وArc، إذا تم تكوين نظام المجموعة الخاص بك مع وكيل إعادة التوجيه، تطبيق إعدادات الوكيل تلقائيا واستخدامها للعامل. بالنسبة إلى تكوينات معينة، مثل AMPLS + Proxy، قد ترغب في تجاهل تكوين الوكيل. إذا لم يتم تحديدها في ConfigMap، فإن القيمة الافتراضية هي false . |
الخطوات التالية
- راجع تصفية مجموعة السجل في نتائج تحليلات الحاوية للحصول على تفاصيل حول توفير التكاليف عن طريق تكوين نتائج تحليلات الحاوية لتصفية البيانات التي لا تحتاج إليها.