مشاركة عبر


مراقبة مجموعات Kubernetes باستخدام خدمات Azure والأدوات الأصلية السحابية

توضح هذه المقالة كيفية مراقبة صحة وأداء مجموعات Kubernetes وأحمال العمل التي تعمل عليها باستخدام Azure Monitor والخدمات الأصلية ذات الصلة في Azure والسحابة. يتضمن ذلك المجموعات التي تعمل في Azure Kubernetes Service (AKS) أو السحب الأخرى مثل AWS وGCP. يتم توفير مجموعات مختلفة من الإرشادات للأدوار المختلفة التي عادة ما تدير المكونات الفريدة التي تشكل بيئة Kubernetes.

هام

توفر هذه المقالة إرشادات كاملة حول مراقبة الطبقات المختلفة لبيئة Kubernetes الخاصة بك استنادا إلى Azure Kubernetes Service (AKS) أو مجموعات Kubernetes في السحب الأخرى. إذا كنت قد بدأت للتو باستخدام AKS أو Azure Monitor، فشاهد مراقبة AKS للحصول على معلومات أساسية لبدء مراقبة مجموعة AKS.

طبقات وأدوار بيئة Kubernetes

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

رسم تخطيطي لطبقات بيئة Kubernetes ذات الأدوار الإدارية ذات الصلة.

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

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

اختيار أدوات المراقبة

يوفر Azure مجموعة كاملة من الخدمات استنادا إلى Azure Monitor لمراقبة صحة وأداء الطبقات المختلفة من البنية الأساسية ل Kubernetes والتطبيقات التي تعتمد عليها. تعمل هذه الخدمات جنبا إلى جنب لتوفير حل مراقبة كامل ويوصى بها لكل من AKS ومجموعات Kubernetes التي تعمل في السحب الأخرى. قد يكون لديك استثمار موجود في التقنيات السحابية الأصلية التي تدعمها Cloud Native Computing Foundation، وفي هذه الحالة قد تختار دمج أدوات Azure في بيئتك الحالية.

سيعتمد اختيارك للأدوات التي سيتم نشرها وتكوينها على متطلبات البيئة الخاصة بك. على سبيل المثال، يمكنك استخدام العروض المدارة في Azure ل Prometheus وGrafana، أو يمكنك اختيار استخدام التثبيت الحالي لهذه الأدوات مع مجموعات Kubernetes في Azure. قد تستخدم مؤسستك أيضا أدوات بديلة ل Container insights لجمع وتحليل سجلات Kubernetes، مثل Splunk أو Datadog.

هام

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

مهندس شبكة

مهندس الشبكة مسؤول عن حركة المرور بين أحمال العمل وأي دخول/خروج مع المجموعة. يقومون بتحليل حركة مرور الشبكة وإجراء تحليل التهديدات.

رسم تخطيطي لطبقات بيئة Kubernetes لمهندس الشبكة.

خدمات Azure لمسؤول الشبكة

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

الخدمة ‏‏الوصف
Network Watcher مجموعة من الأدوات في Azure لمراقبة الشبكات الظاهرية المستخدمة من قبل مجموعات Kubernetes وتشخيص المشكلات المكتشفة.
تحليلات نسبة استخدام الشبكة ميزة Network Watcher التي تحلل سجلات التدفق لتوفير رؤى حول تدفق نسبة استخدام الشبكة.
نتائج تحليلات الشبكة ميزة Azure Monitor التي تتضمن تمثيلا مرئيا لأداء وصحة مكونات الشبكة المختلفة وتوفر الوصول إلى أدوات مراقبة الشبكة التي تعد جزءا من Network Watcher.

يتم تمكين نتائج تحليلات الشبكة بشكل افتراضي ولا تتطلب أي تكوين. كما يتم تمكين Network Watcher بشكل افتراضي في كل منطقة من مناطق Azure.

مستوى المراقبة 1 - الشبكة

