مشاركة عبر


البرنامج التعليمي: استكشاف أخطاء تطبيق App Service وإصلاحها باستخدام Azure SRE Agent Preview

Note

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

تركز هندسة موثوقية الموقع (SRE) على إنشاء أنظمة موثوقة وقابلة للتطوير من خلال الأتمتة والإدارة الاستباقية. يجلب Azure SRE Agent هذه المبادئ إلى بيئة السحابة الخاصة بك من خلال توفير إمكانات المراقبة واستكشاف الأخطاء وإصلاحها ومعالجتها الذكاء الاصطناعي مدعومة.

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

يوضح نموذج التطبيق في هذا البرنامج التعليمي اكتشاف الأخطاء عن طريق محاكاة حالات فشل HTTP 500 بطريقة خاضعة للرقابة. يمكنك اختبار هذه السيناريوهات بأمان باستخدام فتحات توزيع Azure App Service لتشغيل تكوينات التطبيقات المختلفة جنبا إلى جنب.

يمكنك تمكين محاكاة الأخطاء عن طريق تعيين إعداد تطبيق INJECT_ERROR إلى 1. عند تمكين هذا الإعداد، يطرح التطبيق خطأ HTTP 500 بعد تحديد الزر عدة مرات. يمكنك بعد ذلك معرفة كيفية استجابة عامل SRE لفشل التطبيق.

في هذا البرنامج التعليمي، سوف تتعلّم:

  • قم بإنشاء تطبيق App Service باستخدام مدخل Microsoft Azure.
  • نشر نموذج تطبيق من GitHub.
  • قم بتكوين التطبيق باستخدام أمر بدء التشغيل وتمكين التسجيل.
  • إنشاء فتحة توزيع لمحاكاة الفشل.
  • قم بإعداد وكيل لمراقبة التطبيق.
  • تشغيل فشل عن طريق التبديل إلى الفتحة المقطوعة.
  • استخدم دردشة تعتمد على الذكاء الاصطناعي لتشخيص المشكلة وحلها عن طريق التراجع عن المقايضة.

Prerequisites

لإنشاء وكيل، تحتاج إلى منح وكيلك الأذونات الصحيحة، وتكوين الإعدادات الصحيحة، ومنح حق الوصول إلى الموارد الصحيحة:

  • حساب Azure: أنت بحاجة إلى حساب Azure باشتراك نشط. إذا لم يكن لديك حساب بالفعل، يمكنك إنشاء حساب مجانا.

  • سياق الأمان: تأكد من أن حساب المستخدم الخاص بك لديه Microsoft.Authorization/roleAssignments/write الأذونات إما كمسؤول التحكم في الوصول المستند إلى الدور أو مسؤول وصول المستخدم.

  • إعدادات جدار الحماية: أضف *.azuresre.ai إلى القائمة المسموح بها في إعدادات جدار الحماية. قد تحظر بعض ملفات تعريف الشبكات الوصول إلى *.azuresre.ai النطاق تلقائيا.

1. إنشاء تطبيق App Service

ابدأ بإنشاء تطبيق ويب يمكن لوكيل SRE مراقبته:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في شريط البحث، ابحث عن App Services، ثم حدده في النتائج.

  3. حدد + إنشاء>تطبيق ويب.

  4. في علامة التبويب الأساسيات ، قم بتوفير التفاصيل التالية.

    للحصول على تفاصيل المشروع، أدخل هذه القيم:

    Setting Value
    اشتراك اشتراكك في Azure
    مجموعة الموارد إنشاء جديد>مجموعة خدمة التطبيق الخاص بي

    للحصول على تفاصيل المثيل، أدخل القيم التالية:

    Setting Value
    الاسم تطبيق MY-SRE
    نشر Code
    مكدس وقت التشغيل .NET 9 (STS)
    نظام التشغيل Windows
    المنطقة منطقة قريبة منك
  5. حدد علامة التبويب Deployment .

  6. ضمن إعدادات المصادقة، قم بتمكين المصادقة الأساسية.

    Note

    يتم استخدام المصادقة الأساسية لاحقا لنشر لمرة واحدة من GitHub. تعطيل المصادقة الأساسية في الإنتاج.

  7. حدد مراجعة وإنشاء، ثم حدد إنشاء عند اجتياز التحقق من الصحة.

    عند انتهاء النشر، تظهر رسالة اكتمال النشر .

2. نشر نموذج التطبيق

الآن بعد إنشاء تطبيق App Service، انشر نموذج التطبيق من GitHub:

  1. في مدخل Microsoft Azure، انتقل إلى تطبيق App Service الذي تم إنشاؤه حديثا عن طريق تحديد الانتقال إلى المورد.

  2. في القائمة اليمنى، في قسم النشر ، حدد مركز النشر.

  3. في علامة التبويب الإعدادات ، قم بتكوين هذه القيم:

    Property Value
    مصدر البوابة الخارجية
    مستودع https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    الفرع رئيسي
  4. حدد حفظ لتطبيق إعدادات النشر.

