المقاييس المستندة إلى السجل والمجمعة مسبقا في Application Insights

إشعار

تعتمد الوثائق التالية على واجهة برمجة تطبيقات Application Insights الكلاسيكية. الخطة طويلة الأجل ل Application Insights هي جمع البيانات باستخدام OpenTelemetry. لمزيد من المعلومات، راجع تمكين Azure Monitor OpenTelemetry لتطبيقات .NET Node.js وPython وJava.

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

مقاييس مسندة إلى السجل

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

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

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

إشعار

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

مقاييس مجمعة مسبقًا

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

هام

كل من المقاييس المستندة إلى السجل والمجمعة مسبقا تتعايش في Application Insights. للتمييز بين الاثنين، في تجربة مستخدم Application Insights، تسمى المقاييس المجمعة مسبقا الآن المقاييس القياسية (معاينة). تمت إعادة تسمية المقاييس التقليدية من الأحداث إلى المقاييس المستندة إلى السجل.

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

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

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

جدول المقاييس المجمعة مسبقًا المدعومة بـ SDK

إنتاج SDKs الحالي المقاييس القياسية (التجميع المسبق ل SDK) مقاييس مخصصة (بدون التجميع المسبق ل SDK) مقاييس مخصصة (مع التجميع المسبق ل SDK)
.NET Core و.NET Framework مدعوم (V2.13.1+) مدعوم عبر TrackMetric مدعوم (V2.7.2+) عبر GetMetric
Java غير مدعوم مدعوم عبر TrackMetric غير مدعوم
Node.js معتمد (V2.0.0+) مدعوم عبر TrackMetric غير مدعوم
Python غير مدعوم مدعوم مدعوم جزئيا عبر OpenCensus.stats

إشعار

يختلف تنفيذ المقاييس ل Python باستخدام OpenCensus.stats عن GetMetric. لمزيد من المعلومات، راجع وثائق Python حول المقاييس.

جدول مقاييس مجمعة مسبقًا من دون رمز

إنتاج SDKs الحالي المقاييس القياسية (التجميع المسبق ل SDK) مقاييس مخصصة (بدون التجميع المسبق ل SDK) مقاييس مخصصة (مع التجميع المسبق ل SDK)
ASP.NET مدعومة 1 غير مدعوم غير مدعوم
ASP.NET Core مدعومة 2 غير مدعوم غير مدعوم
Java غير مدعوم غير مدعوم دعم
Node.js غير مدعوم غير مدعوم غير مدعوم
  1. ASP.NET إرفاق بدون تعليمات برمجية على الأجهزة الظاهرية/مجموعات مقياس الجهاز الظاهري وينبعث منها مقاييس قياسية داخلية دون أبعاد. وينطبق الشيء نفسه على Azure App Service، ولكن يجب تعيين مستوى المجموعة إلى مستحسن. SDK مطلوب لجميع الأبعاد.
  2. إرفاق ASP.NET Core الأساسية بلا رمز على App Service يظهر منه مقاييس قياسية بلا أبعاد. SDK مطلوب لكافة الأبعاد.

استخدام التجميع المسبق مع مقاييس Application Insights المخصصة

يمكنك استخدام مقاييس مجمعة مسبقًا مع مقاييس مخصصة. والميزتان الرئيسيتان هما:

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

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

أبعاد المقاييس المخصصة، والتجميع المسبق

يتم تخزين جميع المقاييس التي ترسلها باستخدام OpenTelemetry أو trackMetric أو استدعاءات واجهة برمجة تطبيقات GetMetric و TrackValue تلقائيا في كل من مخازن السجلات والمقاييس. يمكن العثور على هذه المقاييس في جدول customMetrics في Application Insights وفي Metrics Explorer ضمن مساحة اسم المقاييس المخصصة المسماة "azure.applicationinsights". على الرغم من أن الإصدار المستند إلى السجل من المقياس المخصص يحتفظ دائما بجميع الأبعاد، يتم تخزين الإصدار المجمع مسبقا من المقياس بشكل افتراضي دون أبعاد. الاحتفاظ بأبعاد المقاييس المخصصة هي ميزة معاينة يمكن تشغيلها من علامة التبويب Usage and estimated cost عن طريق تحديد With dimensions ضمن Send custom metrics to Azure Metric Store.

Screenshot that shows usage and estimated costs.

الحصص النسبية

يتم تخزين المقاييس المجمعة مسبقا كسلسلة زمنية في Azure Monitor. يتم تطبيق الحصص النسبية ل Azure Monitor على المقاييس المخصصة.

إشعار

وقد يكون لتجاوز الحصة عواقب غير مقصودة. قد يصبح Azure Monitor غير مفيد في اشتراكك أو منطقتك. لمعرفة كيفية تجنب تجاوز الحصة النسبية، راجع قيود التصميم والاعتبارات.

لماذا يتم إيقاف تشغيل مجموعة أبعاد المقاييس المخصصة بشكل افتراضي؟

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

إنشاء مخططات واستكشاف المقاييس المجمعة مسبقا المستندة إلى السجل والقياسات القياسية

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

Screenshot that shows Metric namespace.

نماذج التسعير لمقاييس Application Insights

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

يمكن أن يؤدي تحديد الخيار Enable alerting on custom metric dimensions لتخزين جميع أبعاد المقاييس المجمعة مسبقا في مخزن المقاييس إلى تكاليف إضافية استنادا إلى تسعير المقاييس المخصصة.

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