مراقبة عمليات التنفيذ في دالات Azure

توفر دالات Azure تكاملاً مضمنًا مع Azure Application Insights لمراقبة الدالات. توفر هذه المقالة نظرة عامة حول إمكانيات المراقبة التي يوفرها Azure لمراقبة وظائف Azure.

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

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

يمكنك أيضاً مراقبة تطبيق الوظائف نفسه باستخدام مراقبة Azure. لمعرفة المزيد، راجع مراقبة دالات Azure باستخدام مراقبة Azure.

أسعار وحدود تطبيق رؤى التطبيق

يمكنك تجربة تكامل Application Insights مع وظائف Azure مجانًا مع عرض حد يومي لمقدار البيانات التي تتم معالجتها مجانًا.

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

هام

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

يتم تفصيل القائمة الكاملة لميزات Application Insights المتوفرة لتطبيق الوظائف في Application Insights للميزات المدعومة من Azure Functions.

تكامل رؤى التطبيق

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

هام

تتطلب السحب السيادية، مثل Azure Government، استخدام سلسلة الاتصال Application Insights (APPLICATIONINSIGHTS_CONNECTION_STRING) بدلا من مفتاح الأجهزة. لمعرفة المزيد، راجع مرجع APPLICATIONINSIGHTS_CONNECTION_STRING.

يوضح الجدول التالي بالتفصيل الميزات المدعومة ل Application Insights المتوفرة لمراقبة تطبيقات الوظائف الخاصة بك:

إصدار وقت تشغيل Azure Functions 1.x 2.x+
مجموعة تلقائية من
• الطلبات
• الاستثناءات
• عدادات الأداء
• التبعيات
   — HTTP
   — ناقل خدمة Microsoft Azure
   — مراكز الأحداث
   — SQL*
ميزة مدعومة
• QuickPulse/LiveMetrics ‏‏نعم‬ ‏‏نعم‬
   — قناة التحكم الآمن ‏‏نعم‬
• أخذ العينات ‏‏نعم‬ ‏‏نعم‬
• رسائل كشف أخطاء الاتصال ‏‏نعم‬
الارتباط
• Service Bus ‏‏نعم‬
• مراكز الأحداث ‏‏نعم‬
شكلي
قابل للتكوين بالكامل ‏‏نعم‬

* لتمكين مجموعة نص سلسلة استعلام SQL، راجع تمكين مجموعة استعلام SQL.

جمع بيانات القياس عن بُعد

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

إشعار

بالإضافة إلى البيانات من الوظائف ومضيف الوظائف، يمكنك أيضا جمع البيانات من وحدة تحكم مقياس الوظائف.

مستويات التسجيل والفئات

عندما تكتب آثارًا من رمز التطبيق الخاص بك، يجب عليك تعيين مستوى سجل للتتبع. توفر مستويات السجل طريقة لك للحد من كمية البيانات التي يتم جمعها من تتبعاتك.

يتم تعيين مستوى سجل لكل سجل. تعبر القيمة عن عدد صحيح يشير إلى الأهمية النسبية:

LogLevel الرمز ‏‏الوصف
Trace 0 السجلات التي تحتوي على الرسائل الأكثر تفصيلاً. قد تحتوي هذه الرسائل على بيانات تطبيق حساسة. يتم تعطيل هذه الرسائل افتراضياً، ويجب ألا يتم تمكينها أبداً في بيئة إنتاج.
تصحيح 1 السجلات المستخدمة للتحقيق التفاعلي أثناء التطوير. يجب أن تحتوي هذه السجلات بشكل أساسي على معلومات مفيدة لتصحيح الأخطاء، وليس لها قيمة طويلة المدى.
‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏المعلومات 2 سجلات تتبع التدفق العام للتطبيق. يجب أن تكون لهذه السجلات قيمة طويلة الأجل.
تحذير 3 السجلات التي تبرز حدثاً غير طبيعي أو غير متوقع في تدفق التطبيق، ولكن لا تتسبب في توقف تنفيذ التطبيق.
خطأ 4 السجلات التي تبرز عند إيقاف التدفق الحالي للتنفيذ بسبب فشل. يجب أن تشير هذه السجلات إلى الإخفاقات في النشاط الحالي، وليس الفشل على مستوى التطبيق.
هام 5 يصف تطبيقاً غير قابل للاسترداد أو تعطلاً في النظام، أو فشلاً ذريعًا يتطلب اهتماماً فورياً.
بلا 6 تعطيل التسجيل للفئة المحددة.

يحدد تكوين ملف host.json مقدار تسجيل تطبيق الوظائف الذي يرسله إلى Application Insights.

