مشاركة عبر


التحقيق في حالات الفشل والأداء والمعاملات باستخدام Application Insights

تجمع Application Insights بيانات تتبع الاستخدام من تطبيقك للمساعدة في تشخيص حالات الفشل والتحقيق في المعاملات البطيئة. ويتضمن أربع أدوات أساسية:

  • حالات الفشل - يتعقب الأخطاء والاستثناءات والأخطاء، ويقدم رؤى واضحة لحل المشكلات بسرعة والاستقرار المحسن.

  • الأداء - يحدد ويساعد بسرعة على حل اختناقات التطبيق عن طريق عرض أوقات الاستجابة وعدد العمليات.

  • البحث عن المعاملات - يمكن المستخدمين من تحديد موقع عناصر بيانات تتبع الاستخدام الفردية وفحصها مثل طرق عرض الصفحة والاستثناءات والأحداث المخصصة.

  • تشخيص المعاملات - يساعد على تحديد المشكلات في المكونات بسرعة من خلال نظرة شاملة على تفاصيل المعاملة من طرف إلى طرف.

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

للوصول إلى طريقة عرض الفشل في Application Insights، حدد إما الرسم البياني للطلبات الفاشلة في جزء Overview ، أو Failures ضمن الفئة Investigate في قائمة الموارد.

لقطة شاشة توضح كيفية الوصول إلى طريقة عرض

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

إشعار

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

نظرة عامة

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

لقطة شاشة تعرض طريقة عرض

إشعار

بالإضافة إلى بيانات تتبع الاستخدام الجاهزة المرسلة بواسطة Azure Monitor OpenTelemetry Distro أو JavaScript SDK، يمكنك إضافة بيانات تتبع الاستخدام وتعديلها (على سبيل المثال، الأحداث المخصصة).

لمزيد من المعلومات، راجع إضافة وتعديل Azure Monitor OpenTelemetry لتطبيقات .NET وJava Node.jsوPython.

تصفية بيانات تتبع الاستخدام

عوامل التصفية الافتراضية

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

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

لمعرفة كيفية تعيين اسم دور السحابةومثيل دور السحابة، راجع تكوين Azure Monitor OpenTelemetry.

إضافة عوامل تصفية

يمكنك تصفية الأحداث بناء على قيم خصائصها. تعتمد الخصائص المتوفرة على أنواع الأحداث أو بيانات تتبع الاستخدام التي حددتها. لإضافة عامل تصفية:

  1. حدد أيقونة عامل التصفية لإضافة عامل تصفية.

    قرص التصفية

  2. من القائمة المنسدلة اليسرى، حدد خاصية.

  3. من القائمة المنسدلة المركزية، حدد أحد عوامل التشغيل التالية: =أو !=containsnot contains.

  4. من القائمة المنسدلة اليمنى، حدد كافة قيم الخصائص التي تريد التصفية عليها.

    إشعار

    لاحظ أن الأعداد الموجودة على يمين قيم عوامل التصفية تظهر عدد مرات التواجد الموجودة في المجموعة الحالية التي تمت تصفيتها.

  5. لإضافة عامل تصفية آخر، حدد أيقونة عامل التصفية مرة أخرى.

البحث عن بيانات تتبع الاستخدام

يمكنك البحث عن عمليات معينة باستخدام حقل البحث لتصفية العناصر... أعلى قائمة العمليات.

لقطة شاشة تعرض حقل

استخدام بيانات التحليلات

يتم تخزين جميع البيانات التي تم جمعها بواسطة Application Insights في Log Analytics، والتي توفر لغة استعلام غنية لتحليل الطلبات التي أنشأت الاستثناء الذي تحقق فيه.

تلميح

يوفر الوضع البسيط في Log Analytics واجهة بديهية للنقر والنقر لتحليل بيانات السجل وتصورها.

  1. في طريقة عرض البحث عن الأداء أو الفشل أو المعاملة، حدد عرض في السجلات في شريط التنقل العلوي واختر استعلاما من القائمة المنسدلة.

    لقطة شاشة لشريط الإجراءات العلوي مع تمييز الزر

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

    لقطة شاشة تعرض طريقة عرض

