تمكين Snapshot Debugger لتطبيقات NET. في Azure App Service

يدعم Snapshot Debugger حالياً تطبيقات ASPNET. وASPNET. Core التي تعمل على Azure App Service على خطط خدمة Windows.

إشعار

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

تمكين Snapshot Debugger

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

إشعار

إذا كنت تستخدم إصدار معاينة من NET. Core، أو يشير تطبيقك إلى Application Insights SDK، (بشكل مباشر أو غير مباشر عبر مجموعة تابعة)، فاتبع الإرشادات الخاصة بتمكين Snapshot Debugger للبيئات الأخرى لتضمين Microsoft.ApplicationInsights.SnapshotCollector حزمة NuGet مع التطبيق.

إشعار

التثبيت غير المشفر لـ Application Insights Snapshot Debugger يتبع نهج دعم .NET Core. للحصول على مزيدٍ من المعلومات حول أوقات التشغيل المعتمدة، راجع نهج دعم .NET Core.

بعد توزيع تطبيق .NET:

  1. انتقل إلى لوحة تحكم Azure لـ App Service.

  2. انتقل إلى صفحة الإعدادات>Application Insights.

    Screenshot showing the Enable App Insights on App Services portal.

  3. اتبع التعليمات الموجودة على الصفحة لإنشاء مورد جديد أو حدد مورد App Insights موجود لمراقبة تطبيقك.

  4. تبديل Snapshot Debugger إلى تشغيل.

    Screenshot showing how to add App Insights site extension.

  5. تم تمكين Snapshot Debugger الآن باستخدام إعداد تطبيق خدمات التطبيقات.

    Screenshot showing App Setting for Snapshot Debugger.

إذا كنت تقوم بتشغيل نوع مختلف من خدمة Azure، فإليك إرشادات لتمكين Snapshot Debugger على الأنظمة الأساسية المدعومة الأخرى:

تفعيل Snapshot Debugger للسحابات الأخرى

حاليا المناطق الوحيدة التي تتطلب تعديلات نقطة النهاية هي Azure Government وMicrosoft Azure التي يتم تشغيلها بواسطة 21Vianet من خلال Application Insights الاتصال String.

خاصية سلسلة الاتصال US Government Cloud سحابة الصين
SnapshotEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

لمزيدٍ من المعلومات حول تجاوزات الاتصال الأخرى، راجع وثائق Application Insights.

تمكين مصادقة Microsoft Entra لاستيعاب اللقطة

يدعم Application Insights Snapshot Debugger مصادقة Microsoft Entra لاستيعاب اللقطة. هذا يعني أنه حتى يتم استيعاب جميع لقطات تطبيقك، يجب مصادقة التطبيق الخاص بك وتقديم إعدادات التطبيق المطلوبة إلى وكيل مصحح الأخطاء Snapshot Debugger.

اعتبارا من اليوم، يدعم Snapshot Debugger مصادقة Microsoft Entra فقط عند الإشارة إلى معرف Microsoft Entra وتكوينه باستخدام Application Insights SDK في التطبيق الخاص بك.

لتشغيل معرف Microsoft Entra لاستيعاب اللقطة:

  1. قم بإنشاء وإضافة الهوية المُدارة التي تريد استخدامها للمصادقة مقابل مورد Application Insights الخاص بك إلى خدمة التطبيقات الخاصة بك.

    1. وللتعرف على الهوية المُدارة من قبل النظام، راجع الوثائق التالية.

    2. وللتعرف على الهوية المُدارة من قبل المستخدم، راجع الوثائق التالية.

  2. تكوين معرف Microsoft Entra وتشغيله في مورد Application Insights. ولمزيدٍ من المعلومات، راجع الوثائق التالية

  3. ثم أضف إعداد التطبيق التالي، المستخدم للسماح لعامل Snapshot Debugger بمعرفة الهوية المُدارة التي يجب استخدامها:

للهوية المعينة من النظام:

إعداد التطبيق القيمة‬
APPLICATIONINSIGHTS_AUTHENTICATION_STRING التخويل = AD

للهوية المعينة من المستخدم:

إعداد التطبيق القيمة‬
APPLICATIONINSIGHTS_AUTHENTICATION_STRING التخويل =AD؛ معرف العميل={معرف العميل للهوية المعينة من قبل المستخدم}

تعطيل Snapshot Debugger

لتعطيل Snapshot Debugger، كرر خطوات التمكين. ومع ذلك، قم بتبديل Snapshot Debugger إلى إيقاف التشغيل.

قالب Azure Resource Manager

بالنسبة إلى خدمة تطبيقات Azure، يمكنك تعيين إعدادات التطبيق داخل قالب Azure Resource Manager لتمكين Snapshot Debugger وProfiler. على سبيل المثال:

{
  "apiVersion": "2015-08-01",
  "name": "[parameters('webSiteName')]",
  "type": "Microsoft.Web/sites",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[variables('hostingPlanName')]"
  ],
  "tags": { 
    "[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName')))]": "empty",
    "displayName": "Website"
  },
  "properties": {
    "name": "[parameters('webSiteName')]",
    "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]"
  },
  "resources": [
    {
      "apiVersion": "2015-08-01",
      "name": "appsettings",
      "type": "config",
      "dependsOn": [
        "[parameters('webSiteName')]",
        "[concat('AppInsights', parameters('webSiteName'))]"
      ],
      "properties": {
        "APPINSIGHTS_INSTRUMENTATIONKEY": "[reference(resourceId('Microsoft.Insights/components', concat('AppInsights', parameters('webSiteName'))), '2014-04-01').InstrumentationKey]",
        "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0",
        "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0",
        "DiagnosticServices_EXTENSION_VERSION": "~3",
        "ApplicationInsightsAgent_EXTENSION_VERSION": "~2"
      }
    }
  ]
},

السيناريوهات غير المدعومة

يمكنك العثور أدناه على سيناريوهات حيث لا يتم دعم أداة تجميع اللقطات:

السيناريو التأثيرات الجانبية التوصية
عند استخدام عدة تطوير البرامج لأداة تجميع اللقطات في تطبيقك مباشرةً (.csproj) وقمت بتمكين الخيار المتقدم "التوافق". سيتم فقدان عدة تطوير البرامج Application Insights المحلية (بما في ذلك بيانات تتبع الاستخدام لأداة تجميع اللقطات)، لن تتوفر أي لقطات.
قد يتعطل تطبيقك عند بدء التشغيل باستخدام System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor.
تعرف على المزيد حول ميزة Application Insights "التوافق".
إذا كنت تستخدم الخيار المتقدم "التوافق"، فاستخدم إضافة أداة تجميع اللقطات بدون تعليمات برمجية (ممكّن من خلال مدخل Azure).

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

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