3. تحقق من نموذج التطبيق

بعد النشر، تأكد من تشغيل نموذج التطبيق كما هو متوقع:

  1. في القائمة اليمنى لتطبيق App Service، حدد نظرة عامة.

  2. حدد استعراض لفتح التطبيق في علامة تبويب مستعرض جديدة. (قد يستغرق التحميل دقيقة.)

  3. يعرض التطبيق عداد كبير وزرين.

    لقطة شاشة لعينة .NET في الفتحة الأساسية.

    حدد زر الزيادة عدة مرات لمراقبة زيادة العداد.

4. إعداد فتحة توزيع لمحاكاة الفشل

لمحاكاة سيناريو فشل التطبيق، أضف فتحة توزيع ثانوية:

  1. في القائمة اليمنى لتطبيق App Service، في قسم النشر ، حدد فتحات النشر.

  2. حدد إضافة فتحة.

  3. أدخل القيم التالية:

    Property Value Remarks
    الاسم مكسور يتم تشغيل سيناريو الخطأ في هذه الفتحة.
    استنساخ الإعدادات من تطبيق MY-SRE تقوم هذه الخاصية بنسخ التكوين من التطبيق الرئيسي.
  4. قم بالتمرير إلى أسفل الجزء وحدد إضافة. قد يستغرق إنشاء الفتحة دقيقة لإكمالها.

نشر نموذج التطبيق إلى الفتحة

  1. بعد إنشاء الفتحة، حدد الفتحة المعطلة في القائمة.

  2. في القائمة اليمنى، في قسم النشر ، حدد مركز النشر.

  3. في علامة التبويب الإعدادات ، قم بتكوين هذه القيم:

    Property Value
    مصدر البوابة الخارجية
    مستودع https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    الفرع رئيسي
  4. حدد حفظ لتطبيق إعدادات النشر.

إضافة إعداد تطبيق لتمكين محاكاة الخطأ

للتحكم في محاكاة الأخطاء، قم بتكوين إعداد تطبيق يتحقق منه تطبيقك في وقت التشغيل:

  1. في القائمة اليمنى لتطبيق App Service، في قسم الإعدادات ، حدد متغيرات البيئة.

  2. في الجزء العلوي ، تأكد من تحديد الفتحة الصحيحة (على سبيل المثال ، مكسورة).

  3. في علامة التبويب إعدادات التطبيق ، حدد + إضافة.

  4. أدخل القيم التالية:

    Property Value Remarks
    الاسم INJECT_ERROR يجب أن تكون INJECT_ERROR بالضبط (جميع الأحرف الكبيرة ، بدون مسافات)
    قيمة 1 تمكين محاكاة الأخطاء في التطبيق
  5. تأكد من عدم تحديد مربع إعداد فتحة النشر.

  6. حدد تطبيق لإضافة الإعداد.

  7. في الجزء السفلي من صفحة متغيرات البيئة ، حدد تطبيق لتطبيق التغييرات.

  8. عندما يطلب منك ذلك، حدد تأكيد لتأكيد التطبيق وإعادة تشغيله في الفتحة المحددة.

5. إنشاء وكيل

الآن، قم بإنشاء وكيل لمراقبة تطبيق App Service الخاص بك:

  1. اتبع الارتباط الموجود في البريد الإلكتروني للإلحاق للوصول إلى عامل SRE في مدخل Microsoft Azure.

  2. حدد + Create.

  3. في جزء إنشاء وكيل ، أدخل هذه القيم:

    Property Value Remarks
    اشتراك اشتراكك في Azure
    مجموعة الموارد مجموعة وكلاء SRE الخاصة بي مجموعة جديدة للوكيل.
    الاسم وكيل MY SRE
    المنطقة شرق الولايات المتحدة 2
  4. اختر تحديد مجموعات الموارد.

  5. في جزء مجموعات الموارد المحددة المطلوب مراقبتها ، حدد خانة الاختيار الموجودة بجوار my-app-service-group.

  6. حدد حفظ..

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

6. الدردشة مع وكيلك

بعد نشر الوكيل الخاص بك وتوصيله بمجموعة الموارد الخاصة بك، يمكنك التفاعل معه باستخدام اللغة الطبيعية لمراقبة تطبيقك واستكشاف الأخطاء وإصلاحها:

  1. في مدخل Microsoft Azure، ابحث عن Azure SRE Agent وحدده.

  2. في قائمة الوكلاء، حدد my-app-service-sre-agent.

  3. حدد الدردشة مع الوكيل.

  4. في مربع الدردشة، أدخل الأمر التالي:

    List my App Service apps
    
  5. يستجيب العامل بقائمة بتطبيقات App Service المنشورة في مجموعة موارد my-app-service-group .

