نظرة عامة على مراقبة التطبيق لـ Azure App Service

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

تمكين "Application Insights"

هناك طريقتان لتمكين مراقبة التطبيقات لتطبيقات App Services المستضافة:

  • مراقبة تطبيق Autoinstrumentation (ApplicationInsightsAgent).

    هذا الأسلوب هو الأسهل للتمكين، ولا يتطلب تغيير التعليمة البرمجي أو التكوينات المتقدمة. وغالبًا ما يشار إليه باسم مراقبة "runtime". بالنسبة لـ App Service، نوصي بتمكين هذا المستوى من المراقبة كحد أدنى. استناداً إلى السيناريو المحدد الخاص بك، يمكنك تقييم ما إذا كان هناك حاجة إلى مراقبة أكثر تقدمًا من خلال الأجهزة اليدوية.

    عند تمكين تقرير عن حالة النظام التلقائي، فإنه يمكن Application Insights بإعداد افتراضي (يتضمن أخذ العينات أيضا). حتى إذا قمت بتعيين في Azure AppInsights: أخذ العينات: سيتم تجاهل جميع البيانات 100٪ هذا الإعداد.

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

    يتم دعم الأنظمة الأساسية التالية لمراقبة البنية التلقائية:

  • وضع علامة يدويا على التطبيق من خلال التعليمات البرمجيةعن طريق تثبيت Application Insights SDK.

    هذا المنهج أكثر تخصيصًا، لكنه يتطلب النهج التالية : SDK لـ.NET Core و.NET وNode.js وبيثون وعامل مستقل لجافا. يُعنى هذا الأسلوب، أيضًا أنه يجب عليك إدارة أحدث إصدارات الحزم بنفسك.

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

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

إشعار

مصحح أخطاء النسخ المكررة ومحلل ملفات التعريف متوفران فقط في .NET و.NET Core

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

يحتوي هذا القسم على ملاحظات الإصدار لملحق Azure Web Apps للأجهزة وقت التشغيل باستخدام Application Insights.

للعثور على إصدار الملحق الذي تستخدمه حاليا، انتقل إلى https://<yoursitename>.scm.azurewebsites.net/ApplicationInsights.

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

2.8.44

2.8.43

  • افصل حزمة .NET/.NET Core وJava وحزمة Node.js في ملحق موقع Windows لخدمة التطبيقات المختلفة.

2.8.42

  • امتداد JAVA: تمت الترقية إلى Java Agent 3.2.0 من 2.5.1.
  • امتداد Node.js: تم تحديث AI SDK إلى 2.1.8 من 2.1.7. دعم إضافي لهويات Microsoft Entra المدارة المعينة من قبل المستخدم والنظام.
  • .NET Core: تمت إضافة عمليات التوزيع المكتفية ذاتياً ودعم .NET 6.0 باستخدام .NET Startup Hook.

2.8.41

  • امتداد Node.js: تم تحديث AI SDK إلى 2.1.7 من 2.1.3.
  • .NET Core: تمت الإزالة من إصدار الدعم (2.1). الإصدارات المدعومة هي 3.1 و 5.0.

2.8.40

  • امتداد JAVA: تمت الترقية إلى Java Agent 3.1.1 (GA) من 3.0.2.
  • امتداد Node.js: تم تحديث AI SDK إلى 2.1.3 من 1.8.8.

2.8.39

  • .NET Core: تمت إضافة دعم .NET Core 5.0.

2.8.38

  • امتداد JAVA: تمت ترقيته إلى Java Agent 3.0.2 (GA) من 2.5.1.
  • امتداد Node.js: تم تحديث AI SDK إلى 1.8.8 من 1.8.7.
  • NET Core: تمت إزالة الإصدارات خارج الدعم (2.0، 2.2، 3.0). الإصدارات المدعومة هي 2.1 و 3.1.

2.8.37

  • ملحق AppSvc Windows: يعمل .NET Core مع أي إصدار من System.Diagnostics.DiagnosticSource.dll.

2.8.36

  • ملحق AppSvc Windows: تمكين Inter-op مع AI SDK في .NET Core.

2.8.35

  • ملحق AppSvc Windows: تمت إضافة دعم .NET Core 3.1.

2.8.33

  • وكلاء .NET و .NET core و Java و Node.js وامتداد Windows: دعم السحابات السيادية. يمكن استعمال تسلسلات الاتصالات لإرسال البيانات إلى السحب السيادية.

2.8.31

  • أصلح عامل ASP.NET Core مشكلة في Application Insights SDK. إذا حمل وقت التشغيل الإصدار غير الصحيح من System.Diagnostics.DiagnosticSource.dll، فإن الملحق بدون تعليمات برمجية لا يتعطل التطبيق ويتراجع. لإصلاح المشكلة، يجب على العملاء إزالة System.Diagnostics.DiagnosticSource.dll من مجلد سلة الملفات أو استخدام الإصدار الأقدم من الملحق عن طريق تعيين ApplicationInsightsAgent_EXTENSIONVERSION=2.8.24. إذا لم تكن كذلك، فلن يتم تمكين مراقبة التطبيق.

