استخراج مقاييس Prometheus على نطاق واسع في Azure Monitor

توفر هذه المقالة إرشادات حول الأداء الذي يمكن توقعه عند تجميع المقاييس على نطاق واسع لخدمة Azure Monitor المدارة ل Prometheus.

وحدة المعالجة المركزية والذاكرة

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

يبلغ الحد الأقصى لوحدة التخزين لكل جراب حاليا حوالي 3-3.5 مليون عينة في الدقيقة، اعتمادا على عدد وحدات البايت لكل عينة. تتم معالجة هذا القيد عند إضافة التقسيم في المستقبل.

يتكون العامل من توزيع مع نسخة متماثلة واحدة و DaemonSet لاستخراج المقاييس. تقوم DaemonSet بالتخلص من أي أهداف على مستوى العقدة مثل cAdvisor وkubelet ومصدر العقدة. يمكنك أيضا تكوينه لاستخراج أي أهداف مخصصة على مستوى العقدة باستخدام تكوينات ثابتة. تتخلص مجموعة النسخ المتماثلة من كل شيء آخر مثل kube-state-metrics أو مهام استخراج مخصصة تستخدم اكتشاف الخدمة.

المقارنة بين نظام المجموعة الصغيرة والكبيرة للنسخة المتماثلة

أهداف الاستخراج العينات المرسلة / الدقيقة عدد العقد عدد الجرابات Prometheus-Collector استخدام وحدة المعالجة المركزية (الذاكرات الأساسية) Prometheus-Collector استخدام الذاكرة (بايت)
الأهداف الافتراضية 11,344 3 40 12.9 mc 148 مي
الأهداف الافتراضية 260,000 340 13000 1.10 ج 1.70 غيغابايت
الأهداف الافتراضية
+ أهداف مخصصة
3.56 مليون نسمة 340 13000 5.13 ج 9.52 غيغابايت

المقارنة بين نظام المجموعة الصغيرة والكبيرة ل DaemonSets

أهداف الاستخراج العينات المرسلة / إجمالي الدقيقة العينات المرسلة / الدقيقة / الجراب عدد العقد عدد الجرابات Prometheus-Collector إجمالي استخدام وحدة المعالجة المركزية (الذاكرات الأساسية) إجمالي استخدام الذاكرة Prometheus-Collector (بايت) Prometheus-Collector استخدام وحدة المعالجة المركزية / الجراب (الذاكرات الأساسية) Prometheus-Collector استخدام الذاكرة / الجراب (بايت)
الأهداف الافتراضية 9,858 3,327 3 40 41.9 mc 581 ميبي بايت 14.7 mc 189 مي
الأهداف الافتراضية 2.3 مليون نسمة 14,400 340 13000 805 ماك 305.34 غيغابايت 2.36 mc 898 مي

لمزيد من المقاييس المخصصة، يتصرف الجراب الفردي بنفس سلوك جراب النسخة المتماثلة اعتمادا على حجم المقاييس المخصصة.

جدولة جراب النسخة المتماثلة ama-metrics على تجمع عقدة مع المزيد من الموارد

يتطلب حجم كبير من المقاييس لكل جراب عقدة كبيرة بما يكفي لتكون قادرة على التعامل مع استخدام وحدة المعالجة المركزية والذاكرة المطلوبة. إذا لم تتم جدولة جراب النسخة المتماثلة ama-metrics على عقدة أو nodepool يحتوي على موارد كافية، فقد يستمر في الحصول على OOMKilled والانتقال إلى CrashLoopBackoff. من أجل التغلب على هذه المشكلة، إذا كان لديك عقدة أو nodepool على نظام المجموعة الخاص بك الذي يحتوي على موارد أعلى (في تجمع عقدة النظام) وتريد الحصول على النسخة المتماثلة المجدولة على تلك العقدة، يمكنك إضافة التسمية azuremonitor/metrics.replica.preferred=true على العقدة وسيتم جدولة pod النسخة المتماثلة على هذه العقدة. يمكنك أيضا إنشاء تجمع (تجمعات) نظام إضافية، إذا لزم الأمر، مع عقد أكبر ويمكنك إضافة نفس التسمية إلى العقدة (العقد) أو nodepool الخاصة بهم. من الأفضل أيضا إضافة تسميات إلى nodepool بدلا من العقد بحيث يمكن أيضا استخدام العقد الأحدث في نفس التجمع للجدولة عندما تكون هذه التسمية قابلة للتطبيق على جميع العقد في التجمع.

kubectl label nodes <node-name> azuremonitor/metrics.replica.preferred="true"

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