التحقيق في بيانات تتبع الاستخدام

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

  1. حدد عملية لعرض أعلى 3 رموز استجابة، وأعلى 3 أنواع استثناء، وتبعيات فشل أعلى 3 لهذه العملية.

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

  3. حدد عينة عملية لفتح طريقة عرض تفاصيل المعاملة من طرف إلى طرف .

    لقطة شاشة تعرض طريقة العرض

    إشعار

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

تحليل الأداء من جانب العميل والفشل

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

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

    لقطة شاشة تبرز تبديل

    توفر طريقة العرض هذه ملخصا مرئيا لمختلف القياسات عن بعد لتطبيقك من منظور المتصفح.

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

    لقطة شاشة تعرض طريقة عرض

إشعار

مثل البيانات التي تم جمعها لأداء الخادم، يجعل Application Insights جميع بيانات العميل متاحة للتحليل العميق باستخدام السجلات.

تجربة تشخيص المعاملات

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

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

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

تحتوي طريقة العرض هذه على أربعة أجزاء رئيسية:

لقطة شاشة تعرض طريقة عرض المعاملة مع تمييز قائمة النتائج.

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

محلل ملفات التعريف .NET و Snapshot Debugger

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

تتبعات محلل ملفات التعريف

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

  1. لبدء تشغيل محلل ملفات تعريف .NET، حدد عملية في طريقة عرض الأداء ، ثم انتقل إلى تتبعات محلل ملفات التعريف.

    لقطة شاشة لعرض

    بدلا من ذلك، يمكنك القيام بذلك في طريقة عرض تفاصيل المعاملة من طرف إلى طرف .

    لقطة شاشة تعرض طريقة عرض

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

  3. حدد الارتباط في تلميح الأداء (في هذا المثال، وقت وحدة المعالجة المركزية) للحصول على وثائق حول تفسير الحدث.

  4. لمزيد من التحليل، حدد Download Trace لتنزيل التتبع. يمكنك عرض هذه البيانات باستخدام PerfView.

    لقطة شاشة تعرض محلل ملفات تعريف .NET.

    إشعار

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

إذا لم تتمكن من تشغيل محلل ملفات تعريف .NET، فاتصل ب serviceprofilerhelp@microsoft.com.

لقطة تتبع الأخطاء

للاطلاع على معلومات تصحيح الأخطاء على مستوى التعليمات البرمجية للاستثناء:

  1. حدد الاستثناء في مخطط جانت، ثم افتح لقطة تتبع الأخطاء.

    لقطة شاشة تعرض طريقة عرض

  2. يظهر Snapshot Debugger مكدس الاستدعاءات ويسمح لك بفحص المتغيرات في كل إطار مكدس استدعاء. بتحديد أسلوب، يمكنك عرض قيم كافة المتغيرات المحلية في وقت الطلب.

  3. بعد ذلك، يمكنك تصحيح التعليمات البرمجية المصدر عن طريق تنزيل اللقطة وفتحها في Visual Studio.

    لقطة شاشة تعرض Snapshot Debugger مع تمييز زر

إذا لم تتمكن من تشغيل Snapshot Debugger، فاتصل ب snapshothelp@microsoft.com.

إنشاء عنصر عمل

إذا قمت بتوصيل Application Insights بنظام تعقب مثل Azure DevOps أو GitHub، يمكنك إنشاء عنصر عمل مع التفاصيل من أي عنصر بيانات تتبع الاستخدام مباشرة من Application Insights.

إشعار

في المرة الأولى التي تجري فيها هذه الخطوة، يُطلب منك تكوين ارتباط إلى مؤسسة ومشروع Azure DevOps.

  1. انتقل إلى طريقة عرض تفاصيل المعاملة من طرف إلى طرف وحدد حدثا.

  2. في قسم التفاصيل ، حدد إنشاء عنصر عمل وإنشاء قالب جديد أو اختر قالبا موجودا.

    لقطة شاشة تعرض طريقة عرض

  3. يفتح جزء New Work Item بتفاصيل حول الاستثناء الذي تم ملؤه بالفعل. يمكنك إضافة مزيد من المعلومات قبل حفظها.

الأسئلة الشائعة

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

البحث عن المعاملات

