استكشاف Application Insights

مكتمل

Application Insights هو حل مراقبة أداء التطبيقات (APM) من Azure الذي يوفر رؤى عميقة حول كيفية أداء تطبيقاتك وكيفية تفاعل المستخدمين معها. على عكس مراقبة البنية الأساسية (التي تمت تغطيتها في الوحدات السابقة)، تركز Application Insights على القياس عن بعد على مستوى التطبيق - الطلبات والتبعيات والاستثناءات وأحداث الأعمال المخصصة.

كيفية عمل Application Insights

التثبيت والإعداد

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

1. إنشاء مورد Application Insights:

  • انتقل إلى مدخل Microsoft Azure وأنشئ مورد Application Insights
  • الحصول على مفتاح الأجهزة أو سلسلة التوصيل
  • يمكن أن يكون المورد مستقلا أو مرتبطا بمساحة عمل Log Analytics

2. إضافة الأجهزة إلى التطبيق الخاص بك:

  • تثبيت Application Insights SDK لنظامك الأساسي (.NET وJava وNode.jsوPython)
  • تكوين مفتاح الأجهزة في التطبيق الخاص بك
  • تمكين الميزات المتقدمة اختياريا (التنميط وتصحيح أخطاء اللقطات)

3. نشر التطبيق الآلي:

  • تراقب الأجهزة تطبيقك وترسل بيانات بيانات تتبع الاستخدام إلى البوابة الإلكترونية
  • يمكن تشغيل التطبيق في أي مكان - ليس من الضروري استضافته في Azure
  • يعمل مع التطبيقات المحلية وموفري البيئة السحابية الآخرين والأجهزة الطرفية

ما الذي يتم إجراؤه؟

يمكنك تجهيز مكونات تطبيق متعددة للحصول على رؤية كاملة:

تطبيق خدمة الويب:

  • تطبيقات ASP.NET و ASP.NET Core و Java Spring Boot و Node.js Express
  • يلتقط تلقائيا الطلبات وأوقات الاستجابة والاستثناءات
  • تتبع التبعيات (استدعاءات قاعدة البيانات وواجهات برمجة التطبيقات الخارجية وقوائم انتظار الرسائل)

مكونات الخلفية:

  • وظائف Azure وWebJobs وخدمات العمال
  • تطبيقات وحدة التحكم والعمليات المجمعة
  • المهام المجدولة والوظائف الأساسية

JavaScript في صفحات الويب:

  • يتم تشغيل حزمة تطوير البرامج (SDK) من جهة العميل في متصفحات المستخدم
  • يتتبع مشاهدات الصفحة ومكالمات AJAX واستثناءات المستعرض
  • يقيس الأداء من جهة العميل (وقت تحميل الصفحة، العرض)
  • يراقب التطبيقات أحادية الصفحة (React و Angular و Vue)

رسم تخطيطي يوضح Application Insights وبيانات تتبع الاستخدام للتنبيهات وPower BI وVisual Studio وواجهة برمجة تطبيقات Rest والتصدير المستمر.

مجموعة شاملة للبيانات عن بعد

يوفر Application Insights مصادر متعددة للقياس عن بعد لإمكانية الملاحظة الكاملة:

تكامل البيئة المضيفة:

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

المراقبة الاصطناعية:

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

التحليل الموحد:

  • يتم دمج جميع تدفقات القياس عن بعد هذه في مدخل Microsoft Azure
  • تطبيق أدوات تحليلية وبحث قوية على البيانات الأولية
  • استخدام KQL للاستعلام عبر جميع أنواع بيانات تتبع الاستخدام
  • ربط الأحداث من مصادر مختلفة باستخدام معرفات العمليات

ما هي النفقات العامة؟

التأثير على أداء تطبيقك ضئيل. تم تصميم Application Insights للاستخدام في الإنتاج بتكلفة أداء ضئيلة:

خصائص الأداء:

  • مكالمات التتبع غير محظورة: لا يؤدي تجميع بيانات تتبع الاستخدام إلى إبطاء معالجة الطلبات
  • ناقل الحركة المجمع: يتم تجميع الأحداث وإرسالها في سلسلة رسائل منفصلة
  • العمليات غير المتزامنة: لا تنتظر إرسال بيانات تتبع الاستخدام
  • أخذ العينات التكيفية: يقلل من حجم البيانات تلقائيا مع الحفاظ على الدقة الإحصائية
  • النفقات العامة النموذجية:<1 تأثير وحدة المعالجة المركزية%، شبكة ~50-100 كيلوبايت/ثانية لكل مثيل

