تحليل الأحداث والمرئيات باستخدام Application Insights

يُعد Application Insights، وهو جزء من Azure Monitor، نظاماً أساسياً قابلاً للتوسيع لمراقبة التطبيقات وتشخيصها. يتضمن أداة تحليلات واستعلامات قوية ولوحة معلومات ومرئيات قابلة للتخصيص وخيارات أخرى بما في ذلك التنبيه التلقائي. يتضمن تكامل Application Insights مع Service Fabric تجارب أدوات لـ Visual Studio ومدخل Azure بالإضافة إلى مقاييس محددة لـ Service Fabric، مما يوفر تجربة تسجيل شاملة خارج الصندوق. على الرغم من أن العديد من السجلات يتم إنشاؤها وتجميعها تلقائياً لك باستخدام Application Insights، نوصي بإضافة المزيد من عمليات التسجيل المخصصة إلى تطبيقاتك لإنشاء تجربة تشخيص أكثر ثراءً.

تساعد هذه المقالة في معالجة الأسئلة الشائعة التالية:

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

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

المراقبة في Application Insights

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

نظرة عامة على Application Insights

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

لقطة شاشة تعرض مزيدًا من التفاصيل، بما في ذلك البيانات الخاصة بـ Service Fabric، والتي يتم جمعها في حزمة Application Insights Service Fabric NuGet.

تحتوي Application Insights على طريقة عرض معينة للاستعلام مقابل جميع البيانات الواردة. حدد "مستكشف المقاييس" أعلى صفحة نظرة عامة للانتقال إلى مدخل Application Insights. هنا يمكنك تشغيل الاستعلامات مقابل الأحداث المخصصة المذكورة من قبل والطلبات والاستثناءات وعدادات الأداء والمقاييس الأخرى باستخدام لغة استعلام Kusto. يوضح المثال التالي جميع الطلبات في آخر 1 ساعة.

تفاصيل طلب Application Insights

لاستكشاف المزيد من إمكانات مدخل Application Insights، توجه إلى وثائق مدخل Application Insights.

تكوين Application Insights باستخدام EventFlow

إذا كنت تستخدم EventFlow لتجميع الأحداث، فتأكد من استيراد Microsoft.Diagnostics.EventFlow.Outputs.ApplicationInsightsحزمة NuGet. التعليمة البرمجية التالية مطلوبة في قسم المخرجات من eventFlowConfig.json:

"outputs": [
    {
        "type": "ApplicationInsights",
        "instrumentationKey": "***ADD INSTRUMENTATION KEY HERE***"
    }
]

تأكد من إجراء التغييرات المطلوبة في عوامل التصفية لديك، بالإضافة إلى تضمين أي إدخالات أخرى (إلى جانب حزم NuGet خاصتها).

تطبيق Insights SDK

يوصى باستخدام EventFlow وWAD كحلول تجميع، لأنهما يسمحان بنهج أكثر نمطيةً للتشخيصات والمراقبة، أي إذا كنت ترغب في تغيير مخرجاتك من EventFlow، فإنه لا يتطلب أي تغيير على أجهزتك الفعلية، بل مجرد إجراء تعديل بسيط على ملف التكوين خاصتك. إذا قررت الاستثمار في استخدام Application Insights وليس من المحتمل أن تتغير إلى نظام أساسي مختلف، فيجب عليك النظر في استخدام وحدة SDK الجديدة الخاصة بـ Application Insights لتجميع الأحداث وإرسالها إلى Application Insights. هذا يُعني أنك لن تضطر بعد الآن إلى تكوين EventFlow لإرسال بياناتك إلى Application Insights، ولكن بدلاً من ذلك ستثبت حزمة ApplicationInsight's Service Fabric NuGet. يمكن العثور على تفاصيل الحزمة هنا.

دعم Application Insights للخدمات المصغرة والحاويات يعرض لك بعض الميزات الجديدة التي يتم العمل عليها (التي لا تزال حالياً في مرحلة تجريبية)، والتي تسمح لك بالحصول على خيارات مراقبة أكثر ثراءً خارج الصندوق باستخدام Application Insights. يشمل ذلك تتبع التبعية (المُستخدم في إنشاء AppMap لجميع خدماتك وتطبيقاتك في نظام مجموعة والاتصال بينها)، وارتباط أفضل للآثار الواردة من خدماتك (يساعد في تحديد مشكلة على نحوٍ أفضل في سير عمل تطبيق أو خدمة).

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

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

مستكشف المقاييس عبارة عن أداة مفيدة لإنشاء لوحات معلومات مخصصة استناداً إلى المقاييس التي قد تبلغ تطبيقاتك وخدماتك ونُظم مجموعاتك. راجع استكشاف المقاييس في Application Insights لإعداد بعض المخططات البيانية لنفسك استناداً إلى البيانات التي تجمعها.

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

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