مراقبة التطبيق ل Azure App Service ASP.NET

تمكين المراقبة على ASP الخاص بك. أصبحت تطبيقات الويب المستندة إلى NET التي تعمل على Azure App Service أسهل الآن من أي وقت مضى. في السابق، كنت بحاجة إلى وضع علامة يدويا على تطبيقك. الآن تم تضمين أحدث ملحق/عامل في صورة App Service بشكل افتراضي. سترشدك هذه المقالة خلال تمكين مراقبة Azure Monitor Application Insights وتوفير إرشادات أولية لأتمتة عملية عمليات النشر واسعة النطاق.

إشعار

الإضافة اليدوية لملحق الموقع لـ Application Insights عبر ملحقات> أدوات التطوير تكون مُهملة. تعتمد هذه الطريقة لتثبيت المُلحق على التحديثات اليدوية لكل إصدار جديد. والآن، يُثبت أحدث إصدار مستقر من الملحق مسبقاً كجزء من صورة App Service. توجد الملفات في d:\Program Files (x86)\SiteExtensions\ApplicationInsightsAgent ويتم تحديثها تلقائيا مع كل إصدار ثابت. إذا اتبعت إرشادات الإنشاء التلقائي لتمكين المراقبة، فسيزيل الملحق المهمل تلقائيا نيابة عنك.

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

إشعار

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

تمكين مراقبة البنى التلقائية

للحصول على قائمة كاملة بسيناريوهات البنية التلقائية المدعومة، راجع البيئات واللغات وموفري الموارد المعتمدين.

إشعار

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

  1. حدد Application Insights في لوحة تحكم Azure لخدمة التطبيق. ثم حدد تمكين.

    لقطة شاشة تعرض علامة التبويب Application Insights مع تحديد تمكين.

  2. اختر إنشاء مورد جديد أو حدد موردا Insights للتطبيق لهذا التطبيق.

    إشعار

    عند تحديد موافق لإنشاء المورد الجديد، تتم مطالبتك بتحديد تطبيق إعدادات المراقبة. يؤدي تحديد متابعة إلى ربط مورد Application Insights الجديد بخدمة التطبيق. يؤدي القيام بذلك أيضا إلى إعادة تشغيل خدمة التطبيق.

    لقطة شاشة تعرض القائمة المنسدلة تغيير المورد.

  3. بعد تحديد المورد الذي يجب استخدامه، يمكنك اختيار الطريقة التي تريد أن يجمع بها Application Insights البيانات لكل نظام أساسي لتطبيقك. ASP.NET تكون مراقبة التطبيق قيد التشغيل بشكل افتراضي مع مستويين مختلفين من التجميع.

    لقطة شاشة تعرض صفحة ملحقات موقع Application Insights مع تحديد إنشاء مورد جديد.

    يلخص الجدول التالي البيانات التي تم جمعها لكل مسار.

    البيانات ASP.NET المجموعة الأساسية ASP.NET المجموعة الموصى بها
    إضافة اتجاهات استخدام لوحدة المعالجة المركزية والذاكرة والإدخال/الإخراج لا ‏‏نعم‬
    تجميع اتجاهات الاستخدام، وتمكين الارتباط مع المعاملات من نتائج التوفر ‏‏نعم‬ ‏‏نعم‬
    تجميع الاستثناءات غير المعالجة بواسطة عملية المضيف ‏‏نعم‬ ‏‏نعم‬
    تحسين دقة مقاييس APM تحت الحمل، استنادًا لأخذ العينات ‏‏نعم‬ ‏‏نعم‬
    ربط الخدمات الصغرى عبر حدود الطلب/التبعية لا (فقط قدرات APM ذات المثيل الواحد) ‏‏نعم‬
  4. لتكوين أخذ العينات، والذي يمكنك التحكم فيه مسبقا عبر ملف applicationinsights.config ، يمكنك الآن التفاعل معه عبر إعدادات التطبيق مع البادئة MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessorالمقابلة .

    • على سبيل المثال، لتغيير النسبة المئوية لأخذ العينات الأولية، يمكنك إنشاء إعداد تطبيق ل MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage وقيمة .100

    • لتعطيل أخذ العينات، عيِّن MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage إلى قيمة 100.

    • تتضمن الإعدادات المعتمدة:

      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_InitialSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MinSamplingPercentage
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_EvaluationInterval
      • MicrosoftAppInsights_AdaptiveSamplingTelemetryProcessor_MaxTelemetryItemsPerSecond
    • للحصول على قائمة بإعدادات وتعريفات معالج القياس عن بعد لأخذ العينات التكيفية المدعومة، راجع التعليمات البرمجية ووثائق أخذ العينات.