فيما يلي سيناريوهات شائعة لمراقبة الشبكة.

  • قم بإنشاء سجلات تدفق لتسجيل معلومات حول حركة مرور IP المتدفقة من خلال مجموعات أمان الشبكة التي تستخدمها مجموعتك ثم استخدم تحليلات نسبة استخدام الشبكة لتحليل وتقديم رؤى حول هذه البيانات. من المرجح أن تستخدم نفس مساحة عمل Log Analytics لتحليلات نسبة استخدام الشبكة التي تستخدمها للحصول على نتائج تحليلات الحاوية وسجلات وحدة التحكم الخاصة بك.
  • باستخدام تحليلات نسبة استخدام الشبكة، يمكنك تحديد ما إذا كانت أي حركة مرور تتدفق إما من أو إلى أي منافذ غير متوقعة تستخدمها المجموعة وأيضا إذا كانت أي حركة مرور تتدفق عبر عناوين IP العامة التي لا ينبغي كشفها. استخدم هذه المعلومات لتحديد ما إذا كانت قواعد الشبكة تحتاج إلى تعديل.
  • بالنسبة لمجموعات AKS، استخدم الوظيفة الإضافية Network Observability ل AKS (معاينة) لمراقبة ومراقبة الوصول بين الخدمات في نظام المجموعة (حركة المرور بين الشرق والغرب).

مهندس النظام الأساسي

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

رسم تخطيطي لطبقات بيئة Kubernetes لمهندس النظام الأساسي.

قد يكون لدى المؤسسات الكبيرة أيضا مهندس أسطول، وهو مشابه لمهندس المنصة ولكنه مسؤول عن مجموعات متعددة. إنهم بحاجة إلى رؤية عبر البيئة بأكملها ويجب عليهم أداء المهام الإدارية على نطاق واسع. وترد التوصيات على نطاق واسع في الإرشادات أدناه. راجع ما هو Azure Kubernetes Fleet Manager؟ للحصول على تفاصيل حول إنشاء مورد Fleet للسيناريوهات متعددة المجموعات وعلى نطاق واسع.

خدمات Azure لمهندس النظام الأساسي

يسرد الجدول التالي خدمات Azure لمهندس النظام الأساسي لمراقبة صحة وأداء مجموعة Kubernetes ومكوناتها.

الخدمة ‏‏الوصف
نتائج تحليلات الحاوية خدمة Azure ل AKS ومجموعات Kubernetes الممكنة في Azure Arc التي تستخدم إصدار حاوية من عامل Azure Monitor لجمع سجلات stdout/stderr ومقاييس الأداء وأحداث Kubernetes من كل عقدة في نظام المجموعة الخاص بك. يمكنك عرض البيانات في مدخل Microsoft Azure أو الاستعلام عنها باستخدام Log Analytics. تكوين تجربة Prometheus لاستخدام طرق عرض نتائج تحليلات الحاوية مع بيانات Prometheus.
خدمة Azure Monitor المدارة ل Prometheus Prometheus هو حل مقاييس سحابية أصلية من Cloud Native Compute Foundation والأداة الأكثر شيوعا المستخدمة لجمع وتحليل البيانات القياسية من مجموعات Kubernetes. خدمة Azure Monitor المدارة ل Prometheus هي حل مدار بالكامل يتوافق مع لغة استعلام Prometheus (PromQL) وتنبيهات Prometheus ويتكامل مع Azure Managed Grafana للتصور. تدعم هذه الخدمة استثمارك في أدوات مصدر مفتوح دون تعقيد إدارة بيئة Prometheus الخاصة بك.
Kubernetes التي تدعم Azure Arc يسمح لك بإرفاق مجموعات Kubernetes التي تعمل في السحب الأخرى بحيث يمكنك إدارتها وتكوينها في Azure. مع تثبيت عامل Arc، يمكنك مراقبة AKS والمجموعات المختلطة معا باستخدام نفس الأساليب والأدوات، بما في ذلك نتائج تحليلات الحاوية وPrometheus.
Azure Managed Grafana التنفيذ المدار بالكامل ل Grafana، وهو نظام أساسي لتصور البيانات مفتوح المصدر يستخدم عادة لتقديم Prometheus والبيانات الأخرى. تتوفر لوحات معلومات Grafana متعددة معرفة مسبقا لمراقبة Kubernetes واستكشاف الأخطاء وإصلاحها بالكامل.

تكوين المراقبة لمهندس النظام الأساسي

