إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
دالات Azure يقدم تكاملا مدمجا مع Azure Application Insights لمراقبة تنفيذ الوظائف. تقدم هذه المقالة نظرة عامة على قدرات المراقبة التي يوفرها Azure لمراقبة دالات Azure، بما في ذلك كيفية اختيار مصدر للقياس عن بعد.
تجمع Application Insights بيانات السجل والأداء والخطأ. من خلال الكشف التلقائي عن الانحرافات في الأداء وإبراز أدوات التحليل القوية، يمكنك بسهولة تشخيص المشكلات وفهم كيفية استخدام دالاتك بشكل أفضل. تم تصميم هذه الأدوات لمساعدتك على التحسين المستمر للأداء وسهولة استخدام وظائفك. يمكنك حتى استخدام Application Insights أثناء تطوير مشروع تطبيق الوظائف المحلية.
نظرا لأن أدوات Application Insights مدمجة في دالات Azure، تحتاج إلى مفتاح سلسلة الاتصال أو instrumentation صالح لربط تطبيق الوظائف الخاص بك بمورد Application Insights الخاص بك. يتم تكوين هذا الاتصال كإعداد تطبيق عند إنشاء مورد تطبيق الوظائف الخاص بك في Azure. إذا لم يكن تطبيق الوظائف لديك يحتوي على هذا الإعداد بالفعل، يمكنك تعيينه يدويا.
يمكنك أيضا مراقبة تطبيق الوظائف نفسه باستخدام Azure Monitor. لمعرفة المزيد، راجع Monitor دالات Azure.
خيارات تصدير القياس عن بعد
يقوم دالات Azure بتوليد بيانات بيانات التليمترية من كل من عملية استضافة Functions وعملية العامل الخاصة باللغة التي يتم تشغيل فيها كود الدالة. يمكنك اختيار كيفية تصدير بيانات التليمترية هذه:
| طريقة التصدير | الوصف | التوصية |
|---|---|---|
| OpenTelemetry مع Azure Monitor Exporter | يصدر التليمترية بصيغة OpenTelemetry إلى Application Insights واختياريا إلى أي نقطة نهاية متوافقة مع OTLP. | موصى به للتطبيقات الجديدة والقائمة. |
| تكامل مدمج مع Application Insights | التكامل الافتراضي الذي يرسل بيانات البيانات إلى Application Insights دون الحاجة إلى كود إضافي. | جيد لاحتياجات المراقبة الأساسية. |
| مجموعات تطوير التطبيقات الكلاسيكية (Application Insights SDKs) | مجموعات SDK خاصة باللغات توفر تحكما دقيقا في القياس المخصص. | قديم. خطط للانتقال إلى OpenTelemetry. |
هام
بالنسبة للتطبيقات الجديدة والقائمة، النهج الموصى به هو استخدام Azure Monitor OpenTelemetry Exporter لإرسال البيانات إلى Application Insights. إذا كنت تستخدم حاليا حزمة تطوير التطبيقات الكلاسيكية لتخصيص بيانات البيانات المصدرة، خطط للانتقال إلى OpenTelemetry للدعم طويل الأمد والوصول إلى أحدث قدرات الملاحظة. لن تحصل مجموعات تطوير التطبيقات الكلاسيكية من Application Insights على تحديثات ميزات جديدة. OpenTelemetry غير مدعوم لتطبيقات C# أثناء العمليات.
يتطلب مصدر OpenTelemetry Azure Monitor سلسلة الاتصال Application Insights (APPLICATIONINSIGHTS_CONNECTION_STRING) ولا يدعم استخدام مفتاح الأجهزة.
لتعلم كيفية تكوين OpenTelemetry في تطبيق الوظائف الخاص بك، راجع Use OpenTelemetry مع دالات Azure.
أسعار وحدود تطبيق رؤى التطبيق
يمكنك تجربة تكامل Application Insights مع دالات Azure مجانا مع تحديد حد يومي لكمية البيانات التي تتم معالجتها مجانا.
إذا قمت بتمكين Applications Insights في أثناء التطوير، فقد تصل إلى هذا الحد في أثناء الاختبار. يوفر Azure إشعارات عبر البوابة والبريد الإلكتروني عندما تقترب من الحد اليومي الخاص بك. إذا فاتتك هذه التنبيهات وتجاوزت الحد الأقصى، فلن تظهر السجلات الجديدة في استعلامات Application Insights. كن على علم بالحد الأقصى لتجنب وقت استكشاف الأخطاء وإصلاحها غير الضروري. لمزيد من المعلومات، راجع فوترة Application Insights.
هام
يحتوي Application Insights على ميزة أخذ العينات التي يمكن أن تحميك من إنتاج الكثير من بيانات تتبع الاستخدام في عمليات التنفيذ المكتملة في أوقات ذروة التحميل. يتم تمكين أخذ العينات بشكل افتراضي. إذا بدا أنك تفقد بيانات، فقد تحتاج إلى ضبط إعدادات أخذ العينات لتلائم سيناريو المراقبة الخاص بك. لمعرفة المزيد، راجع تكوين العينات.
تكامل رؤى التطبيق
عادةً ما تقوم بإنشاء مثيل Application Insights عند إنشاء تطبيق الوظيفة الخاص بك. في هذه الحالة، تم تعيين مفتاح الأجهزة المطلوب للتكامل بالفعل كإعداد تطبيق يسمى APPINSIGHTS_INSTRUMENTATIONKEY. إذا كان تطبيق الوظائف الخاص بك لا يحتوي على مجموعة مفاتيح الأجهزة لسبب ما، فأنت بحاجة إلى تمكين تكامل Application Insights.
هام
تتطلب السحب السيادية، مثل Azure Government، استخدام Application Insights سلسلة الاتصال (APPLICATIONINSIGHTS_CONNECTION_STRING) بدلا من مفتاح الأجهزة. لمعرفة المزيد، راجع مرجع APPLICATIONINSIGHTS_CONNECTION_STRING.
يوضح الجدول التالي بالتفصيل الميزات المدعومة ل Application Insights المتوفرة لمراقبة تطبيقات الوظائف الخاصة بك:
| دالات Azure runtime version | 1.x | 4.x+ |
|---|---|---|
| مجموعة تلقائية من | ||
| • الطلبات | ✓ | ✓ |
| • الاستثناءات | ✓ | ✓ |
| • عدادات الأداء | ✓ | ✓ |
| • التبعيات | ||
| — HTTP | ✓ | |
| — Service Bus | ✓ | |
| — مراكز الأحداث | ✓ | |
| — SQL* | ✓ | |
| ميزة مدعومة | ||
| • كويك بالس/لايف ميتريكس | نعم | نعم |
| — قناة التحكم الآمن | نعم | |
| • أخذ العينات | نعم | نعم |
| • رسائل كشف أخطاء الاتصال | نعم | |
| الارتباط | ||
| • Service Bus | نعم | |
| • مراكز الأحداث | نعم | |
| شكلي | ||
| •قابل للتكوين بالكامل | نعم |
* لتمكين مجموعة نص سلسلة استعلام SQL، راجع تمكين مجموعة استعلام SQL.
جمع بيانات القياس عن بُعد
مع تمكين تكامل Application Insights، يتم إرسال بيانات القياس عن بُعد إلى مثيل Application Insights المتصل. تتضمن هذه البيانات السجلات التي تم إنشاؤها بواسطة مضيف الوظائف، والتتبعات المكتوبة من كود الوظائف، وبيانات الأداء.
إشعار
بالإضافة إلى البيانات من الوظائف ومضيف الوظائف، يمكنك أيضا جمع البيانات من وحدة تحكم مقياس الوظائف.
مستويات التسجيل والفئات
عندما تكتب آثارًا من رمز التطبيق الخاص بك، يجب عليك تعيين مستوى سجل للتتبع. توفر مستويات السجل طريقة لك للحد من كمية البيانات التي يتم جمعها من تتبعاتك.
يتم تعيين مستوى سجل لكل سجل. تعبر القيمة عن عدد صحيح يشير إلى الأهمية النسبية:
| مستوى السجل | الرمز | الوصف |
|---|---|---|
| أثر | 1 | السجلات التي تحتوي على الرسائل الأكثر تفصيلاً. قد تحتوي هذه الرسائل على بيانات تطبيق حساسة. يتم تعطيل هذه الرسائل افتراضياً، ويجب ألا يتم تمكينها أبداً في بيئة إنتاج. |
| تصحيح | 1 | السجلات المستخدمة للتحقيق التفاعلي أثناء التطوير. يجب أن تحتوي هذه السجلات بشكل أساسي على معلومات مفيدة لتصحيح الأخطاء، وليس لها قيمة طويلة المدى. |
| المعلومات | 2 | سجلات تتبع التدفق العام للتطبيق. يجب أن تكون لهذه السجلات قيمة طويلة الأجل. |
| تحذير | 3 | السجلات التي تبرز حدثاً غير طبيعي أو غير متوقع في تدفق التطبيق، ولكن لا تتسبب في توقف تنفيذ التطبيق. |
| خطأ | 4 | السجلات التي تبرز عند إيقاف التدفق الحالي للتنفيذ بسبب فشل. يجب أن تشير هذه السجلات إلى الإخفاقات في النشاط الحالي، وليس الفشل على مستوى التطبيق. |
| هام | 5 | يصف تطبيقاً غير قابل للاسترداد أو تعطلاً في النظام، أو فشلاً ذريعًا يتطلب اهتماماً فورياً. |
| بلا | 6 | تعطيل التسجيل للفئة المحددة. |
يحدد تكوين ملف host.json مقدار تسجيل تطبيق الوظائف الذي يرسله إلى Application Insights.
لمعرفة المزيد حول مستويات السجل، راجع تكوين مستويات السجل.
من خلال تعيين عناصر مسجلة إلى فئة، يمكنك التحكم بشكل أكبر في القياس عن بُعد الذي تم إنشاؤه من مصادر محددة في تطبيق وظيفتك. تجعل الفئات من السهل تشغيل التحليلات على البيانات المجمعة. يتم تعيين الآثار المكتوبة من رمز الوظيفة الخاص بك إلى فئات فردية بناءً على اسم الوظيفة. لمعرفة المزيد حول الفئات، راجع تكوين الفئات.
بيانات القياس عن بعد المخصصة
لكتابة بيانات تليمترية مخصصة من وظائفك، الطريقة الموصى بها هي استخدام مصدر OpenTelemetry، الذي يوفر بيانات تليمترية قائمة على المعايير يمكن إرسالها إلى Application Insights وأي نقطة نهاية متوافقة مع OTLP.
يمكنك أيضا استخدام مجموعات تطوير التطبيقات الكلاسيكية الخاصة باللغة لكتابة بيانات تليمترية مخصصة بC#، JavaScript، و Python. ومع ذلك، فإن هذه المجموعات الكلاسيكية قديمة ولن تحصل على تحديثات ميزات جديدة. أخطط للانتقال إلى OpenTelemetry للحصول على دعم طويل الأمد.
التبعيات
بدءًا من الإصدار 2.x من دالات Azure، يقوم Application Insights تلقائيًا بجمع البيانات حول التبعيات للارتباطات التي تستخدم بعض مجموعات تطوير البرامج (SDK) الخاصة بالعميل. تجمع معلومات التطبيق بيانات حول التبعيات التالية:
- Azure Cosmos DB
- مراكز أحداث Azure
- ناقل خدمة Azure
- تخزين Azure services (Blob, Queue, and Table)
يتم أيضا التقاط طلبات HTTP ومكالمات قاعدة البيانات التي تستخدمها SqlClient . للحصول على القائمة الكاملة للتبعيات التي يدعمها Application Insights، راجع التبعيات المتعقبة تلقائيا.
ينشئ Application Insights خريطة تطبيق لبيانات التبعية المجمعة. فيما يلي مثال على خريطة تطبيق لوظيفة مشغل HTTP مع ربط إخراج تخزين قائمة الانتظار.
تتم كتابة التبعيات على Information المستوى . إذا قمت بالتصفية عند Warning أو أعلى، فلن ترى بيانات التبعية. أيضًا، يحدث التجميع التلقائي للاعتماديات في نطاق غير مستخدم. لالتقاط بيانات التبعية، تأكد من تعيين المستوى على الأقل Information خارج نطاق المستخدم (Function.<YOUR_FUNCTION_NAME>.User) في المضيف.
بالإضافة إلى جمع بيانات التبعيات تلقائيا، يمكنك كتابة معلومات تبعية مخصصة إلى السجلات. النهج الموصى به هو استخدام مصدر OpenTelemetry لتتبع التبعيات المعتمدة على المعايير.
يمكنك أيضا استخدام مجموعات تطوير التطبيقات الكلاسيكية الخاصة باللغات، لكنها قديمة ولن تحصل على تحديثات ميزات جديدة:
- تسجيل بيانات تتبع الاستخدام المخصصة في وظائف C#
- تسجيل بيانات تتبع الاستخدام المخصصة في وظائف JavaScript
- سجل بيانات التليمترية المخصصة في Python الدوال
عدادات الأداء
لا يتم دعم المجموعة التلقائية من عدادات الأداء عند التشغيل على Linux.
الكتابة في السجلات
تعتمد الطريقة التي تكتب بها في السجلات وواجهات برمجة التطبيقات APIs التي تستخدمها على لغة مشروع تطبيق الوظيفة الخاص بك. راجع دليل المطور للغة الخاصة بك لمعرفة المزيد حول كتابة السجلات من وظائفك.
تحليل البيانات
بشكل افتراضي، يتم تخزين البيانات التي تم جمعها من تطبيق وظيفتك في Application Insights. في بوابة Azure، توفر Application Insights مجموعة واسعة من التصورات لبيانات التليمترية الخاصة بك. يمكنك التعمق في سجلات الأخطاء وأحداث الاستعلام والمقاييس. لتعلم المزيد، بما في ذلك أمثلة أساسية حول كيفية عرض البيانات المجمعة والاستعلام فيها، راجع تحليل دالات Azure القياس عن بعد في Application Insights.
سجلات التدفق
أثناء تطوير تطبيق، غالبا ما ترغب في رؤية ما يكتب على السجلات في الوقت الفعلي تقريبا عند تشغيله في Azure.
هناك طريقتان لعرض تدفق بيانات السجل التي يتم إنشاؤها بواسطة عمليات تنفيذ الوظائف الخاصة بك.
دفق السجلات المضمّن: يتيح لك النظام الأساسي لـ App Service إمكانية عرض دفق ملفات سجل التطبيقات. هذا الدفق يعادل الإخراج الذي يظهر عند تصحيح وظائفك أثناء التطوير المحلي وعند استخدام علامة التبويب Test في المدخل. جميع المعلومات المستندة إلى السجل معروضة. للحصول على مزيد من المعلومات، راجع سجلات دفق السجلات. يدعم أسلوب الدفق هذا مثيل واحد فقط، ولا يمكن استخدامه مع تطبيق يعمل على Linux في خطة Consumption.
Live Metrics Stream: عندما يكون تطبيق الوظيفة الخاص بك متصل بApplication Insights، يمكنك عرض بيانات السجل ومقاييس أخرى في الوقت شبه الفعلي في بوابة Azure باستخدام Live Metrics Stream. استخدم هذا الأسلوب عند مراقبة الوظائف التي تعمل على مثيلات متعددة أو على Linux في خطة Consumption. يستخدم هذا الأسلوب عينات البيانات.
يمكن عرض دفق السجلات في كل من المدخل وفي معظم بيئات التطوير المحلية. لمعرفة كيفية تفعيل تدفقات السجل، راجع تفعيل سجلات تنفيذ البث في دالات Azure.
سجلات التشخيص
تتيح لك رؤى التطبيق تصدير بيانات القياس عن بُعد إلى التخزين طويل الأجل أو خدمات التحليل الأخرى.
نظرا لأن Functions يتكامل أيضا مع Azure Monitor، يمكنك أيضا استخدام إعدادات التشخيص لإرسال بيانات القياس عن بعد إلى وجهات مختلفة، بما في ذلك سجلات Azure Monitor. لمعرفة المزيد، راجع Monitor دالات Azure.
سجلات تحكم المقياس
يراقب مقياس وحدة التحكم دالات Azure نسخ من المضيف دالات Azure الذي يعمل عليه تطبيقك. تتخذ وحدة التحكم هذه قرارات حول وقت إضافة المثيلات أو إزالتها بناءً على الأداء الحالي. يمكنك جعل وحدة التحكم في الميزان ترسل سجلات إلى Application Insights لفهم القرارات التي يتخذها جهاز التحكم في النطاق لتطبيق وظيفتك بشكل أفضل. يمكنك أيضًا تخزين السجلات التي تم إنشاؤها في تخزين Blob لتحليلها بواسطة خدمة أخرى.
لتمكين هذه الميزة، يمكنك إضافة إعداد تطبيق يُسمى SCALE_CONTROLLER_LOGGING_ENABLED إلى إعدادات تطبيق الدالة. لمعرفة كيفية إجراء ذلك، راجع تكوين سجلات وحدة تحكم المقياس.
Azure Monitor metrics
بالإضافة إلى بيانات التليمترية القائمة على السجلات التي تجمعها Application Insights، يمكنك أيضا الحصول على بيانات حول كيفية تشغيل تطبيق الوظيفة من Azure Monitor Metrics. لمعرفة المزيد، راجع Monitor دالات Azure.
الإبلاغ عن المشكلات
للإبلاغ عن مشكلة في تكامل Application Insights في Functions، أو لتقديم اقتراح أو طلب، إنشاء مشكلة في GitHub.
الخطوات التالية
لمزيد من المعلومات، راجع الموارد التالية:
- Application Insights
- ASP.NET Core التسجيل