تمكين المراقبة من جانب العميل

المراقبة من جانب العميل هي اختيار ASP.NET. لتمكين المراقبة من جانب العميل:

  1. حدد الإعدادات> Configuration.

  2. ضمن إعدادات التطبيق، قم بإنشاء إعداد تطبيق جديد:

    • الاسم: أدخل APPINSIGHTS_JAVASCRIPT_ENABLED.
    • القيمة: أدخل true.
  3. احفظ الإعدادات ثم أعد تشغيل التطبيق.

لتعطيل المراقبة من جانب العميل، قم إما بإزالة زوج قيمة المفتاح المقترن من إعدادات التطبيق أو قم بتعيين القيمة إلى خطأ.

أتمتة المراقبة

لتمكين جمع بيانات تتبع الاستخدام باستخدام Application Insights، يجب تعيين إعدادات التطبيق فقط.

لقطة شاشة تعرض إعدادات تطبيق App Service مع إعدادات Application Insights.

تعريفات إعدادات التطبيق

اسم إعداد التطبيق التعريف القيمة‬
ApplicationInsightsAgent_EXTENSION_VERSION التمديد الرئيسي، الذي يتحكم في مراقبة وقت التشغيل. ~2
XDT_MicrosoftApplicationInsights_Mode في الوضع الافتراضي، يتم تمكين الميزات الأساسية فقط لضمان الأداء الأمثل. default أو recommended
InstrumentationEngine_EXTENSION_VERSION سيتم تشغيل عناصر تحكم InstrumentationEngineمحرك إعادة الكتابة الثنائي. هذا الإعداد له آثار على الأداء ويؤثر على وقت البدء/بدء التشغيل البارد. ~1
XDT_MicrosoftApplicationInsights_BaseExtensions يتحكم في ما إذا كان سيتم التقاط نص جدول SQL وAzure مع استدعاءات التبعية. تحذير الأداء: سيتأثر وقت بدء التشغيل البارد للتطبيق. يتطلب هذا الإعداد InstrumentationEngine. ~1

إعدادات تطبيق App Service باستخدام Azure Resource Manager

يمكن إدارة إعدادات التطبيق ل Azure App Service وتكوينها باستخدام قوالب Azure Resource Manager. يمكنك استخدام هذا الأسلوب عند نشر موارد App Service جديدة مع أتمتة Resource Manager أو تعديل إعدادات الموارد الموجودة.

البنية الأساسية لإعدادات التطبيق JSON لمورد App Service:

      "resources": [
        {
          "name": "appsettings",
          "type": "config",
          "apiVersion": "2015-08-01",
          "dependsOn": [
            "[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
          ],
          "tags": {
            "displayName": "Application Insights Settings"
          },
          "properties": {
            "key1": "value1",
            "key2": "value2"
          }
        }
      ]

للحصول على مثال لقالب Resource Manager مع إعدادات التطبيق المكونة ل Application Insights، يمكن أن يكون هذا القالب مفيدا. على وجه التحديد، راجع القسم الذي يبدأ في السطر 238.

لإنشاء قالب Resource Manager مع إعدادات Application Insights الافتراضية، ابدأ العملية كما لو كنت ستنشئ تطبيق ويب جديدا مع تمكين Application Insights.

  1. إنشاء مورد خدمات التطبيق الجديد بمعلومات تطبيق الويب المطلوبة. تمكين Application Insights في علامة التبويب Monitoring .

  2. حدد "Review + create". ثم حدد تنزيل قالب للأتمتة.

    لقطة شاشة تعرض قائمة إنشاء تطبيق ويب App Service.

    ينشئ هذا الخيار أحدث قالب Resource Manager مع تكوين جميع الإعدادات المطلوبة.

    لقطة شاشة تعرض قالب تطبيق ويب App Service.

في النموذج التالي، استبدل كافة مثيلات AppMonitoredSite باسم موقعك:

إشعار

إذا كنت تستخدم Windows، فقم بتعيين ApplicationInsightsAgent_EXTENSION_VERSION إلى ~2. إذا كنت تستخدم Linux، فقم بتعيين ApplicationInsightsAgent_EXTENSION_VERSION إلى ~3.

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').InstrumentationKey]"
                        },
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

تمكين من خلال PowerShell

لتمكين مراقبة التطبيق من خلال PowerShell، يجب تغيير إعدادات التطبيق الأساسية فقط. تمكن العينة التالية مراقبة التطبيق لموقع ويب يسمى AppMonitoredSite في مجموعة AppMonitoredRGالموارد . يقوم بتكوين البيانات لإرسالها إلى 012345678-abcd-ef01-2345-6789abcd مفتاح تقرير عن حالة النظام.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

إشعار

إذا كنت تستخدم Windows، فقم بتعيين ApplicationInsightsAgent_EXTENSION_VERSION إلى ~2. إذا كنت تستخدم Linux، فقم بتعيين ApplicationInsightsAgent_EXTENSION_VERSION إلى ~3.

$app = Get-AzWebApp -ResourceGroupName "AppMonitoredRG" -Name "AppMonitoredSite" -ErrorAction Stop
$newAppSettings = @{} # case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # preserve non Application Insights application settings.
$newAppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] = "012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights instrumentation key
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=012345678-abcd-ef01-2345-6789abcd"; # set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~2"; # enable the ApplicationInsightsAgent
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop

ترقية ملحق/عامل مراقبة: .NET

الترقية من الإصدارات 2.8.9 وما فوق

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

للتحقق من إصدار الملحق الذي تقوم بتشغيله، انتقل إلى https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

لقطة شاشة تعرض مسار URL للتحقق من إصدار الملحق الذي تقوم بتشغيله.

الترقية من الإصدارات 1.0.0 - 2.6.5

بدءا من الإصدار 2.8.9، يتم استخدام ملحق الموقع المثبت مسبقا. إذا كنت تستخدم إصدارا سابقا، يمكنك التحديث بإحدى طريقتين:

  • الترقية عن طريق التمكين عبر المدخل: حتى إذا كان لديك ملحق Application Insights ل App Service مثبتا. تعرض واجهة المستخدم الزر تمكين فقط. خلف الكواليس، ستتم إزالة ملحق الموقع الخاص القديم.

  • الترقية من خلال PowerShell:

    1. قم بتعيين إعدادات التطبيق لتمكين ملحق ApplicationInsightsAgentالموقع المثبت مسبقا . لمزيد من المعلومات، راجع تمكين من خلال PowerShell.
    2. قم بإزالة ملحق الموقع الخاص المسمى ملحق Application Insights ل App Service يدويا.

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

استكشاف الأخطاء وإصلاحها

إشعار

عند إنشاء تطبيق ويب مع ASP.NET أوقات التشغيل في App Service، فإنه ينشر صفحة HTML ثابتة واحدة كمنشئ موقع ويب. لا نوصي باستكشاف مشكلة في قالب افتراضي وإصلاحها. نشر تطبيق قبل استكشاف مشكلة وإصلاحها.