الآن بعد أن تمكن الوكيل من رؤية تطبيقك، فأنت جاهز لمحاكاة الفشل والسماح للوكيل بمساعدتك في حله.

7. قطع التطبيق

محاكاة سيناريو الفشل عن طريق التبديل إلى فتحة التوزيع المعطلة:

  1. في القائمة اليمنى لتطبيق App Service، في قسم النشر ، حدد فتحات النشر.

  2. حدد مبادلة.

  3. في جزء المبادلة ، قم بتكوين هذه القيم:

    Property Value Remarks
    مصدر تطبيق MY-SRE-مكسور الفتحة ذات الإصدار الخاطئ
    هدف تطبيق MY-SRE فتحة الإنتاج
  4. قم بالتمرير إلى أسفل وحدد بدء المبادلة. قد تستغرق عملية التبديل دقيقة لإكمالها.

  5. بعد اكتمال المبادلة، استعرض وصولا إلى عنوان URL للتطبيق.

    لقطة شاشة لعينة .NET في الفتحة المقطوعة.

  6. حدد زر الزيادة ست مرات.

  7. يجب أن يفشل التطبيق ويعرض خطأ HTTP 500.

  8. قم بتحديث الصفحة (بالضغط على Command + R أو F5) عدة مرات لإنشاء المزيد من أخطاء HTTP 500. تساعد هذه الأخطاء عامل SRE في اكتشاف المشكلة وتشخيصها.

8. إصلاح التطبيق

الآن بعد أن واجه التطبيق حالات فشل ، استخدم عامل SRE لتشخيص المشكلة وحلها:

  1. في مدخل Microsoft Azure، ابحث عن Azure SRE Agent وحدده.

  2. في قائمة الوكلاء، حدد my-app-service-sre-agent.

  3. حدد الدردشة مع الوكيل.

  4. في مربع الدردشة، أدخل الأمر التالي:

    What's wrong with my-sre-app?
    
  5. يبدأ الوكيل في تحليل صحة التطبيق. يجب أن تشاهد رسائل تشخيصية تتعلق بالتوفر واستخدام وحدة المعالجة المركزية والذاكرة ومبادلة الفتحة الأخيرة.

    يمكن أن تختلف كل جلسة، ولكن يجب أن تظهر رسالة مشابهة للمثال التالي:

    سأقوم الآن بإجراء تخفيف لتطبيق my-sre عن طريق تبديل الفتحات مرة أخرى لاستعادة التطبيق إلى حالة صحية. يرجى ملاحظة أن تبديل الفتحات مرة أخرى قد لا يؤدي دائما إلى استعادة الصحة على الفور. سأبقيك على اطلاع دائم بالتقدم المحرز.

  6. بعد الإيقاف المؤقت، يطالبك العامل بالموافقة على العودة إلى الحالة السابقة:

    تنفيذ العودة إلى الحالة السابقة لمبادلة الفتحات لاستعادة توفر التطبيق لتطبيقي

    [Approve][Deny]

  7. حدد موافقة لبدء التراجع.

  8. بعد اكتمال التراجع، يؤكد الوكيل:

    تم إكمال تبديل الفتحة لتطبيق my-sre بنجاح (الطابع الزمني). تمت استعادة فتحة الإنتاج. سأواصل الآن خطوات ما بعد التخفيف:

    سأطلب منك عنوان URL الصحيح ل GitHub repo لطرح مشكلة في وقت التعطل المرتبط بالتبديل.سأراقب التطبيق وأقدم تحديثا للتوفر في غضون 5 دقائق.

    يرجى توفير عنوان URL لمستودع GitHub حيث تريد إثارة المشكلة.

9. تحقق من الإصلاح

بعد أن يقوم SRE Agent بإعادة تبديل الفتحات، تأكد من أن تطبيقك يعمل بشكل صحيح:

  1. افتح تطبيق App Service في مستعرض عن طريق تحديد استعراض في صفحة نظرة عامة .

  2. لاحظ أن النص ERROR INJECTION ENABLED لم يعد يظهر، مما يؤكد أن التطبيق عاد إلى حالته الأصلية.

  3. حدد زر الزيادة ست مرات للتأكد من عدم ظهور أي أخطاء.

تنظيف الموارد

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

قمت بإنشاء مجموعات الموارد التالية في هذا البرنامج التعليمي:

  • my-app-service-group (مجموعة موارد App Service)
  • my-sre-agent-group (مجموعة موارد عامل SRE)

استخدم الخطوات التالية لكل مجموعة موارد:

  1. في مدخل Microsoft Azure، انتقل إلى مجموعات الموارد.

  2. حدد مجموعة الموارد التي تريد حذفها.

  3. في علامة التبويب نظرة عامة ، حدد حذف مجموعة الموارد.

  4. في مربع حوار التأكيد، أدخل اسم مجموعة الموارد.

  5. حدد حذف. يستغرق الحذف بضع دقائق حتى يكتمل.