تحدد الأقسام أدناه خطوات المراقبة الكاملة لبيئة Kubernetes باستخدام خدمات Azure في الجدول أعلاه. يتم توفير خيارات الوظائف والتكامل لكل منها لمساعدتك في تحديد المكان الذي قد تحتاج فيه إلى تعديل هذا التكوين لتلبية متطلباتك الخاصة.

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

تمكين استخراج مقاييس Prometheus

هام

لاستخدام خدمة Azure Monitor المدارة ل Prometheus، تحتاج إلى مساحة عمل Azure Monitor. للحصول على معلومات حول اعتبارات التصميم لتكوين مساحة العمل، راجع بنية مساحة عمل Azure Monitor.

تمكين استخراج مقاييس Prometheus بواسطة خدمة Azure Monitor المدارة ل Prometheus من مجموعتك باستخدام إحدى الطرق التالية:

إذا كان لديك بالفعل بيئة Prometheus التي تريد استخدامها لمجموعات AKS الخاصة بك، فبادر بتمكين خدمة Azure Monitor المدارة ل Prometheus ثم استخدم الكتابة عن بعد لإرسال البيانات إلى بيئة Prometheus الحالية. يمكنك أيضا استخدام الكتابة عن بعد لإرسال البيانات من بيئة Prometheus المدارة ذاتيا الحالية إلى خدمة Azure Monitor المدارة ل Prometheus.

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

تمكين Grafana لتحليل بيانات Prometheus

إشعار

استخدم Grafana لمراقبة بيئة Kubernetes إذا كان لديك استثمار موجود في Grafana أو إذا كنت تفضل استخدام لوحات معلومات Grafana بدلا من نتائج تحليلات الحاوية لتحليل بيانات Prometheus. إذا كنت لا تريد استخدام Grafana، فمكن تجربة Prometheus في نتائج تحليلات الحاوية بحيث يمكنك استخدام طرق عرض نتائج تحليلات الحاوية مع بيانات Prometheus.

إنشاء مثيل ل Grafana المدارة وربطه بمساحة عمل Azure Monitor بحيث يمكنك استخدام بيانات Prometheus كمصدر بيانات. يمكنك أيضا إجراء هذا التكوين يدويا باستخدام إضافة خدمة مدارة من Azure Monitor ل Prometheus كمصدر بيانات. تتوفر مجموعة متنوعة من لوحات المعلومات التي تم إنشاؤها مسبقا لمراقبة مجموعات Kubernetes بما في ذلك العديد من المعلومات التي تقدم معلومات مشابهة مثل طرق عرض نتائج تحليلات الحاوية.

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

تمكين Container Insights لمجموعة السجلات

عند تمكين Container Insights لمجموعة Kubernetes الخاصة بك، فإنه ينشر إصدار حاوية من عامل Azure Monitor الذي يرسل البيانات إلى مساحة عمل Log Analytics في Azure Monitor. تجمع نتائج تحليلات الحاوية بيانات الحاوية stdout/stderr وسجلات البنية الأساسية وبيانات الأداء. يتم تخزين جميع بيانات السجل في مساحة عمل Log Analytics حيث يمكن تحليلها باستخدام Kusto Query Language (KQL).

راجع تمكين نتائج تحليلات الحاوية للحصول على المتطلبات الأساسية وخيارات التكوين لإلحاق مجموعات Kubernetes. الإلحاق باستخدام نهج Azure للتأكد من أن جميع المجموعات تحتفظ بضبط إعدادات متناسقة.

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

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

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

جمع سجلات وحدة التحكم لمجموعات AKS

يتم تطبيق سجلات مكونات الطائرة التحكم AKS في Azure كسجلات الموارد. لا تستخدم Container Insights هذه السجلات، لذلك تحتاج إلى إنشاء استعلامات السجل الخاصة بك لعرضها وتحليلها. للحصول على تفاصيل حول بنية السجل والاستعلامات، راجع كيفية الاستعلام عن السجلات من Container Insights.

إنشاء إعداد تشخيص لكل نظام مجموعة AKS لإرسال سجلات الموارد إلى مساحة عمل Log Analytics. استخدم نهج Azure لضمان تكوين متناسق عبر مجموعات متعددة.

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

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