فيما يلي دليل استكشاف الأخطاء وإصلاحها خطوة بخطوة للمراقبة المستندة إلى الامتداد/العامل ل ASP. التطبيقات المستندة إلى NET التي تعمل على App Service.

  1. ApplicationInsightsAgent_EXTENSION_VERSION تحقق من تعيين إعداد التطبيق إلى قيمة ~2.

  2. استعرض إلى https://yoursitename.scm.azurewebsites.net/ApplicationInsights.

    لقطة شاشة تعرض صفحة نتائج الارتباط السابق.

    • تأكد من أن Application Insights Extension Status و Pre-Installed Site Extension, version 2.8.x.xxxx قيد التشغيل.

      إذا لم يكن قيد التشغيل، فاتبع الإرشادات لتمكين مراقبة Application Insights.

    • تأكد من وجود مصدر الحالة ويبدو مثل Status source D:\home\LogFiles\ApplicationInsights\status\status_RD0003FF0317B6_4248_1.json.

      إذا لم تكن هناك قيمة مشابهة، فهذا يعني أن التطبيق ليس قيد التشغيل حالياً أو غير معتمد. للتأكد من تشغيل التطبيق، حاول زيارة نقاط نهاية عنوان URL/التطبيق يدويا، والتي ستسمح بتوفير معلومات وقت التشغيل.

    • تأكد من أن IKeyExists هو true. إذا لم يكن الأمر كما هو، أضف APPINSIGHTS_INSTRUMENTATIONKEY و APPLICATIONINSIGHTS_CONNECTION_STRING باستخدام GUID لمفتاح تقرير عن حالة النظام إلى إعدادات التطبيق الخاص بك.

    • تأكد من عدم وجود إدخالات لـ AppAlreadyInstrumented وAppContainsDiagnosticSourceAssembly وAppContainsAspNetTelemetryCorrelationAssembly.

      إذا كان أي من هذه الإدخالات موجودة، قم بإزالة الحزم التالية من تطبيقك: Microsoft.ApplicationInsights وSystem.Diagnostics.DiagnosticSource وMicrosoft.AspNet.TelemetryCorrelation.

لا يدعم موقع الويب الافتراضي المنشور مع تطبيقات الويب المراقبة التلقائية من جانب العميل

عند إنشاء تطبيق ويب مع ASP.NET أوقات التشغيل في App Service، فإنه ينشر صفحة HTML ثابتة واحدة كمنشئ موقع ويب. تقوم صفحة الويب الثابتة أيضا بتحميل ASP. جزء ويب مدار بواسطة NET في IIS. تسمح هذه الصفحة باختبار المراقبة من جانب الخادم بدون تعليمات برمجية ولكنها لا تدعم المراقبة التلقائية من جانب العميل.

إذا كنت ترغب في اختبار الخادم بدون تعليمات برمجية والمراقبة من جانب العميل ASP.NET في تطبيق ويب App Service، نوصي باتباع الدلائل الرسمية لإنشاء تطبيق ويب ASP.NET Framework. ثم استخدم الإرشادات الموجودة في المقالة الحالية لتمكين المراقبة.

APPINSIGHTS_JAVASCRIPT_ENABLED وurlCompression غير مدعومين

إذا كنت تستخدم APPINSIGHTS_JAVASCRIPT_ENABLED=true في الحالات التي يتم فيها ترميز المحتوى، فقد تحصل على أخطاء مثل:

  • خطأ في إعادة كتابة عنوان URL 500.
  • 500.53 خطأ الوحدة النمطية لإعادة كتابة عنوان URL مع الرسالة "لا يمكن تطبيق قواعد إعادة الكتابة الصادرة عند ترميز محتوى استجابة HTTP ('gzip')."

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

للحصول على أحدث المعلومات حول وكيل/ملحق Application Insights، راجع ملاحظات الإصدار.

ما الفرق بين المقاييس القياسية من Application Insights مقابل مقاييس Azure App Service؟

تجمع Application Insights بيانات تتبع الاستخدام للطلبات التي قدمتها إلى التطبيق. إذا حدث الفشل في WebApps/WebServer، ولم يصل الطلب إلى تطبيق المستخدم، فلن يكون لدى Application Insights أي بيانات تتبع الاستخدام عنه.

لا تتطابق مدة serverresponsetime الحساب بواسطة Application Insights بالضرورة مع وقت استجابة الخادم الذي لاحظته تطبيقات الويب. هذا السلوك لأن Application Insights تحسب المدة فقط عندما يصل الطلب فعليا إلى تطبيق المستخدم. إذا كان الطلب عالقا أو في قائمة الانتظار في WebServer، يتم تضمين وقت الانتظار في مقاييس Web Apps ولكن ليس في مقاييس Application Insights.

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

ترسل Application Insights SDKs والوكلاء بيانات تتبع الاستخدام للحصول على استيعابها كمكالمات REST إلى نقاط نهاية الاستيعاب الخاصة بنا. يمكنك اختبار الاتصال من خادم الويب أو الجهاز المضيف للتطبيق إلى نقاط نهاية خدمة الاستيعاب باستخدام عملاء REST الخام من أوامر PowerShell أو curl. راجع استكشاف أخطاء بيانات تتبع استخدام التطبيق المفقودة وإصلاحها في Azure Monitor Application Insights.

