استكشاف الأخطاء وإصلاحه في تطبيق البيانات الاصطناعية على أجهزة DevTest Labs الظاهرية

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

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

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

يمكنك استكشاف أخطاء تعطل البيانات الاصطناعية وإصلاحها من مدخل Microsoft Azure أو من الجهاز الظاهري حيث تعطلت البيانات الاصطناعية.

استكشاف أخطاء تعطل البيانات الاصطناعية وإصلاحها باستعمال مدخل Microsoft Azure

إذا لم تتمكن من تطبيق أداة على جهاز ظاهري، فتحقق أولا من العناصر التالية في مدخل Microsoft Azure:

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

استعمال أمر PowerShell

يمكنك أيضًا استعمال Azure PowerShell لتحديد ما إذا كان الجهاز الظاهري يمكنه تطبيق البيانات الاصطناعية. تحقق من العلامة canApplyArtifacts، التي يتم إرجاعها عند التوسع في العملية GET. على سبيل المثال:

Select-AzSubscription -SubscriptionId $SubscriptionId | Out-Null
$vm = Get-AzResource `
        -Name "$LabName/$VmName" `
        -ResourceGroupName $LabRgName `
        -ResourceType 'microsoft.devtestlab/labs/virtualmachines' `
        -ApiVersion '2018-10-15-preview' `
        -ODataQuery '$expand=Properties($expand=ComputeVm)'
$vm.Properties.canApplyArtifacts

التحقق من البيانات الاصطناعية المعطلة

يمكن أن تتوقف البيانات الاصطناعية عن الاستجابة، وأخيرًا تظهر على أنها معطلة. للتحقيق في البيانات الاصطناعية المعطلة:

  1. في صفحة نظرة عامة على المختبر، من القائمة ضمن أجهزتي الظاهرية، حدد الجهاز الظاهري الذي يحتوي على البيانات الاصطناعية التي تريد التحقق منها.

  2. في صفحة نظرة عامة على الجهاز الظاهري، حدد البيانات الاصطناعية في التنقل الأيمن. تسرد صفحة البيانات الاصطناعية البيانات الاصطناعية المقترنة بالجهاز الظاهري والحالة الخاصة بها.

    لقطة شاشة تعرض قائمة البيانات الاصطناعية وحالتها.

  3. حدد البيانات الاصطناعية التي تعرض الحالة متعطلة. يتم فتح البيانات الاصطناعية برسالة ملحق تتضمن تفاصيل حول تعطل البيانات الاصطناعية.

    لقطة شاشة لرسالة الخطأ الخاصة بأداة فاشلة.

التحقق من سجلات النشاط

لتثبيت البيانات الاصطناعية، يقوم DevTest Labs بإنشاء وتوزيع قالب Azure Resource Manager (ARM) الذي يطلب استعمال ملحق البرنامج النصي المخصص (CSE). يظهر خطأ في هذا المستوى في سجلات النشاط للاشتراك ومجموعة الموارد الخاصة بالجهاز الظاهري.

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

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

التحقيق في المستودع الخاص بالبيانات الاصطناعية الخاصة وحساب تخزين المختبر

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

اعتمادًا على التكوين، ربما لا يكون لدى الأجهزة الظاهرية للمختبر حق الوصول المباشر إلى مستودع البيانات الاصطناعية. تقوم DevTest Labs بتخزين البيانات الاصطناعية بطريقة مؤقتة في حساب تخزين مختبر يتم إنشاؤه عند تهيئة المختبر لأول مرة. في حالة تم حظر الوصول إلى حساب التخزين هذا، مثل عند حظر نسبة استخدام الشبكة من الجهاز الظاهري إلى خدمة Azure Storage، فقد ترى خطأ مشابهًا لما يلي:

CSE Error: Failed to download all specified files. Exiting. Exception: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.

يظهر هذا الخطأ في سجل النشاط لمجموعة الموارد الخاصة بالجهاز الظاهري.

لاستكشاف المشكلات المتعلقة بالاتصال بحساب Azure Storage وإصلاحها:

  • افحص مجموعات أمان الشبكة المضافة (NSG). في حالة تمت إضافة نهج اشتراك لتكوين NSG تلقائيًا في كافة الشبكات الظاهرية، فإنه سيؤثر على الشبكة الظاهرية المستخدمة لإنشاء الأجهزة الظاهرية للمختبر.

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

  • افحص حساب التخزين الافتراضي للمختبر. حساب التخزين الافتراضي هو أول حساب تخزين تم إنشاؤه عند إنشاء المختبر. يبدأ الاسم في الأغلب بالحرف «a» وينتهي برقم متعدد الأعداد، مثل <labname>#.

    1. انتقل إلى مجموعة الموارد الخاصة بالمختبر.
    2. حدد موقع مورد نوع حساب التخزين الذي يتطابق اسمه مع الاصطلاح.
    3. في صفحة نظرة عامة على حساب التخزين، حدد Networking في التنقل الأيسر.
    4. في علامة التبويب جدران الحماية والشبكات الظاهرية ، تأكد من تعيين الوصول إلى الشبكة العامة إلى ممكن من جميع الشبكات. أو، إذا تم تحديد الخيار ممكن من الشبكات الظاهرية المحددة وعناوين IP ، فتأكد من إضافة الشبكات الظاهرية للمختبر المستخدمة لإنشاء أجهزة ظاهرية إلى القائمة.

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

استكشاف تعطل البيانات الاصطناعية وإصلاحها من الجهاز الظاهري للمختبر

يمكنك الاتصال بالجهاز الظاهري للمختبر حيث تعطلت البيانات الاصطناعية، والتحقيق في المشكلة هناك.

فحص ملف سجل ملحق البرنامج النصي المخصص

  1. على الجهاز الظاهري للمختبر، انتقل إلى C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\*1.10.12*\Status\، حيث *1.10.12* هو رقم إصدار CSE.

    لقطة شاشة لمجلد الحالة على المختبر V M.

  2. افتح ملف الحالة وافحصه لكي يعرض الخطأ.

للحصول على إرشادات عن إيجاد ملفات السجل على الجهاز الظاهري لنظام Linux، راجع استخدام Azure Custom Script Extension الإصدار 2 مع أجهزة Linux الظاهرية.

فحص عامل الجهاز الظاهري

تأكد من تثبيت واستعداد Azure Virtual Machine Agent.

عند بدء تشغيل الجهاز الظاهري لأول مرة، أو عند تثبيت CSE لأول مرة لخدمة طلب تطبيق البيانات الاصطناعية، ربما يحتاج الجهاز الظاهري إما إلى ترقية عامل الجهاز الظاهري أو انتظار تهيئة عامل الجهاز الظاهري. ربما يعتمد عامل الجهاز الظاهري على الخدمات التي تستغرق وقتًا طويلاً للتهيئة. لمزيد من استكشاف الأخطاء وإصلاحها ، راجع نظرة عامة على Azure Virtual Machine Agent.

للتحقق مما إذا بدا أن البيانات الاصطناعية تتوقف عن الاستجابة نتيجة لعامل الجهاز الظاهري:

  1. على الجهاز الظاهري الخاص بالمختبر، انتقل إلى C:\WindowsAzure\logs.

  2. افتح ملف WaAppAgent.log.

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

    [00000006] [11/14/2019 05:52:13.44] [INFO]  WindowsAzureGuestAgent starting. Version 2.7.41491.949
    ...
    [00000006] [11/14/2019 05:52:31.77] [WARN]  Waiting for OOBE to Complete ...
    ...
    [00000006] [11/14/2019 06:02:30.43] [WARN]  Waiting for OOBE to Complete ...
    [00000006] [11/14/2019 06:02:33.43] [INFO]  StateExecutor initialization completed.
    [00000020] [11/14/2019 06:02:33.43] [HEART] WindowsAzureGuestAgent Heartbeat.
    

في المثال السابق، استغرق عامل الجهاز الظاهري 10 دقائق و20 ثانية للبدء. كان السبب هو أن خدمة OOBE تستغرق وقتًا طويلاً للبدء.

للحصول على المعلومات العامة حول ملحقات Azure، راجع ملحقات الجهاز الظاهري Azure وميزاته.

التحقيق في المشكلات المتعلقة بالبرنامج النصي

قد يتعطل تثبيت البيانات الاصطناعية بسبب الطريقة التي يتم بها تأليف البرنامج النصي لتثبيت البيانات الاصطناعية. على سبيل المثال:

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

  • يتطلب البرنامج النصي إدخال المستخدم باعتباره جزءًا من التنفيذ. يتعين أن تعمل البرامج النصية بصمت دون الحاجة إلى تدخل المستخدم.

لاستكشاف ما إذا كان البرنامج النصي يتسبب في ظهور البيانات الاصطناعية لإيقاف الاستجابة:

  1. انسخ البرنامج النصي إلى الجهاز الظاهري، أو حدد الموقع الخاص به على الجهاز الظاهري في موقع تنزيل البرنامج النصي للبيانات الاصطناعية، C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.10.12\Downloads.
  2. باستعمال موجه أوامر إداري، قم بتشغيل البرنامج النصي على الجهاز الظاهري، مع توفير نفس قيم المعلمة التي تسببت في المشكلة.
  3. حدد ما إذا كان البرنامج النصي يتسبب في أي سلوك غير مرغوب فيه. في حالة كان الأمر كذلك، فاطلب تحديثًا أو قم بتصحيح البرنامج النصي.

تلميح

يتوفر لك إرسال تصحيحات البرنامج النصي المقترحة للبيانات الاصطناعية المستضافة في المستودع العام لـ DevTest Labs. للحصول على مزيد من التفاصيل، راجع قسم المساهمات في مستند README .

ملاحظة

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

لمزيد من المعلومات حول كتابة البرامج النصية للبيانات الاصطناعية وتصحيحها، راجع التأليف.

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

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

  • يتوفر لك أيضًا التواصل مع خبراء Azure DevTest Labs في منتديات MSDN Azure وStack Overflow.
  • احصل على إجابات من خبراء Azure من خلال منتديات Azure.
  • تواصل مع @AzureSupport، حساب Microsoft Azure الرسمي لتحسين التجربة الخاصة بالعملاء. يقوم دعم Azure بربط مجتمع Azure بالإجابات والدعم والخبراء.
  • انتقل إلى موقع دعم Azure وحدد إرسال تذكرة دعم لتقديم حادث دعم Azure.