الفئة تمكين؟ الوجهة
kube-apiserver تمكين مساحة عمل Log Analytics
تدقيق kube تمكين Azure storage. وهذا يحافظ على التكاليف إلى أدنى حد ممكن ومع ذلك يحتفظ بسجلات التدقيق إذا كانت مطلوبة من قبل المدقق.
kube-Audit-admin تمكين مساحة عمل Log Analytics
kube-controller-manager تمكين مساحة عمل Log Analytics
kube-scheduler تعطيل
مقياس تلقائي للمجموعة تمكين إذا تم تمكين التحجيم التلقائي مساحة عمل Log Analytics
حارس تمكين إذا تم تمكين معرف Microsoft Entra مساحة عمل Log Analytics
AllMetrics تعطيل نظرا لتجميع المقاييس في Prometheus المدار مساحة عمل Log Analytics

إذا كان لديك حل موجود لجمع السجلات، فاتبع إرشادات تلك الأداة أو قم بتمكين نتائج تحليلات الحاوية واستخدم ميزة تصدير البيانات في مساحة عمل Log Analytics لإرسال البيانات إلى مركز أحداث Azure لإعادة التوجيه إلى نظام بديل.

جمع سجل النشاط لمجموعات AKS

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

مراقبة المستوى 2 - مكونات مستوى نظام المجموعة

يتضمن مستوى نظام المجموعة المكونات التالية:

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

فيما يلي سيناريوهات شائعة لمراقبة مكونات مستوى نظام المجموعة.

نتائج تحليلات الحاوية

  • استخدم طريقة عرض نظام المجموعة لمشاهدة أداء العقد في نظام المجموعة، بما في ذلك استخدام وحدة المعالجة المركزية والذاكرة.
  • استخدم طريقة عرض العقد لمشاهدة صحة كل عقدة وصحة وأداء الجرابات التي تعمل عليها. لمزيد من المعلومات حول تحليل صحة العقدة وأدائها، راجع مراقبة أداء مجموعة Kubernetes باستخدام Container Insights.
  • ضمن Reports، استخدم مصنفات Node Monitoring لتحليل سعة القرص، و IO القرص، واستخدام GPU. لمزيد من المعلومات حول هذه المصنفات، راجع مصنفات مراقبة العقدة.
  • ضمن Monitoring، حدد Workbooks، ثم Subnet IP Usage لمشاهدة تخصيص IP والتعيين على كل عقدة لنطاق زمني محدد.

لوحات معلومات Grafana

  • استخدم لوحة المعلومات التي تم إنشاؤها مسبقا في Managed Grafana ل Kubelet لمشاهدة صحة كل منها وأدائه.
  • استخدم لوحات معلومات Grafana مع قيم قياس Prometheus المتعلقة بالقرص مثل node_disk_io_time_seconds_total و windows_logical_disk_free_bytes لمراقبة التخزين المرفق.
  • تتوفر لوحات معلومات Kubernetes متعددة تصور أداء العقد وصحتها استنادا إلى البيانات المخزنة في Prometheus.

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

  • حدد فئة Containers في مربع حوار الاستعلامات لمساحة عمل Log Analytics للوصول إلى استعلامات السجل التي تم إنشاؤها مسبقا لنظام المجموعة، بما في ذلك استعلام سجل مخزون الصور الذي يسترد البيانات من جدول ContainerImageInventory الذي يتم ملؤه بواسطة نتائج تحليلات الحاوية.

استكشاف الأخطاء وإصلاحها

تحليل التكلفة

  • قم بتكوين OpenCost، وهو مشروع بيئة الاختبار المعزولة CNCF مفتوح المصدر ومحايد للمورد لفهم تكاليف Kubernetes الخاصة بك، لدعم تحليلك لتكاليف نظام المجموعة. يقوم بتصدير بيانات التكلفة التفصيلية إلى تخزين Azure.
  • استخدم البيانات من OpenCost لتقسيم الاستخدام النسبي للمجموعة من قبل فرق مختلفة في مؤسستك بحيث يمكنك تخصيص التكلفة بين كل منها.
  • استخدم البيانات من OpenCost للتأكد من أن المجموعة تستخدم السعة الكاملة لعقدها عن طريق تعبئة أحمال العمل بشكل كثيف، باستخدام عقد كبيرة أقل بدلا من العديد من العقد الأصغر.