PHP وWordPress غير مدعومين

PHP ومواقع WordPress غير مدعومتين. لا يوجد حالياً أي SDK / وكيل معتمد رسميًا لمراقبة جانب الخادم لأحمال العمل هذه. يمكنك أداة المعاملات من جانب العميل يدويا على موقع PHP أو WordPress عن طريق إضافة JavaScript من جانب العميل إلى صفحات الويب الخاصة بك باستخدام JavaScript SDK.

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

قيمة المشكلة الشرح Fix
AppAlreadyInstrumented:true تشير هذه القيمة إلى أن الملحق اكتشف أن بعض جوانب SDK موجودة بالفعل في التطبيق وسيتم التراجع عنها. يمكن أن يكون بسبب مرجع إلى System.Diagnostics.DiagnosticSourceأو Microsoft.AspNet.TelemetryCorrelationأو Microsoft.ApplicationInsights. إزالة المراجع. تتم إضافة بعض هذه المراجع بشكل افتراضي من قوالب Visual Studio معينة. قد تضيف الإصدارات القديمة من Visual Studio مراجع إلى Microsoft.ApplicationInsights.
AppAlreadyInstrumented:true يمكن أن تكون هذه القيمة أيضا بسبب وجود DLLs السابقة في مجلد التطبيق من عملية نشر سابقة. قم بتنظيف مجلد التطبيق للتأكد من إزالة DLLs هذه. تحقق من كل من دليل سلة التطبيق المحلي ودليل wwwroot على مورد App Service. للتحقق من دليل wwwroot لتطبيق ويب App Service، حدد Advanced Tools (Kudu)>Debug console>CMD>home\site\wwwroot.
AppContainsAspNetTelemetryCorrelationAssembly: true تشير هذه القيمة إلى أن الملحق اكتشف مراجع إلى Microsoft.AspNet.TelemetryCorrelation في التطبيق وسيتم التراجع عنه. قم بإزالة المرجع.
AppContainsDiagnosticSourceAssembly**:true تشير هذه القيمة إلى أن الملحق اكتشف مراجع إلى System.Diagnostics.DiagnosticSource في التطبيق وسيتم التراجع عنه. على سبيل ASP.NET، قم بإزالة المرجع.
IKeyExists:false تشير هذه القيمة إلى أن مفتاح الأجهزة غير موجود في إعداد APPINSIGHTS_INSTRUMENTATIONKEYالتطبيق . قد تكون الأسباب المحتملة هي إزالة القيم عن طريق الخطأ، أو نسيت تعيين القيم في البرنامج النصي التلقائي. تأكد من وجود الإعداد في إعدادات تطبيق خدمة التطبيقات.

System.IO.FileNotFoundException بعد الترقية 2.8.44

يقوم الإصدار 2.8.44 من التثبيت التلقائي بترقية Application Insights SDK إلى 2.20.0. يحتوي Application Insights SDK على مرجع غير مباشر إلى System.Runtime.CompilerServices.Unsafe.dll من خلال System.Diagnostics.DiagnosticSource.dll. إذا كان التطبيق يحتوي على إعادة توجيه ربط ل System.Runtime.CompilerServices.Unsafe.dll وإذا لم تكن هذه المكتبة موجودة في مجلد التطبيق، فقد يطرح System.IO.FileNotFoundException.

لحل هذه المشكلة، قم بإزالة إدخال إعادة توجيه الربط من System.Runtime.CompilerServices.Unsafe.dll ملف web.config. إذا أراد التطبيق استخدام System.Runtime.CompilerServices.Unsafe.dll، فقم بتعيين إعادة توجيه الربط كما هو موضح هنا:

<dependentAssembly>
	<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
	<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
</dependentAssembly>

كحل مؤقت، يمكنك تعيين إعداد ApplicationInsightsAgent_EXTENSION_VERSION التطبيق إلى قيمة 2.8.37. سيؤدي هذا الإعداد إلى تشغيل App Service لاستخدام ملحق Application Insights القديم. وينبغي ألا تستخدم عوامل التخفيف المؤقتة إلا كعملية مؤقتة.

ملاحظات الإصدار

للحصول على آخر التحديثات وإصلاحات الأخطاء، راجع ملاحظات الإصدار.

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