ما هو المكون؟

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

  • تختلف المكونات عن التبعيات الخارجية "المرصودة"، مثل SQL ومراكز الأحداث، والتي قد لا يكون لفريقك أو مؤسستك حق الوصول إليها (التعليمات البرمجية أو بيانات تتبع الاستخدام).
  • تشغيل المكونات على أي عدد من مثيلات الخادم أو الدور أو الحاوية.
  • يمكن أن تكون المكونات مفاتيح أدوات Application Insights منفصلة، حتى إذا كانت الاشتراكات مختلفة. يمكن أن تكون المكونات أيضا أدوارا مختلفة تقوم بالإبلاغ إلى مفتاح تقرير عن حالة النظام في Application Insights واحد. تعرض التجربة الجديدة التفاصيل عبر جميع المكونات، بغض النظر عن كيفية إعدادها.

ما مقدار البيانات التي يتم الاحتفاظ بها؟

راجع ملخص الحدود.


كيف يمكنني رؤية بيانات POST في طلبات الخادم؟

لا نقوم بتسجيل بيانات POST تلقائيا، ولكن يمكنك استخدام TrackTrace أو تسجيل المكالمات. وضع بيانات POST في معلمة الرسالة. لا يمكنك التصفية على الرسالة بنفس الطريقة التي يمكنك بها التصفية على الخصائص، ولكن الحد الأقصى للحجم أطول.


لماذا لا يرجع بحث Azure Function أي نتائج؟

لا تسجل Azure Functions سلاسل استعلام URL.

تشخيص المعاملات

لماذا أرى مكونا واحدا على المخطط وتظهر المكونات الأخرى فقط كتبعيات خارجية دون أي تفاصيل؟

الأسباب المحتملة:

  • هل تم تجهيز المكونات الأخرى برؤى Application Insights
  • هل يستخدمون أحدث إصدار مستقر من Application Insights SDK؟
  • إذا كانت هذه المكونات موارد Application Insights منفصلة، فتحقق من أن لديك حق الوصول. إذا كان لديك حق الوصول وتم وضع الأدوات على المكونات باستخدام أحدث حزم SDK ل Application Insights، فقم بإعلامنا عبر قناة الملاحظات في الزاوية العلوية اليسرى.

أرى صفوفا مكررة للتبعيات. هل هذا السلوك متوقع؟

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


ماذا عن انحرافات الساعة عبر مثيلات مكونات مختلفة؟

يتم تعديل المخططات الزمنية لانحرافات الساعة في مخطط المعاملة. يمكنك مشاهدة الطوابع الزمنية الدقيقة في جزء التفاصيل أو باستخدام Log Analytics.


لماذا تفتقد التجربة الجديدة معظم استعلامات العناصر ذات الصلة؟

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


هل هناك طريقة لرؤية عدد أقل من الأحداث لكل معاملة عند استخدام Application Insights JavaScript SDK؟

تعرض تجربة تشخيص المعاملات جميع بيانات تتبع الاستخدام في عملية واحدة تشارك معرف العملية. بشكل افتراضي، تنشئ Application Insights SDK for JavaScript عملية جديدة لكل عرض صفحة فريد. في تطبيق من صفحة واحدة (SPA)، يتم إنشاء حدث عرض صفحة واحدة فقط ويتم استخدام معرف عملية واحد لجميع بيانات تتبع الاستخدام التي تم إنشاؤها. ونتيجة لذلك، قد ترتبط العديد من الأحداث بنفس العملية.

في هذه السيناريوهات، يمكنك استخدام "تتبع التوجيه التلقائي" لإنشاء عمليات جديدة للتنقل تلقائيا في SPA. يجب تشغيل enableAutoRouteTracking بحيث يتم إنشاء طريقة عرض صفحة في كل مرة يتم فيها تحديث مسار URL (تحدث طريقة عرض الصفحة المنطقية). إذا كنت تريد تحديث معرف العملية يدويا، فاتصل ب appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId(). يؤدي تشغيل حدث PageView يدويا أيضا إلى إعادة تعيين معرف العملية.


لماذا لا تضيف مدد تفاصيل المعاملة إلى مدة الطلب الأعلى؟

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

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


ماذا لو رأيت الرسالة "خطأ في استرداد البيانات" أثناء التنقل في Application Insights في مدخل Microsoft Azure؟

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

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