استراتيجيات أخذ العينات:

  • أخذ العينات بمعدل ثابت: اجمع نسبة مئوية من جميع بيانات تتبع الاستخدام (على سبيل المثال ، 20%)
  • أخذ العينات التكيفية: يتم ضبطه تلقائيا بناء على حجم حركة المرور
  • أخذ عينات الابتلاع: مطبق على مدخل Microsoft Azure لتقليل البيانات المخزنة
  • أخذ العينات يحافظ على السياق: يتم أخذ عينات من بيانات تتبع الاستخدام ذات الصلة معا

ما الذي يراقبه Application Insights؟

تستهدف Application Insights فريق التطوير لمساعدتك على فهم كيفية أداء تطبيقك واستخدامه. يوفر مراقبة شاملة عبر أبعاد متعددة:

مقاييس أداء التطبيق

معدلات الطلبات وأوقات الاستجابة ومعدلات الفشل:

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

معدلات التبعية وأوقات الاستجابة ومعدلات الفشل:

  • تتبع المكالمات إلى قواعد البيانات وواجهات برمجة التطبيقات الخارجية وقوائم انتظار الرسائل والتخزين
  • اكتشف ما إذا كانت الخدمات الخارجية تبطئك
  • تحديد أبطأ التبعيات التي تؤثر على تجربة المستخدم
  • اكتشاف حالات الفشل المتتالية من خدمات انتقال البيانات من الخادم

تتبع الأخطاء والاستثناءات

الاستثناءات:

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

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

مشاهدات الصفحة وأداء التحميل:

  • تم الإبلاغ عنها بواسطة متصفحات المستخدمين التي تعرض تجربة واقعية
  • قياس الوقت التفاعلي (TTI) ، أول طلاء محتوى (FCP)
  • تحديد الصفحات بطيئة التحميل التي تؤثر على تجربة المستخدم

مكالمات AJAX من صفحات الويب:

  • تتبع المعدلات وأوقات الاستجابة ومعدلات الفشل لاستدعاءات واجهة برمجة التطبيقات
  • تحديد نقاط نهاية واجهة برمجة التطبيقات البطيئة من منظور العميل
  • مراقبة التنقل في التطبيق أحادي الصفحة (SPA)

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

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

  • تتبع المستخدمين النشطين يوميا / شهريا (DAU / MAU)
  • فهم مدة الجلسة وتكرارها
  • قياس الاحتفاظ بالمستخدمين والاضطراب

تكامل البنية التحتية

عدادات الأداء:

  • الاستلام من أجهزة خادم Windows أو Linux
  • تضمين وحدة المعالجة المركزية والذاكرة واستخدام الشبكة
  • ربط مقاييس البنية الأساسية بأداء التطبيق

تشخيص المضيف:

  • مراقبة حاويات Docker وموارد Azure
  • تعقب استخدام الموارد لكل حاوية
  • فهم صحة البنية الأساسية جنبا إلى جنب مع سلامة التطبيقات

قدرات التشخيص

سجلات التتبع التشخيصية:

  • التقاط السجلات من إطار عمل التطبيق الخاص بك (ILogger و Log4j وما إلى ذلك)
  • ربط أحداث التتبع بالطلبات باستخدام معرفات العمليات
  • البحث في السجلات عن أخطاء أو أنماط محددة
  • التصفية حسب مستوى الخطورة أو النطاق الزمني أو الخصائص المخصصة

القياس عن بعد المخصص للأعمال

الأحداث والمقاييس المخصصة:

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

أين أرى بيانات تتبع الاستخدام الخاصة بي؟

يوفر Application Insights واجهات متعددة لاستكشاف بياناتك، كل منها محسن لسيناريوهات مختلفة. هناك الكثير من الطرق لاستكشاف بياناتك.

الكشف والتنبيهات الذكية

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

تتكيف التنبيهات التلقائية مع أنماط القياس عن بعد المعتادة لتطبيقك ويتم تشغيلها عندما يكون هناك شيء خارج النمط المعتاد. تحدد خوارزميات التعلم الآلي ما يلي:

  • ارتفاع غير طبيعي في معدلات الفشل: ارتفاع مفاجئ في الاستثناءات أو الطلبات الفاشلة
  • تدهور الأداء: أوقات الاستجابة أبطأ من الأنماط النموذجية
  • تسرب الذاكرة: زيادة الذاكرة تدريجيا بمرور الوقت
  • شذوذ التبعية: مكالمات الخدمة الخارجية التي تظهر سلوكا غير عادي

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

لقطة شاشة لتنبيهات محددة تظهر ارتفاعا غير طبيعي في معدل الطلب الفاشل في التطبيق fabrikamprod.

خريطة التطبيق

تصور مكونات تطبيقك باستخدام المقاييس والتنبيهات الرئيسية. تكتشف خريطة التطبيق تلقائيا:

  • طوبولوجيا التطبيق: جميع المكونات واتصالاتها
  • علاقات التبعية: الخدمات التي تستدعي التبعيات
  • المؤشرات الصحية: الحالة الصحية المرمزة بالألوان لكل مكون
  • المقاييس الرئيسية: معدل الطلب ومعدل الفشل ووقت الاستجابة لكل مكون
  • التنبيهات النشطة: المؤشرات المرئية التي توضح المكونات التي بها مشكلات

حالات الاستخدام: تحديد المكون في النظام الموزع بفشل، وفهم أنماط المكالمات، وتخطيط السعة لكل خدمة.

لقطة شاشة لخريطة التطبيق مع مكونات التطبيق والمقاييس الرئيسية والتنبيهات.

محلل ملفات تعريف Application Insights

فحص ملفات تعريف التنفيذ للطلبات التي تم أخذ عينات منها لتحديد اختناقات الأداء:

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

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

لقطة شاشة لملف التعريف. فحص ملفات تعريف التنفيذ للطلبات التي تم أخذ عينات منها.

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

تحليل تجزئة المستخدمين والاحتفاظ بهم لفهم كيفية تفاعل المستخدمين مع تطبيقك:

  • تدفقات المستخدم: تصور مسارات التنقل من خلال التطبيق الخاص بك
  • مداخل: تتبع معدلات التحويل من خلال عمليات متعددة الخطوات
  • الافواج: تجميع المستخدمين حسب السلوك أو السمات للمقارنة
  • احتباس: قياس عدد المستخدمين الذين يعودون بمرور الوقت
  • تحليل الأثر: ربط الأداء بسلوك المستخدم

حالات الاستخدام: تحسين مسارات تحويل التحويل ، وفهم اعتماد الميزات ، وتحديد المستخدمين المعرضين للخطر ، وقياس ملاءمة المنتج للسوق.

لقطة شاشة لتحليل الاستخدام مع تجزئة المستخدم والاحتفاظ به.

البحث عن الأحداث وتصفيتها للتحقيق التفصيلي:

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

حالات الاستخدام: تحقق من مشكلات معينة أبلغ عنها المستخدم، وابحث عن أخطاء لعملاء محددين، وتتبع الطلبات عبر الأنظمة الموزعة.

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

مستكشف المقاييس

استكشاف البيانات المجمعة وفلترتها وتقسيمها:

  • المقاييس: معدلات الطلبات وحالات الفشل والاستثناءات وأوقات الاستجابة وأوقات تحميل الصفحة والمقاييس المخصصة
  • تقسيم: التقسيم حسب الأبعاد (دور السحابة ، الموقع الجغرافي ، المتصفح ، الجهاز)
  • تصفيه: التركيز على قيم محددة
  • تجميع: الحد الأدنى والحد الأقصى والمتوسط والمجموع والنسب المئوية
  • دقة الوقت: 1 دقيقة إلى 1 شهر دلاء

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

لقطة شاشة للمقاييس وتقسيم البيانات المجمعة مثل معدلات الطلبات والفشل والاستثناءات وأوقات الاستجابة وأوقات تحميل الصفحة.

لوحات

امزج البيانات من موارد متعددة وشاركها مع الآخرين:

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

حالات الاستخدام: لوحات المعلومات التنفيذية ، وغرف الحرب أثناء الحوادث ، والوعي الظرفي للفريق ، وعروض الحالة.

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