لمعرفة المزيد حول مستويات السجل، راجع تكوين مستويات السجل.

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

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

في C#‎ وJavaScript وPython، يمكنك استخدام Application Insights SDK لكتابة بيانات القياس عن بعد المخصصة.

التبعيات

بدءًا من الإصدار 2.x من دالات Azure، يقوم Application Insights تلقائيًا بجمع البيانات حول التبعيات للارتباطات التي تستخدم بعض مجموعات تطوير البرامج (SDK) الخاصة بالعميل. لا يتم حاليا دعم التتبع الموزع ل Application Insights وتعقب التبعية لتطبيقات C# التي تعمل في عملية عامل معزولة. تجمع معلومات التطبيق بيانات حول التبعيات التالية:

  • Azure Cosmos DB
  • مراكز أحداث Azure
  • ناقل خدمة Azure
  • خدمات تخزين Azure (Blob, Queue, and Table)

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

ينشئ Application Insights خريطة تطبيق لبيانات التبعية المجمعة. فيما يلي مثال على خريطة تطبيق لوظيفة مشغل HTTP مع ربط إخراج تخزين قائمة الانتظار.

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

تتم كتابة التبعيات على Information المستوى . إذا قمت بالتصفية عند Warning أو أعلى، فلن ترى بيانات التبعية. أيضًا، يحدث التجميع التلقائي للاعتماديات في نطاق غير مستخدم. لالتقاط بيانات التبعية، تأكد من تعيين المستوى على الأقل Information خارج نطاق المستخدم (Function.<YOUR_FUNCTION_NAME>.User) في المضيف.

بالإضافة إلى جمع بيانات التبعية تلقائيًا، يمكنك أيضًا استخدام إحدى حزم SDKs الخاصة بـ Application Insights الخاصة باللغة لكتابة معلومات التبعية المخصصة إلى السجلات. للحصول على مثال حول كيفية كتابة التبعيات المخصصة، راجع أحد الأمثلة التالية الخاصة باللغة:

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

لا يتم دعم المجموعة التلقائية من عدادات الأداء عند التشغيل على Linux.

الكتابة في السجلات

تعتمد الطريقة التي تكتب بها في السجلات وواجهات برمجة التطبيقات APIs التي تستخدمها على لغة مشروع تطبيق الوظيفة الخاص بك.
راجع دليل المطور للغة الخاصة بك لمعرفة المزيد حول كتابة السجلات من وظائفك.

تحليل البيانات

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

سجلات التدفق

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

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

  • دفق السجلات المضمّن: يتيح لك النظام الأساسي لـ App Service إمكانية عرض دفق ملفات سجل التطبيقات. هذا الدفق يعادل الإخراج الذي يظهر عند تصحيح وظائفك أثناء التطوير المحلي وعند استخدام علامة التبويب Test في المدخل. جميع المعلومات المستندة إلى السجل معروضة. للحصول على مزيد من المعلومات، راجع سجلات دفق السجلات. يدعم أسلوب الدفق هذا مثيل واحد فقط، ولا يمكن استخدامه مع تطبيق يعمل على Linux في خطة Consumption.

  • Live Metrics Stream: عندما يكون تطبيق الوظائف متصلا ب Application Insights، يمكنك عرض بيانات السجل والمقاييس الأخرى في الوقت الفعلي تقريبا في مدخل Microsoft Azure باستخدام Live Metrics Stream. استخدم هذا الأسلوب عند مراقبة الوظائف التي تعمل على مثيلات متعددة أو على Linux في خطة Consumption. يستخدم هذا الأسلوب عينات البيانات.

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

سجلات التشخيص

تتيح لك رؤى التطبيق تصدير بيانات القياس عن بُعد إلى التخزين طويل الأجل أو خدمات التحليل الأخرى.

نظرًا إلى أن الوظائف تتكامل أيضًا مع Azure Monitor، يمكنك أيضًا استخدام إعدادات التشخيص لإرسال بيانات القياس عن بُعد إلى وجهات مختلفة، بما في ذلك سجلات Azure Monitor. لتتعرف على المزيد، اطلع على مراقبة Azure Functions باستخدام سجلات Azure Monitor.

سجلات تحكم المقياس

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

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

قياسات Azure Monitor

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

الإبلاغ عن المشكلات

للإبلاغ عن مشكلة في تكامل Application Insights في Functions، أو لتقديم اقتراح أو طلب، قم بإنشاء مشكلة في GitHub.

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

لمزيد من المعلومات، راجع الموارد التالية: