إمكانية مراقبة الخدمات ل Kubernetes الممكنة في Azure Arc
إمكانية الملاحظة هي خاصية تطبيق تشير إلى مدى جودة فهم الحالة الداخلية للنظام أو حالته من مخرجاته الخارجية. نقوم بقياس أنظمة الكمبيوتر من خلال مراقبة وقت وحدة المعالجة المركزية والذاكرة ومساحة القرص وازمنة الانتقال والأخطاء والمقاييس الأخرى. كلما كان النظام أكثر قابلية للمراقبة، كان من الأسهل علينا فهم ما يفعله من خلال مراقبته.
إن إمكانية مراقبة النظام لها تأثير كبير على تكلفة التشغيل الخاصة به. تنتج الأنظمة القابلة للمراقبة بيانات مفيدة وقابلة للتنفيذ لمشغليها، ما يسمح لهم بتحقيق نتائج مواتية ووقت تعطل أقل. لا تترجم المزيد من المعلومات بالضرورة إلى نظام أكثر قابلية للمراقبة. في الواقع، في بعض الأحيان يمكن أن تجعل كمية المعلومات التي يتم إنشاؤها بواسطة النظام من الصعب تحديد الإشارات الصحية القيمة من الضوضاء الناتجة عن التطبيق.
تعد إمكانية مراقبة الخدمة مهمة لأنها تساعدك على فهم الأداء والمشكلات في الأنظمة الموزعة والسحابات استنادا إلى البنيات الديناميكية.
يمكن أن يساعدك تنفيذ حل لتحقيق إمكانية مراقبة الخدمات على:
- تأكد من أن المستخدمين النهائيين يمكنهم استهلاك تطبيقك وتلبية توقعات عملك.
- فهم النظام بأكمله وكيفية عمله معا باستخدام جزء واحد من الزجاج.
- قم بإنشاء أساس لنظامك وفهم كيف تؤثر الظروف المختلفة على أداء النظام الخاص بك.
- إنشاء عناصر إجراء من سيناريوهات وسلوكيات غير متوقعة.
يوفر Kubernetes الذي يدعم Azure Arc خيارين ملحقين متكاملين لمساعدتك على تحقيق إمكانية مراقبة الخدمات: Open Service Meshوبوابة APIM المستضافة ذاتيا. تتم مناقشة هذه الخيارات بالتفصيل في أقسام اعتبارات التصميم التالية.
بناء الأنظمة
يوضح الرسم التخطيطي التالي الركائز الثلاث ل "مراقبة الخدمات" مع تأثير حجم البيانات.
يوضح الرسم التخطيطي التالي مكونات شبكة الخدمة المفتوحة المختلفة التي تعمل في مجموعة Kubernetes الممكنة بواسطة Arc. كما يعرض نموذج تطبيق تم تمكينه في شبكة الخدمة، والذي يتم تكوينه تلقائيا باستخدام حاوية السيارة الجانبية Envoy.
اعتبارات التصميم
الركائز الثلاث لقابلية الملاحظة هي المقاييس والسجلات والتتبعات. قم بدمجها في استراتيجية إمكانية المراقبة للمساعدة في جعل النظام الخاص بك قابلا للمراقبة.
- المقاييس هي قيم رقمية تصف بعض جوانب النظام في نقطة زمنية معينة، ويتم جمعها دائما على فترات منتظمة.
تظهر لقطة الشاشة التالية تصورا لمقياس طلب HTTP مثال للخدمة. يتم عرض المقياس في هذا المثال كمعدل طلب HTTP في الدقيقة خلال فترة زمنية محددة.
يمكن للسجلات تخزين أنواع بيانات مختلفة لها بنياتها الخاصة. يحتوي السجل على تفاصيل حول المعاملات التي يمكن أن تسمح لك بالحصول على قصة أكثر اكتمالا لحدث معين. تتضمن سجلات التطبيق عادة الطوابع الزمنية ومستويات السجل وأي معلومات ضرورية لفهم سياق الحدث. يتم جمع السجلات وشحنها إلى خدمة السجل للتخزين والتحليل.
التتبع الموزع هو تقنية تشخيصية تساعد المستخدمين على ترجمة حالات الفشل ومشكلات الأداء داخل التطبيقات، خاصة أي منها يتم توزيعه عبر أجهزة أو عمليات متعددة. تتعقب هذه التقنية الطلبات من خلال تطبيق، وربط العمل الذي تقوم به مكونات التطبيق المختلفة وفصل ذلك عن العمل الآخر الذي قد يقوم به التطبيق للطلبات المتزامنة.
تظهر لقطة الشاشة التالية تصورا لمعاملة شاملة باستخدام Application Insights. تسمح هذه المرئية بفهم أوقات الاستجابة ورموز الاستجابة وأي استثناءات تحدث بين الطلبات في سلسلة المعاملات بسهولة.
الركائز الثلاث للمقاييس والسجلات والتتبع الموزع مترابطة. يتم تخزين المقاييس كقيم رقمية في قاعدة بيانات السلسلة الزمنية. كما أنها أصغر بكثير من السجلات، ما يجعلها أسهل في التقييم ومفيدة للتنبيه في الوقت الفعلي تقريبا. تسجل السجلات وتنقل معلومات أكثر بكثير من المقاييس، ما يجعلها مفيدة لتصحيح الأخطاء بشكل أعمق. يتم تحديد نطاق الطلب للتتبعات، وهي مفيدة للحصول على الرؤية في الطلب أثناء اجتيازه لمكونات مختلفة من النظام الموزع.
يعرض الجدول التالي تأثير المجموعة للركائز الثلاث.
خاصية المجموعة | المقاييس | السجلات | التتبع الموزّع |
---|---|---|---|
حسابات لكل معاملة | نعم | نعم | لا (عينة) |
محصن ضد مشكلات العلاقة الأساسية | لا | نعم | نعم |
التكلفة | منخفضة | عالٍ | منخفضة |
هناك طرق مختلفة يمكنك من خلالها تحقيق إمكانية مراقبة الخدمة. يمكنك استخدام شبكة خدمة للقيام بذلك في طبقة النظام الأساسي، حيث التطبيق الخاص بك غير مدرك وغير متغير. يمكنك أيضا وضع علامة على تطبيق باستخدام مكتبة، والذي يتم عادة باستخدام أداة مراقبة أداء التطبيق (APM) مثل Application Insights. توفر بوابات واجهة برمجة التطبيقات إمكانية الملاحظة في نسبة استخدام الشبكة بين الشمال والجنوب، ولكنها تفتقر إلى إمكانية الملاحظة في اتصال pod إلى pod وسهولة التكوين على نطاق واسع.
تشرح الأقسام التالية كيف يمكنك استخدام شبكة خدمة وبوابة واجهة برمجة التطبيقات المستضافة ذاتيا المتوفرة ل Azure Arc لتحقيق إمكانية مراقبة الخدمات.
شبكة الخدمة
توفر شبكة الخدمة إمكانات مثل إدارة نسبة استخدام الشبكة والمرونة وإنفاذ النهج وأمان النقل وأمان الهوية وإمكانية المراقبة لأحمال العمل الخاصة بك. التطبيق الخاص بك منفصل عن هذه القدرات التشغيلية؛ تنقلها شبكة الخدمة خارج طبقة التطبيق وأسفلها إلى طبقة البنية الأساسية. يتم ذلك من خلال وكيل عالي الأداء يتوسط جميع نسبة استخدام الشبكة الواردة والصادرة إلى خدمتك.
- يدعم Kubernetes الذي يدعم Azure Arc شبكة الخدمة المفتوحة (OSM)، وهو مشروع Cloud Native Computing Foundation (CNCF)، والذي يتم نشره كملحق. Open Service Mesh هي شبكة خدمة سحابية أصلية خفيفة الوزن وقابلة للتوسعة تسمح للمستخدمين بإدارة وتأمين واكتساب ميزات المراقبة الجاهزة لبيئات الخدمات المصغرة الديناميكية للغاية.
- تتضمن شبكات الخدمة الشائعة الأخرى التي تتطلب دعم المورد Istio و Consul Connect و Linkerd.
- اعتمادا على الميزات التي تستخدمها عند تنفيذ شبكة خدمة، قد يتم وضع مسؤولية إضافية على مشغلي التطبيقات لتحديد تكوين لكل خدمة (مثل قواعد الوصول وخدمات الإلحاق). أيضا، يجب على مشغلي نظام المجموعة إدارة وحدة تحكم شبكة الخدمة وأن يكونوا على دراية بها. نظرا للطريقة التي تستخدم بها شبكة الخدمة نمط السيارة الجانبية، يلزم الوصول إلى سجلات من وحدة التحكم في شبكة الخدمة وs sidecar عند تصحيح أخطاء الخروج والدخول.
إمكانية مراقبة شبكة الخدمة
تعد إمكانية الملاحظة وظيفة مهمة بين العديد من شبكات الخدمة التي توفرها. اختر شبكة الخدمة التي تلبي الحد الأدنى من متطلبات المراقبة الخاصة بك حتى تقلل من مقدار التعقيد والمكونات التي يمكن أن تأتي بها شبكة الخدمة وتتطلب تكوينها. تقييم الميزات الشائعة التالية وحالات الاستخدام لقابلية الملاحظة التي توفرها شبكات الخدمة:
- إنشاء المقاييس، بما في ذلك الإشارات الذهبية الأربع: زمن الانتقال وحركة المرور والأخطاء والتشبع.
- أسلوب RED (الأسعار-المكالمات/ثانية، الأخطاء، زمن انتقال استدعاء المدة)، وهو مجموعة فرعية من الإشارات الذهبية الأربع ويستخدم لقياس الخدمات. يجب أن توفر شبكة الخدمة الخاصة بك طريقة موحدة لجمع مقاييس RED والتتبعات وما إلى ذلك.
- تزداد إمكانية الملاحظة، من زيادة اتساع التغطية إلى جميع الخدمات التي تعد جزءا من شبكة الخدمة الخاصة بك.
- الميزات التي تزيد من اعتماد إمكانية المراقبة عن طريق الأجهزة التلقائية لجميع الخدمات.
- التكامل القوي مع ركائز مراقبة الخدمة. يجب أن تكون شبكة الخدمة الخاصة بك قادرة على استخراج المقاييس وجمع السجلات التي تظهر في حل المراقبة الخاص بك. تأكد من أن مجموعة بيانات تتبع الاستخدام لمجموعة شبكة الخدمة الخاصة بك تدعم احتياجات عملك وتتكامل بشكل جيد مع حل المراقبة الحالي.
يوضح الرسم التخطيطي التالي مثالا على وظيفة وكيل شبكة الخدمة لجمع البيانات وإعادة توجيهها.
بوابة مستضافة ذاتيا لإدارة واجهة برمجة التطبيقات
مع التكامل بين Azure API Management وAzure Arc على Kubernetes، يمكنك نشر مكون بوابة APIM كملحق في مجموعة Kubernetes الممكنة في Azure Arc. يسمح هذا بإصدار حاوية من بوابة APIM لتشغيل في نظام المجموعة الخاص بك. تتم إدارة جميع البوابات المستضافة ذاتيا من خدمة APIM التي يتم توحيدها معها، ما يوفر لك رؤية وتجربة إدارة موحدة عبر جميع واجهات برمجة التطبيقات الداخلية والخارجية.
يتطلب تكوين البوابة المستضافة ذاتيا لقبول نسبة استخدام الشبكة الواردة لتوجيهها إلى خدماتك إنشاء نهج. يمكن أن تصبح إدارتها أكثر تعقيدا مع نمو نطاق الخدمة.
لمزيد من المعلومات، راجع نظرة عامة على البوابة المستضافة ذاتيا
إمكانية مراقبة البوابة المستضافة ذاتيا لإدارة واجهة برمجة التطبيقات
تصدر البوابة المستضافة ذاتيا المقاييس وسجلات stdout وسجلات stderr. يمكن تكوين المقاييس المنبعثة بواسطة ConfigMap في نظام المجموعة الخاص بك. للحصول على معلومات حول المراقبة المتقدمة باستخدام APIM، راجع المراقبة المتقدمة.
حسابات إمكانية مراقبة البوابة المستضافة ذاتيا لنسبة استخدام الشبكة الخارجية (من الشمال إلى الجنوب) الواردة إلى مجموعتك، ولكنها لا توفر أي إمكانية مراقبة لنسبة استخدام الشبكة من الجراب إلى الجراب داخل مجموعتك (شرق-غرب).
مقاييس السحابة وسجلاتها: يتم إرسال المقاييس إلى Azure Monitor بشكل افتراضي. يتيح لك Log Analytics جمع وعرض سجلات حاوية البوابة المستضافة ذاتيا باستخدام Azure Monitor للحاويات. لمزيد من المعلومات، راجع تكوين المقاييس والسجلات المحلية للبوابة المستضافة ذاتيا لإدارة واجهة برمجة تطبيقات Azure.
المقاييس والسجلات المحلية: يمكن دمج المقاييس والسجلات من البوابة المستضافة ذاتيا مع أدوات المراقبة المحلية أو المنبعثة من Config Map. يمكن تكوين المقاييس للنشر إلى خوادم المقاييس. يتم إصدار سجلات البوابة بشكل افتراضي إلى stdout وstderr. لمزيد من المعلومات، راجع تكوين المقاييس والسجلات المحلية للبوابة المستضافة ذاتيا لإدارة واجهة برمجة تطبيقات Azure.
جدول مقارنة التكنولوجيا
يوضح الجدول التالي الاختلافات بين خيارات التنفيذ لمساعدتك في اختيار طريقة للحصول على إمكانية مراقبة الخدمات.
الإمكانية | شبكة الخدمة | مراقبة أداء التطبيق | بوابة واجهة برمجة التطبيقات المستضافة ذاتيا |
---|---|---|---|
East-West نسبة استخدام الشبكة المدعومة | نعم | نعم | لا |
إمكانية المقاييس | نعم | نعم | نعم |
إمكانية التسجيل | نعم | نعم | التنفيذ المخصص |
إمكانية التتبع الموزع | نعم | نعم | نعم |
طبقة التنفيذ | شبكة | التطبيقات | شبكة |
البروتوكولات المدعومة | http(s), tcp, gRPC | غير متوفر | http(s), websockets |
مسؤولية التكوين | عوامل تشغيل نظام المجموعة | مطورو التطبيقات | مشغلو نظام مجموعة مشغلي & التطبيقات |
تعقيد التكوين لقابلية الملاحظة | منخفضة | عالٍ | متوسطة |
توصيات التصميم
قم بتنفيذ Open Service Mesh للحصول على إمكانية الملاحظة في صحة خدماتك وأدائها. يستخدم Open Service Mesh وكلاء sidecar الذين تم حقنهم كحاوية منفصلة في نفس القرون مثل أحمال العمل الخاصة بك للحصول على بيانات تتبع الاستخدام. يعترض هؤلاء الوكلاء جميع حركة مرور HTTP الواردة والصادرة إلى أحمال العمل الخاصة بك والإبلاغ عن البيانات إلى Open Service Mesh. باستخدام هذا النظام، لا يحتاج مطورو الخدمة إلى وضع علامة على التعليمات البرمجية الخاصة بهم لجمع بيانات تتبع الاستخدام.
قم بتمكين Open Service Mesh باستخدام إمكانية ملحق مجموعة Kubernetes الممكنة في Azure Arc، والتي تسمح لشركة Microsoft بإدارة مستوى التحكم نيابة عنك. لمزيد من المعلومات، راجع توزيع شبكة الخدمة المفتوحة الممكنة في Azure Arc (معاينة).
لزيادة توفر التطبيقات والخدمات وأدائها، قم بتمكين Azure Monitor Container Insights. يوفر حلا شاملا لجمع وتحليل والعمل على بيانات تتبع الاستخدام من السحابة والبيئات المحلية. تتكامل شبكة الخدمة المفتوحة الممكنة في Azure Arc بشكل عميق مع Azure Monitor، مما يمنحك طريقة سلسة لعرض مؤشرات الأداء الرئيسية الهامة والاستجابة لها التي توفرها مقاييس OSM وسجلات حاوية التطبيق. يمكنك تمكين مقاييس OSM باتباع هذه الخطوات. للتتبع الموزع، نوصي ب Jaeger، والذي يمكن أن يتكامل مع مستوى تحكم OSM الخاص بك.
يوفر Open Service Mesh أيضا تكاملات موثقة لقابلية الملاحظة للمقاييس باستخدام Prometheus وGrafana، والتتبع باستخدام Jaeger، وإعادة توجيه السجل باستخدام Fluent Bit. توفر عمليات التكامل هذه خيارات بديلة إذا كنت لا تستخدم حلول مراقبة Azure. يمكنك استخدام عمليات التكامل هذه للتوسع إلى أدوات المراقبة الداخلية الأخرى حسب الحاجة.
كحد أدنى، يجب عليك تحديد مقاييس RED الثلاثة التالية وقياسها لجميع الخدمات:
- معدل الطلب: عدد الطلبات التي تتلقاها الخدمة في الثانية.
- اخطاء: عدد الطلبات الفاشلة أو معدل الطلبات الفاشلة في الثانية.
- مده: مقدار الوقت الذي تستغرقه الخدمة للتعامل مع الطلب.
يوفر Open Service Mesh العديد من مصنفات الخدمة التي تم تكوينها مسبقا في Azure Monitor حتى لا تضطر إلى إعداد لوحات المعلومات والمخططات يدويا. يتيح لك هذا القياس التفصيلي عن بعد مراقبة سلوك الخدمة وتمكينك من استكشاف أخطاء تطبيقاتك وصيانتها وتحسينها. يتيح لك استخدام مصنف مراقبة OSM في Azure Monitor ما يلي:
- احصل على نظرة عامة على جميع الخدمات في الشبكة الخاصة بك، واكتسب مقاييس مهمة على مستوى الخدمة لثلاث من الإشارات الذهبية الأربع للمراقبة: زمن الانتقال والطلبات والأخطاء.
- تحديد التنبيهات ومراجعتها وتعيينها مقابل أهداف مستوى الخدمة (SLOs)، والتي تلخص أداء الخدمة المرئي للمستخدم.
- اعرض المخططات القياسية للخدمات الفردية حتى تتمكن من تحليلها بعمق باستخدام التصفية والتصنيفات، وفرز البيانات حسب التعليمات البرمجية للاستجابة والبروتوكول والجراب الوجهة ومصدر نسبة استخدام الشبكة والمزيد.
استخدم المرئيات من واجهة مستخدم Jaeger من أجل:
- مراقبة تصور رسم تخطيطي يوضح الخدمات المصغرة التي تتواصل مع بعضها البعض، وأين تذهب الطلبات، والمدة التي تستغرقها.
- افحص بحثا عن طلبات واستجابات محددة لمعرفة كيفية حدوثها ومتى تحدث لمراقبة الأنظمة الموزعة واستكشاف الأخطاء وإصلاحها.
مراقبة الخدمات مجرد ضابط واحد من استراتيجية مراقبة السحابة الخاصة بك. لمزيد من المعلومات حول تخصصات الإدارة، راجع مجال التصميم الهام لتخصصات الإدارة.
الخطوات التالية
لمزيد من المعلومات حول رحلة السحابة المختلطة ومتعددة السحابات، راجع المقالات التالية:
- راجع المتطلبات الأساسية ل Kubernetes الممكنة في Azure Arc.
- راجع توزيعات Kubernetes التي تم التحقق من صحتها ل Kubernetes الممكنة في Azure Arc.
- تعرف على كيفية إدارة البيئات المختلطة ومتعددة السحابات.
- لمعرفة المزيد حول شبكة الخدمة المفتوحة الممكنة في Azure Arc، راجع:
- تعرف على كيفية تكوين المراقبة والمراقبة باستخدام شبكة الخدمة المفتوحة على خدمة Azure Kubernetes (AKS)
- تعرف على إدارة ومراقبة Kubernetes الممكنة في Azure Arc.
- تعرف على شبكات الخدمة.
- تجربة Kubernetes الممكنة في Azure Arc مع ملحق Open Service Mesh من Azure Arc Jumpstart.
- تعرف على المزيد حول Azure Arc عبر مسار التعلم Azure Arc.
- راجع الأسئلة المتداولة - تمكين Azure Arc للعثور على إجابات على الأسئلة الأكثر شيوعا.