مراقبة المستوى 3 - مكونات Kubernetes المدارة

يتضمن مستوى Kubernetes المدار المكونات التالية:

المكون مراقبة‬
API Server مراقبة حالة خادم API وتحديد أي زيادة في تحميل الطلب والازدحام إذا كانت الخدمة معطلة.
Kubelet راقب Kubelet للمساعدة في استكشاف مشكلات إدارة الجراب وإصلاحها، أو عدم بدء تشغيل pods، أو العقد غير الجاهزة، أو قتل pods.

فيما يلي سيناريوهات شائعة لمراقبة مكونات Kubernetes المدارة.

نتائج تحليلات الحاوية

  • ضمن Monitoring، حدد Metrics لعرض عداد Inflight Requests .
  • ضمن Reports، استخدم مصنف Kubelet لمشاهدة صحة وأداء كل kubelet. لمزيد من المعلومات حول هذه المصنفات، راجع مصنفات مراقبة الموارد.

Grafana

  • استخدم لوحة المعلومات التي تم إنشاؤها مسبقا في Managed Grafana ل Kubelet لمشاهدة صحة وأداء كل kubelet.
  • استخدم لوحة معلومات مثل Kubernetes apiserver للحصول على عرض كامل لأداء خادم واجهة برمجة التطبيقات. يتضمن ذلك قيماً مثل وقت استجابة الطلب ووقت معالجة قائمة انتظار العمل.

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

  • استخدم استعلامات السجل مع سجلات الموارد لتحليل سجلات وحدة التحكم التي تم إنشاؤها بواسطة مكونات AKS.

  • يتم تسجيل أي أنشطة تكوين ل AKS في سجل النشاط. عند إرسال سجل النشاط إلى مساحة عمل Log Analytics، يمكنك تحليله باستخدام Log Analytics. على سبيل المثال، يمكن استخدام نموذج الاستعلام التالي لإرجاع السجلات التي تحدد ترقية ناجحة عبر جميع مجموعات AKS.

    AzureActivity
    | where CategoryValue == "Administrative"
    | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE"
    | extend properties=parse_json(Properties_d) 
    | where properties.message == "Upgrade Succeeded"
    | order by TimeGenerated desc
    

استكشاف الأخطاء وإصلاحها

مراقبة المستوى 4 - كائنات Kubernetes وأحمال العمل

يتضمن مستوى كائنات Kubernetes وأحمال العمل المكونات التالية:

المكون متطلبات المراقبة
عمليات النشر مراقبة الحالة الفعلية مقابل الحالة المرغوبة للنشر وحالة واستخدام الموارد للجرابات التي تعمل عليها.
Pods مراقبة حالة واستخدام الموارد، بما في ذلك وحدة المعالجة المركزية والذاكرة، من الجرابات التي تعمل على نظام المجموعة AKS.
الحاويات مراقبة استخدام الموارد، بما في ذلك وحدة المعالجة المركزية والذاكرة، للحاويات التي تعمل على نظام مجموعة AKS.

فيما يلي سيناريوهات شائعة لمراقبة كائنات Kubernetes وأحمال العمل.

نتائج تحليلات الحاوية

لوحات معلومات Grafana

  • استخدم لوحات المعلومات التي تم إنشاؤها مسبقا في Managed Grafana للعقد والقرون لعرض صحتها وأدائها.
  • تتوفر لوحات معلومات Kubernetes متعددة تصور أداء العقد وصحتها استنادا إلى البيانات المخزنة في Prometheus.

البيانات المباشرة

تنبيهات لمهندس النظام الأساسي

تقوم التنبيهات في Azure Monitor بإعلامك بشكل استباقي عن البيانات والأنماط المثيرة للاهتمام في بيانات المراقبة الخاصة بك. فهي تسمح لك بتحديد المشكلات ومعالجتها في نظامك قبل أن يلاحظها عملاؤك. إذا كان لديك حل ITSM موجود للتنبيه، يمكنك دمجه مع Azure Monitor. يمكنك أيضا تصدير بيانات مساحة العمل لإرسال البيانات من مساحة عمل Log Analytics إلى موقع آخر يدعم حل التنبيه الحالي.

