تكوين جمع البيانات وتحسين التكلفة في نتائج تحليلات الحاوية باستخدام قاعدة جمع البيانات

توضح هذه المقالة كيفية تكوين جمع البيانات في نتائج تحليلات الحاوية باستخدام قاعدة جمع البيانات (DCR) لمجموعة Kubernetes الخاصة بك. يتضمن ذلك تكوينات محددة مسبقا لتحسين التكاليف الخاصة بك. يتم إنشاء DCR عند إلحاق نظام مجموعة ب Container insights. يستخدم عامل الحاوية هذا DCR لتعريف جمع البيانات للمجموعة.

يتم استخدام DCR بشكل أساسي لتكوين جمع البيانات من بيانات الأداء والمخزون وتكوين تحسين التكلفة.

يتضمن التكوين المحدد الذي يمكنك تنفيذه باستخدام DCR ما يلي:

  • تمكين/تعطيل التجميع وتصفية مساحة الاسم لبيانات الأداء والمخزون.
  • تحديد الفاصل الزمني لجمع بيانات الأداء والمخزون
  • تمكين/تعطيل مجموعة Syslog
  • تحديد مخطط السجل

هام

قد يتطلب التكوين الكامل لجمع البيانات في نتائج تحليلات الحاوية تحرير كل من DCR وConfigMap للمجموعة حيث يسمح كل أسلوب بتكوين مجموعة مختلفة من الإعدادات.

راجع تكوين جمع البيانات في نتائج تحليلات الحاوية باستخدام ConfigMap للحصول على قائمة بالإعدادات وعملية تكوين جمع البيانات باستخدام ConfigMap.

المتطلبات الأساسية

  • يجب أن تستخدم مجموعات AKS إما النظام أو الهوية المدارة المعينة من قبل المستخدم. إذا كان نظام المجموعة يستخدم كيان الخدمة، يجب الترقية إلى الهوية المدارة.

تكوين مجموعة البيانات

يسمى DCR الذي يتم إنشاؤه عند تمكين نتائج تحليلات الحاوية MSCI-cluster-region-cluster-name><<>. يمكنك عرضه في مدخل Microsoft Azure عن طريق تحديد خيار قواعد تجميع البيانات في قائمة Monitor في مدخل Microsoft Azure. بدلا من تعديل DCR مباشرة، يجب استخدام إحدى الطرق الموضحة أدناه لتكوين جمع البيانات. راجع معلمات جمع البيانات للحصول على تفاصيل حول الإعدادات المتوفرة المختلفة المستخدمة من قبل كل أسلوب.

تحذير

تعتمد تجربة نتائج تحليلات الحاوية الافتراضية على جميع تدفقات البيانات الموجودة. تؤدي إزالة واحد أو أكثر من التدفقات الافتراضية إلى جعل تجربة نتائج تحليلات الحاوية غير متوفرة، وتحتاج إلى استخدام أدوات أخرى مثل لوحات معلومات Grafana واستعلامات السجل لتحليل البيانات المجمعة.

يمكنك استخدام مدخل Microsoft Azure لتمكين تحسين التكلفة على نظام المجموعة الحالي بعد تمكين نتائج تحليلات الحاوية، أو يمكنك تمكين نتائج تحليلات الحاوية على نظام المجموعة جنبا إلى جنب مع تحسين التكلفة.

  1. حدد نظام المجموعة في مدخل Microsoft Azure.

  2. حدد خيار Insights في قسم Monitoring من القائمة.

  3. إذا تم تمكين نتائج تحليلات الحاوية بالفعل على نظام المجموعة، فحدد الزر Monitoring الإعدادات. إذا لم يكن الأمر كما هو، فحدد Configure Azure Monitor وشاهد Enable monitoring on your Kubernetes cluster with Azure Monitor للحصول على تفاصيل حول تمكين المراقبة.

    لقطة شاشة لمجموعة AKS مع زر إعدادات جهاز العرض.

  4. بالنسبة إلى AKS وKubernetes الممكن ل Arc، حدد استخدام الهوية المدارة إذا لم تكن قد قمت بترحيل نظام المجموعة إلى مصادقة الهوية المدارة.

  5. حدد أحد الإعدادات المسبقة للتكلفة الموضحة في الإعدادات المسبقة للتكلفة.

    لقطة شاشة تعرض خيارات الإعداد.

  6. إذا كنت تريد تخصيص الإعدادات، فانقر فوق تحرير إعدادات المجموعة. راجع معلمات جمع البيانات للحصول على تفاصيل حول كل إعداد. للحصول على البيانات المجمعة، راجع البيانات المجمعة أدناه.

    لقطة شاشة تعرض خيارات إعدادات المجموعة.

  7. انقر فوق تكوين لحفظ الإعدادات.

الإعدادات المسبقة للتكلفة

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

إعداد مسبق للتكلفة تكرار عملية الجمع عوامل تصفية مساحة الاسم مجموعة Syslog البيانات المُجمعة
قياسي 1 م بلا غير ممكّن جميع جداول نتائج تحليلات الحاوية القياسية
تحسين التكلفة 5 م يستبعد kube-system، gatekeeper-system، azure-arc غير ممكّن جميع جداول نتائج تحليلات الحاوية القياسية
Syslog 1 م بلا ممكّن بشكل افتراضي جميع جداول نتائج تحليلات الحاوية القياسية
السجلات والأحداث 1 م بلا غير ممكّن ContainerLog/ContainerLogV2
KubeEvents
KubePodInventory

البيانات المُجمعة

