تعدد المستأجرين وApplication Insights
Application Insights هي خدمة تراقب أداء تطبيقات الويب الخاصة بك وتوافرها واستخدامها. يمكن أن يساعدك في تحديد المشاكل وتشخيصها، وتحليل سلوك المستخدم، وتعقب المقاييس الرئيسية. توضح هذه المقالة بعض ميزات Application Insights المفيدة للأنظمة متعددة المستأجرين. كما يصف نماذج الإيجار المختلفة.
تلميح
تم تصميم Application Insights وتحسينه لمراقبة الحلول. لا يقصد استخدامه لتسجيل كل حدث يحدث في النظام، كما قد تحتاج إلى القيام به للتدقيق أو الفوترة. للتعرف على كيفية قياس الاستخدام لأغراض الفوترة، راجع اعتبارات قياس الاستهلاك في الحلول متعددة المستأجرين.
نماذج العزل
عند تنفيذ نظام متعدد المستأجرين يستخدم Application Insights، تحتاج إلى تحديد المستوى المطلوب من العزل. هناك العديد من نماذج العزل التي يمكنك الاختيار من بينها. فيما يلي بعض العوامل التي قد تؤثر على اختيارك:
- كم عدد المستأجرين الذين تخطط للحصول علىهم؟
- هل تشارك مستوى التطبيق الخاص بك بين عدة مستأجرين، أو هل تقوم بنشر طوابع توزيع منفصلة لكل مستأجر؟
- هل أنت أو عملاؤك حساسون بشأن تخزين البيانات جنبا إلى جنب مع بيانات المستأجرين الآخرين؟
- هل طبقة التطبيق الخاصة بالحل متعدد المستأجرين، ومستأجر واحد لطبقة البيانات؟
- هل تختلف متطلبات بيانات تتبع الاستخدام بين المستأجرين؟
تلميح
العوامل الرئيسية التي تحدد تكلفة Application Insights هي كمية البيانات التي ترسلها إليها ومدة الاحتفاظ بالبيانات. في تطبيق متعدد المستأجرين، تكون التكلفة الإجمالية هي نفسها لمثيل Application Insights المخصص كما هو الحال بالنسبة لمثيل مشترك. لمزيد من المعلومات، راجع صفحة تسعير Azure Monitor.
يلخص هذا الجدول الاختلافات بين نماذج الإيجار الرئيسية ل Application Insights:
الاعتبار | مثيل Application Insights المشترك عالميا | مثيل Application Insights واحد لكل منطقة/طابع | مثيل Application Insights واحد لكل مستأجر |
---|---|---|---|
عزل البيانات | منخفض | منخفض | مرتفع |
عزل الأداء | منخفض | متوسط | درجة عالية |
تعقيد التوزيع | منخفض إلى متوسط، اعتمادا على عدد المستأجرين | متوسط، اعتمادا على عدد المستأجرين | درجة عالية |
التعقيد التشغيلي | منخفض | متوسط | درجة عالية |
مثال على السيناريو | حل كبير متعدد المستأجرين مع مستوى تطبيق مشترك | حل متعدد المستأجرين مع عمليات نشر إقليمية لخدمة قاعدة عملاء عالمية بشكل أفضل | مثيلات التطبيق الفردية لكل مستأجر |
مثيل Application Insights المشترك عالميا
يمكنك استخدام مثيل واحد من Application Insights لتعقب بيانات تتبع الاستخدام للمستأجرين في تطبيق متعدد المستأجرين، كما هو موضح هنا:
تتضمن فوائد هذا النهج تكوينا وإدارة مبسطين للتطبيق، لأنك تحتاج فقط إلى وضع علامة على التعليمات البرمجية للتطبيق مرة واحدة. تتضمن عيوب هذا الأسلوب الحدود والحصص النسبية المقترنة بمثيل Application Insights واحد. لتحديد ما إذا كانت الحدود قد تؤثر على تطبيقك متعدد المستأجرين، راجع حدود Application Insights.
عند استخدام مورد Application Insights مشترك، قد يكون من الصعب أيضا عزل البيانات وتصفيتها لكل مستأجر، خاصة إذا كان لديك عدد كبير من المستأجرين. نظرا لأن جميع المستأجرين يشتركون في نفس مساحة عمل Log Analytics ومفاتيح الأجهزة، فقد يكون الأمان والخصوصية مصدر قلق أيضا.
لمعالجة هذه المخاوف، قد تحتاج إلى تنفيذ المنطق والآليات لضمان إمكانية تصفية البيانات من قبل المستأجر وأن فريق العمليات الخاص بك يمكنه رؤية البيانات لكل مستأجر بشكل صحيح. يمكنك تنفيذ التصفية عن طريق إضافة خاصية مخصصة لالتقاط معرف المستأجر كجزء من كل عنصر بيانات تتبع الاستخدام. يمكن بعد ذلك استخدام معرف المستأجر للاستعلام عن البيانات.
مثيل Application Insights واحد لكل طابع
غالبا ما تتضمن الحلول متعددة المستأجرين طوابع متعددة، والتي قد يتم نشرها في مناطق Azure مختلفة. تمكنك الطوابع من خدمة المستأجرين المحليين لمنطقة معينة حتى تتمكن من توفير أداء أفضل. قد يخدم الطابع الفردي مستأجرا واحدا أو مجموعة فرعية من المستأجرين. لمعرفة المزيد حول الطوابع، راجع نمط طوابع النشر.
قد تقرر نشر مثيل Application Insights في كل طابع، ومشاركة المثيل بين جميع المستأجرين الذين يستخدمون الطابع، كما هو موضح هنا:
يوفر هذا الأسلوب مزيدا من المرونة مع حدود الموارد لأن الحدود تنطبق لكل مثيل من Application Insights.
مثيل Application Insights واحد لكل مستأجر
قد تقرر استخدام مثيل Application Insights مخصص لكل مستأجر:
يمنحك هذا النهج مزيدا من المرونة والتحكم في بيانات تتبع الاستخدام الخاصة بالمستأجرين ويوفر عزل البيانات الأقوى. عند استخدام هذا النموذج، يمكنك تكوين الإعدادات الخاصة بالمستأجر ونهج الاستبقاء.
ومع ذلك، عند استخدام هذا الأسلوب، تحتاج إلى نشر عدد كبير من مثيلات Application Insights، وإدارة الإعدادات الخاصة بالمستأجر في كتالوج المستأجر، وتغيير التعليمات البرمجية للتطبيق عند إلحاق مستأجرين جدد. لاحظ أن قرار نشر مثيل Application Insights مخصص لكل مستأجر منفصل عن قرار نشر طبقة تطبيق لكل مستأجر. على سبيل المثال، يمكنك أن تقرر نشر مثيل تطبيق واحد في طابع مشترك من قبل عدة مستأجرين ولكن توزيع مثيل Application Insights واحد لكل مستأجر.
يجب أن تفكر في استخدام مثيل Application Insights واحد لكل مستأجر إذا كنت تحتاج إلى درجة عالية من عزل البيانات بين المستأجرين، أو كنت بحاجة إلى تكوينات مختلفة لمختلف المستأجرين، أو حدود الخدمة لمثيل Application Insights واحد لا يلبي احتياجاتك.
باستخدام هذا النهج، قد يكون من الصعب تجميع البيانات ومقارنتها عبر جميع المستأجرين لأنك تحتاج إلى الاستعلام عن مثيلات Application Insights متعددة بشكل منفصل. إذا كنت تستخدم هذا الأسلوب، ففكر في استخدام الاستعلامات عبر الموارد ومصنفات Azure Monitor.
ميزات Application Insights التي تدعم تعدد المستأجرين
الخصائص والمقاييس المخصصة
يوفر Application Insights طريقة لإثراء بيانات تتبع الاستخدام بخصائص ومقاييس مخصصة. الخصائص المخصصة هي أزواج قيم المفاتيح التي يمكنك إرفاقها بأي عنصر بيانات تتبع الاستخدام، مثل الطلبات أو الأحداث. المقاييس المخصصة هي قيم رقمية يمكنك تعقبها بمرور الوقت، مثل درجة أو طول قائمة انتظار. يمكنك استخدام الخصائص والمقاييس المخصصة لإضافة معلومات خاصة المستأجر، مثل معرف المستأجر واسم المستأجر وموقع المستأجر ومعرف طابع النشر، لبيانات تتبع الاستخدام.
هناك طريقتان لإضافة خصائص مخصصة إلى بيانات تتبع الاستخدام: باستخدام TelemetryClient
أو باستخدام مهيئات بيانات تتبع الاستخدام.
TelemetryClient
TelemetryClient هو كائن يمكنك استخدامه لتعقب أي عنصر بيانات تتبع الاستخدام. يمكنك الوصول إلى الخصائص المخصصة لأي عنصر بيانات تتبع الاستخدام عبر قاموسه Properties
. تتمثل ميزة الاستخدام TelemetryClient
في أن لديك تحكما كاملا في الخصائص المخصصة التي يجب إضافتها ومتى يجب إضافتها. العيب هو أنك تحتاج إلى الوصول إلى كل عنصر بيانات تتبع الاستخدام الذي تريد إثراءه بخصائص مخصصة وتعديله.
مهيئات بيانات تتبع الاستخدام
يمكنك استخدام مهيئات بيانات تتبع الاستخدام لإضافة معلومات إلى جميع عناصر بيانات تتبع الاستخدام، أو لتعديل الخصائص التي تم تعيينها بواسطة وحدات القياس عن بعد القياسية.
عند مشاركة مثيل Application Insights عبر عدة مستأجرين، غالبا ما يوفر مهيئ بيانات تتبع الاستخدام طريقة جيدة لإدخال معرف المستأجر في كل عنصر بيانات تتبع الاستخدام. يمكنك بعد ذلك استخدام المعرف للاستعلام عن التقارير وتصفيتها. تتمثل ميزة استخدام مهيئات بيانات تتبع الاستخدام في أنه يمكنك تطبيق خصائص مخصصة على جميع عناصر بيانات تتبع الاستخدام أو بعضها في مكان واحد دون الحاجة إلى كتابة التعليمات البرمجية لكل عنصر. العيب هو أن لديك تحكما أقل في الخصائص المخصصة التي يجب إضافتها إلى كل عنصر بيانات تتبع الاستخدام، لذلك قد تضيف بيانات غير ضرورية أو زائدة عن الحاجة.
عند إضافة خصائص مخصصة إلى بيانات تتبع الاستخدام، باستخدام أي آلية، يمكنك استخدام ميزات قوية من Application Insights لمراقبة التطبيقات متعددة المستأجرين وتحليلها بطريقة أكثر دقة ومعنى. على سبيل المثال، يمكنك:
- استخدم مستكشف المقاييس لإنشاء مخططات ورسوم بيانية توضح أداء التطبيق واستخدامه لكل مستأجر.
- استخدم Log Analytics لكتابة استعلامات معقدة تقوم بتصفية بيانات تتبع الاستخدام وتجميعها والانضمام إليها استنادا إلى خصائص أو مقاييس خاصة بالمستأجر.
- استخدم التنبيهات لإعداد القواعد التي تعلمك عند استيفاء شروط معينة للمستأجر.
- استخدم مصنفات Azure Monitor لإنشاء تقارير ولوحات معلومات تفاعلية تصور صحة وحالة التطبيق لكل مستأجر.
توحيد مثيلات Application Insights المتعددة في طريقة عرض واحدة
هناك عدة طرق لتوحيد البيانات من مثيلات Application Insights متعددة. يعتمد اختيارك على احتياجاتك وتفضيلاتك. تصف الأقسام التالية بعض الخيارات.
استعلامات الموارد المشتركة
يمكنك استخدام الاستعلامات عبر الموارد للاستعلام عن البيانات من مثيلات Application Insights متعددة في استعلام واحد. يمكن أن تكون المثيلات في مجموعة موارد واحدة أو في أكثر من مجموعة موارد واحدة أو في أكثر من اشتراك واحد. مع زيادة عدد مساحات عمل Application Insights في استعلام، قد يتدهور أداء الاستعلام. عدد مساحات عمل Application Insights التي يمكنك تضمينها في استعلام واحد محدود أيضا. لمزيد من المعلومات، راجع الاستعلام عبر مساحات عمل وتطبيقات متعددة.
مصنفات Azure Monitor
يمكنك استخدام مصنفات Azure Monitor لإنشاء تقارير ولوحات معلومات تفاعلية استنادا إلى بيانات من مصادر متعددة، بما في ذلك Application Insights. تمكنك هذه التقارير ولوحات المعلومات من تصور البيانات وتحليلها من مثيلات Application Insights متعددة في طريقة عرض واحدة.
زمن الانتقال
يشار إلى الوقت الذي تستغرقه البيانات الموجودة على نظام مراقب لتصبح متاحة للتحليل باسم زمن الانتقال. لا يتحمل مثيل Application Insights المشترك في تطبيق متعدد المستأجرين زمن انتقال أكثر من مثيل مخصص ما لم يتم تقييد المثيل المشترك ومنع التقييد من استيعاب البيانات. في هذا السيناريو، يزداد زمن الانتقال.
تحديد المعدل عند الاستيعاب
يمكنك تنفيذ تحديد معدل الاستيعاب في Application Insights باستخدام أخذ العينات للحد من كمية بيانات تتبع الاستخدام التي يتم استيعابها بواسطة خدمتك يوميا. يساعد أخذ العينات على منع Application Insights من تقييد بيانات تتبع الاستخدام بسبب حدود الاستيعاب. يمكنك استخدام أخذ العينات بمعدل ثابت لتحديد معدل أخذ العينات الأمثل، استنادا إلى عدد المستأجرين والحد الأقصى اليومي، من أجل البقاء ضمن الحدود.
المساهمون
تحتفظ Microsoft بهذه المقالة. وهي مكتوبة في الأصل من قبل المساهمين التاليين.
الكاتب الرئيسي:
- راج نيماني | مدير، الاستراتيجية التكنولوجية الشريكة، GPS-ISV
مساهمون آخرون:
- مايكل ألبرتس | كاتب تقني
- روب باغبي | مطور المحتوى الأساسي، C+E Skilling Content R&D
- جون داونز | مهندس البرامج الرئيسي
- ريك هاليهان | مهندس برامج أول، C+E Skilling Content R&D
- لاندون بيرس | مهندس عملاء، Azure CXP
- دانيال سكوت راينسفورد | الاستراتيجي التكنولوجي الشريك، OCP
- آرسن فلاديميرسكي | مهندس العملاء الرئيسي، Azure CXP
لمشاهدة ملفات تعريف LinkedIn غير العامة، سجل الدخول إلى LinkedIn.
الخطوات التالية
- التدريب: مراقبة أداء التطبيق
- ما هو Application Insights؟
- حدود Application Insights
- الاستعلام عبر مساحات عمل وتطبيقات متعددة
- التدريب: تصور البيانات المجمعة من مصادر بيانات متعددة باستخدام مصنفات Azure
- التقاط مقاييس Application Insights المخصصة باستخدام .NET و.NET Core
- واجهة برمجة تطبيقات Application Insights للأحداث والمقاييس المخصصة
- نموذج بيانات تتبع استخدام Application Insights
- أسعار Azure Monitor
- وقت استيعاب بيانات السجل في Azure Monitor
- أخذ العينات في Application Insights
- التصفية والمعالجة المسبقة لبيانات تتبع الاستخدام في Application Insights SDK