أنواع التنبيهات

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

نوع التنبيه ‏‏الوصف
تنبيهات Prometheus تتم كتابة تنبيهات Prometheus بلغة استعلام Prometheus (Prom QL) وتطبيقها على مقاييس Prometheus المخزنة في خدمات Azure Monitor المدارة ل Prometheus. تتضمن التنبيهات الموصى بها بالفعل تنبيهات Prometheus الأكثر شيوعا، ويمكنك إنشاء قواعد تنبيه إضافة كما هو مطلوب.
قواعد التنبيه القياسي تستخدم قواعد التنبيه القياسي نفس قيم المقاييس مثل مستكشف المقاييس. في الواقع، يمكنك إنشاء قاعدة تنبيه مباشرة من مستكشف المقاييس بالبيانات التي تقوم بتحليلها حاليا. يمكن أن تكون قواعد التنبيه القياسي مفيدة للتنبيه على أداء AKS باستخدام أي من القيم في مقاييس مرجع بيانات AKS.
تسجيل قواعد تنبيه البحث استخدم قواعد تنبيه بحث السجل لإنشاء تنبيه من نتائج استعلام السجل. لمزيد من المعلومات، راجع كيفية إنشاء تنبيهات بحث السجل من Container Insights وكيفية الاستعلام عن السجلات من Container Insights.

ابدأ بمجموعة من تنبيهات Prometheus الموصى بها من قواعد التنبيه القياسي في نتائج تحليلات الحاوية (معاينة) التي تتضمن شروط التنبيه الأكثر شيوعا لمجموعة Kubernetes. يمكنك إضافة المزيد من قواعد التنبيه لاحقا أثناء تحديد شروط التنبيه الإضافية.

المطور

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

رسم تخطيطي لطبقات بيئة Kubernetes للمطور.

خدمات Azure للمطور

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

الخدمة ‏‏الوصف
Application Insights ميزة Azure Monitor التي توفر مراقبة أداء التطبيق (APM) لمراقبة التطبيقات التي تعمل على مجموعة Kubernetes الخاصة بك من التطوير، من خلال الاختبار، وإلى الإنتاج. تحديد مشكلات زمن الانتقال والموثوقية وتخفيفها بسرعة باستخدام التتبعات الموزعة. يدعم OpenTelemetry للأجهزة المحايدة للمورد.

راجع أساسيات تجميع البيانات من Azure Monitor Application Insights للحصول على خيارات حول تكوين جمع البيانات من التطبيق الذي يعمل على نظام المجموعة ومعايير القرار على أفضل طريقة لمتطلباتك الخاصة.

مراقبة المستوى 5 - التطبيق

فيما يلي سيناريوهات شائعة لمراقبة التطبيق الخاص بك.

أداء التطبيق

  • استخدم طريقة عرض الأداء في Application insights لعرض أداء العمليات المختلفة في التطبيق الخاص بك.
  • استخدم محلل ملفات تعريف .NET لالتقاط آثار الأداء وعرضها للتطبيق الخاص بك.
  • استخدم Application Map لعرض التبعيات بين مكونات التطبيق وتحديد أي اختناقات.
  • تمكين التتبع الموزع، الذي يوفر محلل ملفات تعريف الأداء الذي يعمل مثل مكدسات الاستدعاءات لبنى السحابة والخدمات المصغرة، للحصول على إمكانية مراقبة أفضل في التفاعل بين الخدمات.

فشل التطبيق

  • استخدم علامة التبويب Failures في Application insights لعرض عدد الطلبات الفاشلة والاستثناءات الأكثر شيوعا.
  • تأكد من تكوين تنبيهات حالات الفشل الشاذة المحددة بالكشف الذكي بشكل صحيح.

مراقبة الصحة

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

سجلات التطبيق

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

شبكة الخدمة

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

(راجع أيضًا )

  • راجع مراقبة AKS للحصول على إرشادات حول المراقبة الخاصة بخدمة Azure Kubernetes (AKS).