يسمح لك خيار البيانات المجمعة بتحديد الجداول التي يتم ملؤها للمجموعة. هذا هو ما يعادل المعلمة streams عند إجراء التكوين باستخدام CLI أو ARM. إذا حددت أي خيار آخر غير الكل (افتراضي)، تصبح تجربة نتائج تحليلات الحاوية غير متوفرة، ويجب عليك استخدام Grafana أو أساليب أخرى لتحليل البيانات المجمعة.

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

التجميع الجداول ملاحظات
الكل (افتراضي) جميع جداول نتائج تحليلات الحاوية القياسية مطلوب لتمكين مرئيات نتائج تحليلات الحاوية الافتراضية
الأداء Perf و InsightsMetrics
السجلات والأحداث ContainerLog أو ContainerLogV2، KubeEvents، KubePodInventory يوصى به إذا قمت بتمكين مقاييس Prometheus المدارة
أحمال العمل والنشرات وHPAs InsightsMetrics، KubePodInventory، KubeEvents، ContainerInventory، ContainerNodeInventory، KubeNodeInventory، KubeServices
وحدات التخزين الثابتة InsightsMetrics، KubePVInventory

معلمات جمع البيانات

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

Name ‏‏الوصف
تكرار عملية الجمع
المبادره القطريه: interval
الذراع: dataCollectionInterval
تحديد عدد المرات التي يجمع فيها العامل البيانات. القيم الصالحة هي 1m - 30m في فواصل زمنية 1m القيمة الافتراضية هي 1m. إذا كانت القيمة خارج النطاق المسموح به، فسيتم تعيينها افتراضيا إلى 1 م.
تصفية مساحة الاسم
المبادره القطريه: namespaceFilteringMode
الذراع: namespaceFilteringModeForDataCollection
تضمين: يجمع البيانات فقط من القيم الموجودة في حقل مساحات الأسماء .
استبعاد: يجمع البيانات من كافة مساحات الأسماء باستثناء القيم الموجودة في حقل مساحات الأسماء .
إيقاف التشغيل: يتجاهل أي تحديدات لمساحة الاسم ويجمع البيانات على جميع مساحات الأسماء.
تصفية مساحة الاسم
المبادره القطريه: namespaces
الذراع: namespacesForDataCollection
مصفوفة من مساحات أسماء Kubernetes المفصولة بفواصل لجمع بيانات المخزون والفاحص استنادا إلى namespaceFilteringMode.
على سبيل المثال، تجمع مساحات الأسماء = ["kube-system"، و"default"] مع إعداد Include مساحات الأسماء هاتين فقط. باستخدام إعداد Exclude، يجمع العامل البيانات من جميع مساحات الأسماء الأخرى باستثناء kube-system والإعداد الافتراضي. باستخدام إعداد إيقاف التشغيل، يجمع العامل البيانات من جميع مساحات الأسماء بما في ذلك نظام kube والإعداد الافتراضي. يتم تجاهل مساحات الأسماء غير الصالحة وغير المعترف بها.
تمكين ContainerLogV2
المبادره القطريه: enableContainerLogV2
الذراع: enableContainerLogV2
علامة منطقية لتمكين مخطط ContainerLogV2. إذا تم تعيينها إلى true، يتم استيعاب stdout/stderr Logs إلى جدول ContainerLogV2 . إذا لم يكن الأمر كما هو، يتم استيعاب سجلات الحاوية في جدول ContainerLog ، ما لم يتم تحديد خلاف ذلك في ConfigMap. عند تحديد التدفقات الفردية، يجب تضمين الجدول المقابل ل ContainerLog أو ContainerLogV2.
البيانات المجمعة
المبادره القطريه: streams
الذراع: streams
صفيف من تدفقات جدول نتائج تحليلات الحاوية. راجع التدفقات المدعومة أعلاه لتعيين الجدول.

الجداول والمقاييس القابلة للتطبيق

لا تنطبق إعدادات تكرار المجموعة وتصفية مساحة الاسم على جميع بيانات نتائج تحليلات الحاوية. تسرد الجداول التالية الجداول في مساحة عمل Log Analytics المستخدمة بواسطة نتائج تحليلات الحاوية والمقاييس التي تجمعها جنبا إلى جنب مع الإعدادات التي تنطبق على كل منها.

إشعار

تقوم هذه الميزة بتكوين الإعدادات لكافة جداول نتائج تحليلات الحاوية باستثناء ContainerLog و ContainerLogV2. لتكوين إعدادات هذه الجداول، قم بتحديث ConfigMap الموضح في إعدادات تجميع بيانات العامل.

اسم الجدول الفاصل الزمني؟ مساحات اسماء؟ الملاحظات
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 ‏‏نعم‬ ‏‏نعم‬

قيم الدفق

عند تحديد الجداول المراد تجميعها باستخدام CLI أو ARM، يمكنك تحديد اسم دفق يتوافق مع جدول معين في مساحة عمل Log Analytics. يسرد الجدول التالي اسم الدفق لكل جدول.

إشعار

إذا كنت على دراية ببنية قاعدة تجميع البيانات، يتم تحديد أسماء الدفق في هذا الجدول في قسم dataFlows في DCR.

الدفق جدول نتائج تحليلات الحاوية
Microsoft-ContainerInventory ContainerInventory
Microsoft-ContainerLog ContainerLog
Microsoft-ContainerLogV2 ContainerLogV2
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 الاداء

التأثير على المرئيات والتنبيهات

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

للفحص بحثا عن التنبيهات التي تشير إلى هذه الجداول، قم بتشغيل استعلام Azure Resource Graph التالي:

resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "Perf" or properties  contains "InsightsMetrics" or properties  contains "ContainerInventory" or properties  contains "ContainerNodeInventory" or properties  contains "KubeNodeInventory" or properties  contains"KubePodInventory" or properties  contains "KubePVInventory" or properties  contains "KubeServices" or properties  contains "KubeEvents" 
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc

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