Live Metrics Stream

شاهد مؤشرات الأداء في الوقت الفعلي تقريبا:

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

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

لقطة شاشة ل Live Metrics Stream مع مؤشرات أداء في الوقت الفعلي تقريبا.

التحليلات (استعلامات KQL)

أجب عن الأسئلة الصعبة حول أداء تطبيقك واستخدامه باستخدام لغة الاستعلام القوية هذه:

  • KQL (لغة استعلام Kusto): نفس اللغة التي تمت تغطيتها في الوحدة السابقة
  • التحليل المخصص: استكشاف البيانات بدون طرق عرض محددة مسبقا
  • الروابط المجمعة: ربط البيانات عبر جداول متعددة
  • التصورات المتقدمة: إنشاء مخططات وسلاسل زمنية مخصصة
  • الاستعلامات المحفوظة: إعادة استخدام أنماط التحليل الشائعة

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

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

تكامل Visual Studio

اطلع على بيانات الأداء في الكود:

  • CodeLens: مقاييس الأداء المعروضة مضمنة في محرر التعليمات البرمجية
  • انتقل إلى التعليمات البرمجية من آثار المكدس: انقر فوق استثناء في المدخل ، انتقل إلى سطر التعليمات البرمجية
  • تصحيح الأخطاء المحلي: تكامل Application Insights في مصحح أخطاء Visual Studio
  • اتجاهات: اتجاهات الأداء التاريخية لطرق محددة

حالات الاستخدام: تحسين الأداء أثناء التطوير ، وتصحيح أخطاء الإنتاج محليا.

لقطة شاشة ل Visual Studio تعرض بيانات الأداء في التعليمات البرمجية.

Snapshot Debugger

تصحيح الأخطاء لقطات أخذ عينات من العمليات المباشرة:

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

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

لقطة شاشة لمصحح أخطاء اللقطة. تتبع أخطاء اللقطات التي تم أخذ عينات منها من العمليات المباشرة، مع قيم المعلمات.

تكامل Power BI

دمج مقاييس الاستخدام مع ذكاء الأعمال الأخرى:

  • التقارير المخصصة: إنشاء لوحات معلومات Power BI تجمع بين Application Insights وبيانات الأعمال
  • التحديث المجدول: التحديثات التلقائية للبيانات
  • الارتباط: ربط المقاييس الفنية بنتائج الأعمال
  • التقارير التنفيذية: عرض البيانات الفنية في سياق الأعمال

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

لقطة شاشة ل Power BI. دمج مقاييس الاستخدام مع المعلومات المهنية الأخرى.

واجهة برمجة تطبيقات REST

اكتب التعليمات البرمجية لتشغيل الاستعلامات على المقاييس والبيانات الأولية:

  • الوصول البرمجي: الاستعلام عن Application Insights من تطبيقاتك الخاصة
  • اتمته: بناء حلول مراقبة مخصصة
  • تكامل: الاتصال بأدوات ومهام سير العمل التابعة لجهات خارجية
  • معالجة مخصصة: تصدير البيانات للتحليل المتقدم

حالات الاستخدام: لوحات معلومات مخصصة ، وأنظمة مراقبة اتفاقية مستوى الخدمة ، وإعداد التقارير الآلية ، وخطوط أنابيب علوم البيانات.

لقطة شاشة لواجهة برمجة تطبيقات REST. اكتب التعليمات البرمجية لتشغيل الاستعلامات عبر المقاييس والبيانات الأولية.

التصدير المستمر

تصدير البيانات الأولية بالجملة إلى التخزين بمجرد وصولها:

  • تخزين Azure: التصدير إلى Blob Storage للاحتفاظ به على المدى الطويل
  • مراكز الأحداث: البث إلى أنظمة المعالجة في الوقت الفعلي
  • بحيرة البيانات: التكامل مع منصات تحليلات البيانات الضخمة
  • امتثال: استيفاء متطلبات موقع البيانات والاحتفاظ بها
  • تحسين التكلفة: تخزين البيانات في مستويات تخزين أرخص

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

لقطة شاشة للتصدير المجمع. تصدير مجمع للبيانات الأولية إلى التخزين بمجرد وصولها.