أفضل ممارسات المراقبة الاستباقية لخدمة Azure Kubernetes (AKS)
تتناول هذه المقالة أفضل الممارسات للمراقبة الاستباقية على خدمة Azure Kubernetes (AKS) وتوفر قائمة شاملة بالإشارات الرئيسية التي توصي AKS بمراقبتها.
تعد المراقبة الاستباقية لمجموعات AKS أمرا بالغ الأهمية لتقليل وقت التعطل وحفظ انقطاعات الأعمال لتطبيقاتك. تتضمن هذه العملية تحديد ومراقبة المؤشرات الرئيسية للسلوك غير الطبيعي في مجموعتك التي قد تؤدي إلى مشكلات رئيسية أو وقت تعطل.
نظرة عامة على المراقبة والتنبيه
تتضمن المراقبة على AKS استخدام المقاييس والسجلات والأحداث لضمان صحة وأداء مجموعتك. تتضمن السيناريوهات الشائعة للمراقبة أداء العقدة وحالة الجراب واستخدام الموارد الإجمالي في مجموعتك. توفر السجلات رؤى حول أحداث النظام وعمليات نظام المجموعة والنشاط. لمزيد من المعلومات حول الأساليب والإشارات التي توفرها AKS للمراقبة، راجع مراقبة خدمة Azure Kubernetes (AKS).
أفضل طريقة لمراقبة نظام المجموعة بشكل استباقي هي تكوين تنبيهات Azure Monitor. تعمل التنبيهات كتدابير استباقية لإعلامك بالمشكلات المحتملة أو الحالات الشاذة قبل أن تتصاعد إلى مشكلات حرجة. من خلال تحديد حدود المقاييس والسجلات الرئيسية، تتلقى تنبيهات فورية عندما تتجاوز هذه الإشارات الحدود المحددة مسبقا، مما يشير إلى المشكلات المحتملة مثل استنفاد الموارد أو فشل التطبيق. نوصي بشدة بتحديد أهداف مستوى الخدمة (SLOs) لتطبيقك لقياس أداء الخدمة وموثوقيتها. يسمح لك تكوين التنبيهات على الإشارات الرئيسية ل SLOs بالكشف بسرعة عن أي تدهور في جودة الخدمة للتطبيق الخاص بك الذي يتلقاه عملاؤك. بشكل عام، يمكنك تعيين التنبيهات في الوقت المناسب من التحقق بسرعة من المشكلات ومعالجتها، وتقليل وقت التعطل وضمان قابلية وصول عالية للتطبيقات التي تعمل على مجموعة AKS الخاصة بك.
كيفية تكوين التنبيهات على أنواع مقاييس معينة
نوع المقياس | مكان العثور على هذه المقاييس | كيفية تكوين التنبيهات |
---|---|---|
مقياس النظام الأساسي ل AKS | عرض مقاييس النظام الأساسي من خلال شفرة المقاييس في مدخل Microsoft Azure. | يمكنك إنشاء تنبيهات قياسية وتحديثها وحذفها من خلال مدخل Microsoft Azure. لمزيد من المعلومات، راجع إنشاء تنبيه قياسي لمورد Azure. |
Azure Managed Prometheus Metric | للوصول إلى مقاييس Prometheus، تحتاج إلى تمكين Managed Prometheus. للحصول على تفاصيل حول كيفية تمكين وعرض مقاييس Prometheus، راجع Azure Monitor وPrometheus. | للحصول على إرشادات حول تكوين تنبيهات Prometheus، راجع خدمة Azure Monitor المدارة لمجموعات قواعد Prometheus. |
سجلات أنشطة Azure | عرض سجلات النشاط من خلال مدخل Microsoft Azure. لمزيد من المعلومات، راجع سجلات نشاط Azure ل AKS. | تكوين التنبيهات على سجلات النشاط من خلال مدخل Microsoft Azure. لمزيد من المعلومات، راجع تنبيهات سجل النشاط. |
مقياس مجموعة مقياس الجهاز الظاهري Azure | عرض مقاييس مجموعة مقياس الجهاز الظاهري من خلال مدخل Microsoft Azure. | 1. للعثور على مثيل مجموعة مقياس الجهاز الظاهري المقترن بتجمع العقدة، انتقل إلى شفرة خصائص الإعدادات > لمجموعة AKS في مدخل Microsoft Azure. 2. حدد مجموعة موارد البنية الأساسية لعرض موارد البنية الأساسية المقترنة بمجموعتك. 3. حدد مثيل مجموعة مقياس الجهاز الظاهري الذي يطابق اسم تجمع العقدة الذي تقوم بإنشاء تنبيهات له. 4. انتقل إلى شفرة التنبيهات لإنشاء تنبيه قياسي. |
مقياس موازن التحميل | عرض مقاييس موازن التحميل من خلال صفحة Load Balancer في مدخل Microsoft Azure. | 1. للعثور على مثيل موازن التحميل المقترن بتجمع العقدة، انتقل إلى جزء Settings > Properties لنظام مجموعة AKS في مدخل Microsoft Azure. 2. حدد مجموعة موارد البنية الأساسية لعرض موارد البنية الأساسية المقترنة بمجموعتك. 3. حدد مثيل موازن التحميل لإظهار صفحة مدخل Azure لموازن التحميل. 4. انتقل إلى صفحة التنبيهات لإنشاء تنبيه قياس موازن التحميل. |
السجلات والأحداث | للتنبيه على السجلات والأحداث، تحتاج إلى تمكين Container Insights. لمزيد من المعلومات، راجع سجلات موارد Azure Monitor. | للحصول على إرشادات حول إنشاء تنبيهات على السجلات والأحداث، راجع إنشاء تنبيهات بحث السجل من نتائج تحليلات الحاوية. |
الإشارات الهامة لتكوين التنبيهات
للحصول على تغطية شاملة لبيئة AKS الخاصة بك، تحتاج إلى تكوين تنبيهات على المكونات الرئيسية الثلاثة للمجموعة الخاصة بك:
- البنية الأساسية لنظام المجموعة: التنبيهات التي تستهدف البنية الأساسية لنظام المجموعة مثل العقد والأقراص والشبكات.
- صحة التطبيق: تنبيهات لمراقبة صحة القرون والتطبيقات الخاصة بك. تتضمن بعض المؤشرات الشائعة للتطبيقات غير السليمة عمليات الإنهاء خارج الذاكرة (OOMKills) لوحدات الجراب الخاصة بك، والقرون في حالة غير جاهزة، وما إلى ذلك.
- وحدة تحكم Kubernetes: تنبيهات على وحدة تحكم AKS لمراقبة صحة وأداء خادم واجهة برمجة التطبيقات وما إلى ذلك والمكونات الأخرى.
تحتوي الأقسام التالية على الإشارات الرئيسية التي نوصي جميع عملاء AKS بمراقبةها عن كثب. يعمل فريق AKS على إضافة جميع الإشارات الهامة إلى ميزة التنبيهات الموصى بها الحالية، والتي تسمح لك بتمكين التنبيهات بسهولة لجميع الإشارات بتجربة بنقرة واحدة. تتوفر تنبيهات مقاييس Prometheus في المعاينة العامة اليوم، ويقدر أن تكون التنبيهات المتبقية متاحة في أوائل عام 2025. في الوقت الحالي، يمكنك تكوين التنبيهات يدويا على الإشارات الهامة.
تنبيهات البنية الأساسية لنظام المجموعة
سيناريو التنبيه | المصدر | إشارة | الحد الموصى به |
---|---|---|---|
نظام المجموعة في حالة فشل | سجلات أنشطة Azure | إنشاء أو تحديث نظام المجموعة المدارة | حالة السجل فاشلة، مما يشير إلى فشل ترقية نظام المجموعة أو إجراء الإنشاء. |
تجمع العقدة في حالة فشل | سجلات أنشطة Azure | إنشاء تجمع عامل أو تحديثه | حالة السجل فاشلة، مما يشير إلى أن تجمع العقدة في حالة فشل بسبب فشل عملية إنشاء أو قراءة أو ترقية أو حذف (CRUD). |
استخدام النطاق الترددي لقرص نظام التشغيل عالي العقدة | مقياس مجموعة مقياس الجهاز الظاهري | النسبة المئوية المستهلكة للنطاق الترددي لقرص نظام التشغيل | استخدام النطاق الترددي لقرص نظام تشغيل العقدة أعلى من 95٪. |
استخدام IOPS لقرص نظام التشغيل عالي العقدة | مقياس مجموعة مقياس الجهاز الظاهري | النسبة المئوية المستهلكة لعملية الإدخال والإخراج في الثانية لقرص نظام التشغيل | استخدام IOPS لقرص نظام تشغيل العقدة أعلى من 95٪. |
استخدام مساحة قرص نظام التشغيل عالية العقدة | مقياس النظام الأساسي ل AKS | النسبة المئوية المستخدمة للقرص | استخدام النسبة المئوية لمساحة قرص نظام تشغيل العقدة أعلى من 90٪. |
استخدام وحدة المعالجة المركزية للعقدة العالية | مقياس النظام الأساسي ل AKS | نسبة استخدام المعالج | استخدام وحدة المعالجة المركزية للعقدة أكبر من 90٪. |
استخدام ذاكرة العقدة العالية | مقياس النظام الأساسي ل AKS | node_memory_working_set_percentage | استخدام ذاكرة العقدة أكبر من 90٪. |
العقدة في حالة NotReady | مقياس النظام الأساسي ل AKS | حالة شروط العقدة المختلفة | العقدة في حالة NotReady لمدة >20 دقيقة. |
استهلاك منفذ الترجمة من نوع SNAT | مقياس موازن التحميل (LB) | عدد اتصالات SNAT | عامل التصفية لحالة الاتصال = "فشل" |
تنبيهات صحة التطبيق
سيناريو التنبيه | المصدر | إشارة | الحد الموصى به |
---|---|---|---|
عدد كبير من القرون غير السليمة | Azure Managed Prometheus Metric | اسم التنبيه: KubePodReadyStateLow | متوفر كتنبيه موصى به من AKS. لتمكين هذا التنبيه، راجع قواعد التنبيه الموصى بها لمجموعات Kubernetes. |
يتم إعادة تشغيل جراب واحد أو أكثر | Azure Managed Prometheus Metric | اسم التنبيه: KubePodContainerRestart | متوفر كتنبيه موصى به من AKS. لتمكين هذا التنبيه، راجع قواعد التنبيه الموصى بها لمجموعات Kubernetes. |
حاوية واحدة أو أكثر في حالة CrashLoop | Azure Managed Prometheus Metric | اسم التنبيه: KubePodCrashLooping | متوفر كتنبيه موصى به من AKS. لتمكين هذا التنبيه، راجع قواعد التنبيه الموصى بها لمجموعات Kubernetes. |
تنبيهات وحدة تحكم Kubernetes
سيناريو التنبيه | المصدر | إشارة | الحد الموصى به |
---|---|---|---|
تم تعبئة ETCD لأعلى | Azure Managed Prometheus Metric | etcd_mvcc_db_total_size_in_use_in_bytes | استخدام ETCD أكبر من 2 غيغابايت |
أخطاء طلبات كثيرة جدا لخادم API | Azure Managed Prometheus Metric | apiserver_request_total | تصفية رمز الخطأ 429 |
API Server Webhook وأخطاء النفق | Azure Managed Prometheus Metric | apiserver_request_total | تصفية رموز الخطأ 500 و503 |
الخطوات التالية
لمزيد من المعلومات حول المراقبة على AKS، راجع المقالات التالية:
Azure Kubernetes Service