2.8.26

  • عامل ASP.NET Core: تم حل المشكلة المتعلقة بـ Application Insights SDK المحدث. لا يحاول العامل التحميل AiHostingStartup إذا كان ApplicationInsights.dll موجودا بالفعل في مجلد الحاوية. وهو يحل المشكلات المتعلقة بالتأمل عبر التجميع<AiHostingStartup>. GetTypes().
  • المشكلات الشائعة: يمكن طرح الاستثناء System.IO.FileLoadException: Could not load file or assembly 'System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' إذا تم تحميل إصدار آخر من DiagnosticSource dll. قد يحدث، على سبيل المثال، إذا كان System.Diagnostics.DiagnosticSource.dll موجودا في مجلد النشر. للتخفيف استخدم الإصدار السابق من الامتداد عن طريق تعيين إعدادات التطبيق في خدمات التطبيق: ApplicationInsightsAgent_EXTENSIONVERSION = 2.8.24.

2.8.24

  • نسخة معاد تجميعها من 2.8.21.

2.8.23

  • تمت إضافة دعم مراقبة ASP.NET Core 3.0 بدون تشفير.
  • تم تحديث ASP.NET Core SDK إلى 2.8.0 لإصدارات وقت التشغيل 2.1 و 2.2 و 3.0. تستمر التطبيقات التي تستهدف .NET Core 2.0 في الاستعانة بـ2.1.1 من SDK.

2.8.14

  • إصدار ASP.NET Core SDK المحدث من 2.3.0 إلى الأحدث (2.6.1) للتطبيقات التي تستهدف NET Core 2.1، 2.2. تستمر التطبيقات التي تستهدف .NET Core 2.0 في الاستعانة بـ2.1.1 من SDK.

2.8.12

  • دعم تطبيقات ASP.NET Core 2.2.

  • تم إصلاح الخلل في امتداد ASP.NET Core مما تسبب في إدخال SDK حتى عندما يكون التطبيق مُجهزًا بالفعل باستخدام SDK. بالنسبة إلى تطبيقات 2.1 و 2.2، يتسبب وجود ApplicationInsights.dll في مجلد التطبيق الآن في تراجع الامتداد. بالنسبة إلى تطبيقات 2.0، فإن الامتداد يتراجع فقط إذا تم تمكين ApplicationInsights بمكالمة UseApplicationInsights().

  • إصلاح دائم لاستجابة HTML غير المكتملة لتطبيقات ASP.NET Core. تم تمديد هذا الإصلاح الآن للعمل مع تطبيقات .NET Core 2.2.

  • تمت إضافة الدعم لإيقاف إدخال JavaScript لتطبيقات ASP.NET Core (APPINSIGHTS_JAVASCRIPT_ENABLED=false appsetting). بالنسبة لـASP.NET core، يكون إدخال JavaScript في وضع "Opt-Out" افتراضيًا، ما لم يتم إيقاف تشغيله بشكل صريح. (يجرى الإعداد الافتراضي للاحتفاظ بالسلوك الحالي).

  • تم إصلاح ASP.NET خطأ ملحق Core الذي تسبب في الحقن حتى إذا لم يكن ikey موجودا.

  • إصلاح خطأ في منطق بادئة إصدار SDK الذي تسبب في إصدار SDK غير صحيح في القياس عن بعد.

  • تمت إضافة بادئة إصدار SDK لتطبيقات ASP.NET Core لتحديد كيفية جمع القياس عن بُعد.

  • تم إصلاح صفحة SCM- ApplicationInsights لإظهار إصدار الامتداد المثبت مسبقًا بشكل صحيح.

2.8.10

  • إصلاح لاستجابة HTML غير المكتملة لتطبيقات ASP.NET Core.

الأسئلة المتداولة

يقدم هذا القسم إجابات للأسئلة الشائعة.

ما الذي يعدله Application Insights في مشروعي؟

تعتمد التفاصيل على نوع المشروع. بالنسبة لتطبيق ويب:

  • إضافة هذه الملفات إلى مشروعك:
    • ApplicationInsights.config
    • ai.js
  • تثبيت حزم NuGet هذه:
    • Application Insights API: واجهة برمجة التطبيقات الأساسية
    • واجهة برمجة تطبيقات Application Insights لتطبيقات الويب: تستخدم لإرسال بيانات تتبع الاستخدام من الخادم
    • واجهة برمجة تطبيقات Application Insights لتطبيقات JavaScript: تستخدم لإرسال بيانات تتبع الاستخدام من العميل
  • تتضمن الحزم هذه التجميعات:
    • Microsoft.ApplicationInsights
    • Microsoft.ApplicationInsights.Platform
  • إدراج عناصر في:
    • Web.config
    • packages.config
  • (بالنسبة للمشاريع الجديدة فقط، يمكنك إضافة Application Insights إلى مشروع موجود يدويا.) إدراج قصاصات برمجية في التعليمات البرمجية للعميل والخادم لتهيئةهما باستخدام معرف مورد Application Insights. على سبيل المثال، في تطبيق MVC، يتم إدراج التعليمات البرمجية في الصفحة الرئيسية Views/Shared/_Layout.cshtml.

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

تعرف على كيفية تمكين مراقبة تطبيق الإتلاف التلقائي لتطبيق .NET Core أو .NET أو Java أو Nodejs أو Python الذي يعمل على App Service.