مراقبة Azure Functions

توضح هذه المقالة ما يلي:

  • أنواع بيانات المراقبة التي يمكنك جمعها لهذه الخدمة.
  • طرق لتحليل تلك البيانات.

إشعار

إذا كنت على دراية بهذه الخدمة و/أو Azure Monitor وتريد فقط معرفة كيفية تحليل بيانات المراقبة، فشاهد قسم Analyze بالقرب من نهاية هذه المقالة.

عندما يكون لديك تطبيقات وعمليات أعمال مهمة تعتمد على موارد Azure، تحتاج إلى مراقبة النظام والحصول على تنبيهات له. تجمع خدمة Azure Monitor المقاييس والسجلات وتجمعها من كل مكون من مكونات النظام. يوفر لك Azure Monitor طريقة عرض التوفر والأداء والمرونة، ويعلمك بالمشكلات. يمكنك استخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI أو REST API أو مكتبات العميل لإعداد بيانات المراقبة وعرضها.

الرؤى

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

Application Insights

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

أنواع الموارد

يستخدم Azure مفهوم أنواع الموارد والمعرفات لتحديد كل شيء في الاشتراك. أنواع الموارد هي أيضا جزء من معرفات الموارد لكل مورد يعمل في Azure. على سبيل المثال، نوع مورد واحد لجهاز ظاهري هو Microsoft.Compute/virtualMachines. للحصول على قائمة بالخدمات وأنواع الموارد المقترنة بها، راجع موفري الموارد.

ينظم Azure Monitor بالمثل بيانات المراقبة الأساسية في مقاييس وسجلات استنادا إلى أنواع الموارد، وتسمى أيضا مساحات الأسماء. تتوفر مقاييس وسجلات مختلفة أنواع موارد مختلفة. قد تكون خدمتك مقترنة بأكثر من نوع مورد واحد.

لمزيد من المعلومات حول أنواع الموارد ل Azure Functions، راجع مرجع بيانات مراقبة Azure Functions.

تخزين البيانات.

بالنسبة إلى Azure Monitor:

  • يتم تخزين بيانات المقاييس في قاعدة بيانات مقاييس Azure Monitor.
  • يتم تخزين بيانات السجل في مخزن سجلات Azure Monitor. Log Analytics هي أداة في مدخل Microsoft Azure يمكنها الاستعلام عن هذا المتجر.
  • سجل نشاط Azure هو مخزن منفصل بواجهة خاصة به في مدخل Microsoft Azure.

يمكنك اختياريا توجيه بيانات سجل المقاييس والنشاط إلى مخزن سجلات Azure Monitor. يمكنك بعد ذلك استخدام Log Analytics للاستعلام عن البيانات وربطها ببيانات السجل الأخرى.

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

للحصول على معلومات مفصلة حول كيفية تخزين Azure Monitor للبيانات، راجع النظام الأساسي لبيانات Azure Monitor.

مقاييس النظام الأساسي ل Azure Monitor

يوفر Azure Monitor مقاييس النظام الأساسي لمعظم الخدمات. هذه المقاييس هي:

  • معرف بشكل فردي لكل مساحة اسم.
  • مخزن في قاعدة بيانات مقاييس السلسلة الزمنية ل Azure Monitor.
  • خفيف الوزن وقادر على دعم التنبيه في الوقت الفعلي تقريبا.
  • يستخدم لتعقب أداء مورد بمرور الوقت.

المجموعة: يجمع Azure Monitor مقاييس النظام الأساسي تلقائيا. لا يلزم التكوين.

التوجيه: يمكنك أيضا توجيه بعض مقاييس النظام الأساسي إلى Azure Monitor Logs / Log Analytics حتى تتمكن من الاستعلام عنها باستخدام بيانات السجل الأخرى. تحقق من إعداد تصدير DS لكل مقياس لمعرفة ما إذا كان يمكنك استخدام إعداد تشخيص لتوجيه المقياس إلى سجلات Azure Monitor / Log Analytics.

للحصول على قائمة بجميع المقاييس، من الممكن جمعها لجميع الموارد في Azure Monitor، راجع المقاييس المدعومة في Azure Monitor.

للحصول على قائمة بالمقاييس المتوفرة ل Azure Functions، راجع مرجع بيانات مراقبة Azure Functions.

إشعار

لا تتوفر مقاييس App Service (Microsoft.Web/sites) عند تشغيل تطبيق الوظائف على Linux في خطة الاستهلاك.

سجلات موارد Azure Monitor

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

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

التوجيه: الافتراضي المقترح هو توجيه سجلات الموارد إلى سجلات Azure Monitor حتى تتمكن من الاستعلام عنها باستخدام بيانات السجل الأخرى. تتوفر أيضا مواقع أخرى مثل Azure Storage وAzure Event Hubs وبعض شركاء مراقبة Microsoft. لمزيد من المعلومات، راجع سجلات موارد Azure ووجهات سجل الموارد.

للحصول على معلومات مفصلة حول جمع سجلات الموارد وتخزينها وتوجيهها، راجع إعدادات التشخيص في Azure Monitor.

للحصول على قائمة بجميع فئات سجل الموارد المتوفرة في Azure Monitor، راجع سجلات الموارد المدعومة في Azure Monitor.

تحتوي جميع سجلات الموارد في Azure Monitor على نفس حقول العنوان، متبوعة بالحقول الخاصة بالخدمة. المخطط الشائع مُوضح في مخطط سجل الموارد في Azure Monitor.

تتكامل Azure Functions مع سجلات Azure Monitor لمراقبة الوظائف. للحصول على إرشادات مفصلة حول كيفية إعداد إعدادات التشخيص لتكوين سجلات الموارد وتوجيهها، راجع إنشاء إعدادات التشخيص في Azure Monitor.

لقطة شاشة لإضافة إعداد تشخيص ل Azure Functions.

بالنسبة لفئات سجل الموارد المتوفرة وجداول Log Analytics المقترنة بها ومخططات السجلات لوظائف Azure، راجع مرجع بيانات مراقبة Azure Functions.

سجل الأنشطة Azure

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

المجموعة: يتم إنشاء أحداث سجل النشاط تلقائيا وتجميعها في مخزن منفصل للعرض في مدخل Microsoft Azure.

التوجيه: يمكنك إرسال بيانات سجل النشاط إلى سجلات Azure Monitor حتى تتمكن من تحليلها جنبا إلى جنب مع بيانات السجل الأخرى. تتوفر أيضا مواقع أخرى مثل Azure Storage وAzure Event Hubs وبعض شركاء مراقبة Microsoft. لمزيد من المعلومات حول كيفية توجيه سجل النشاط، راجع نظرة عامة على سجل نشاط Azure.

سجلات أخرى

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

تحليل بيانات المراقبة

هناك العديد من الأدوات لتحليل بيانات المراقبة.

أدوات Azure Monitor

يدعم Azure Monitor الأدوات الأساسية التالية:

  • مستكشف المقاييس، أداة في مدخل Microsoft Azure تسمح لك بعرض وتحليل المقاييس لموارد Azure. لمزيد من المعلومات، راجع تحليل المقاييس باستخدام مستكشف مقاييس Azure Monitor.

  • Log Analytics، أداة في مدخل Microsoft Azure تسمح لك بالاستعلام عن بيانات السجل وتحليلها باستخدام لغة استعلام Kusto (KQL). لمزيد من المعلومات، راجع البدء في استعلامات السجل في Azure Monitor.

  • سجل النشاط، الذي يحتوي على واجهة مستخدم في مدخل Microsoft Azure للعرض وعمليات البحث الأساسية. لإجراء تحليل أكثر تعمقا، يجب عليك توجيه البيانات إلى سجلات Azure Monitor وتشغيل استعلامات أكثر تعقيدا في Log Analytics.

تتضمن الأدوات التي تسمح بتصور أكثر تعقيدا ما يلي:

  • لوحات المعلومات التي تتيح لك دمج أنواع مختلفة من البيانات في جزء واحد في مدخل Microsoft Azure.
  • المصنفات والتقارير القابلة للتخصيص التي يمكنك إنشاؤها في مدخل Microsoft Azure. يمكن أن تتضمن المصنفات النص والمقاييس واستعلامات السجل.
  • Grafana، أداة منصة مفتوحة تتفوق في لوحات المعلومات التشغيلية. يمكنك استخدام Grafana لإنشاء لوحات معلومات تتضمن بيانات من مصادر متعددة غير Azure Monitor.
  • Power BI، خدمة تحليلات الأعمال التي توفر مرئيات تفاعلية عبر مصادر بيانات مختلفة. يمكنك تكوين Power BI لاستيراد بيانات السجل تلقائيًا من Azure Monitor للاستفادة من هذه المرئيات.

أدوات تصدير Azure Monitor

يمكنك الحصول على البيانات من Azure Monitor في أدوات أخرى باستخدام الطرق التالية:

  • المقاييس: استخدم واجهة برمجة تطبيقات REST للمقاييس لاستخراج بيانات القياس من قاعدة بيانات مقاييس Azure Monitor. تدعم واجهة برمجة التطبيقات تعبيرات التصفية لتحسين البيانات التي تم استردادها. لمزيد من المعلومات، راجع مرجع Azure Monitor REST API.

  • السجلات: استخدم واجهة برمجة تطبيقات REST أو مكتبات العميل المقترنة.

  • خيار آخر هو تصدير بيانات مساحة العمل.

لبدء استخدام واجهة برمجة تطبيقات REST ل Azure Monitor، راجع معاينة واجهة برمجة تطبيقات REST لمراقبة Azure.

تحليل مقاييس Azure Functions

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

استخدم مستكشف قياسات المراقبة في Azure لعرض البيانات المتعلقة بالتكلفة لتطبيقات وظيفة خطة الاستهلاك بتنسيق رسومي.

  1. انتقل إلى تطبيق الوظائف الجديد في مدخل Azure.

  2. في اللوحة اليسرى، مرر لأسفل إلى Metric واختر Metrics.

  3. من Metric، اختار Function Execution CountوSum لـAggregation. يؤدي هذا إلى إضافة مجموع عدد عمليات التنفيذ خلال الفترة المختارة إلى الرسم البياني.

    تحديد مقياس تطبيق الوظائف لإضافته إلى المخطط البياني

  4. حدد Add metric وكرر الخطوات من 2 إلى 4 لإضافة وحدات تنفيذ الوظائف إلى المخطط البياني.

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

رسم Microsoft Azure Active Directory Graph لأعداد تنفيذ الدوال ووحدات التنفيذ

نظرًا لأن عدد وحدات التنفيذ أكبر بكثير من عدد التنفيذ، فإن المخطط البياني يعرض فقط وحدات التنفيذ.

يعرض هذا المخطط البياني ما مجموعه 1.11 مليار Function Execution Units مستهلك في فترة ساعتين، يقاس بالميغابايت في المللي ثانية. للتحويل إلى غيغابايت بالثواني، اقسم على 1024000. في هذا المثال، استهلك التطبيق الخاص بالوظائف1110000000 / 1024000 = 1083.98 جيجابايت-في الثانية. يمكنك أخذ هذه القيمة وضربها في السعر الحالي لوقت التنفيذ في Functions pricing page، والتي تمنحك تكلفة هاتين الساعتين، بافتراض أنك استخدمت بالفعل أي منح مجانية لوقت التنفيذ.

تحليل سجلات Azure Functions

تكتب Azure Functions جميع السجلات إلى جدول FunctionAppLogs ضمن LogManagement في مساحة عمل Log Analytics حيث ترسل البيانات. يمكنك استخدام استعلامات Kusto للاستعلام عن البيانات.

لقطة شاشة لنافذة Query ل Azure Functions في مساحة عمل Log Analytics.

استعلامات Kusto

يمكنك تحليل بيانات المراقبة في مخزن Azure Monitor Logs / Log Analytics باستخدام لغة استعلام Kusto (KQL).

هام

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

للحصول على قائمة بالاستعلامات الشائعة لأي خدمة، راجع واجهة استعلامات Log Analytics.

يمكن أن تساعدك نماذج الاستعلامات التالية في مراقبة جميع سجلات تطبيقات الوظائف:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

يمكن أن تساعدك عينة الاستعلام التالية في مراقبة سجلات تطبيق وظائف معينة:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

يمكن أن يساعدك نموذج الاستعلام التالي في مراقبة الاستثناءات على جميع سجلات تطبيق الوظائف:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

يمكن أن تساعدك عينة الاستعلام التالية في مراقبة الاستثناءات في سجلات تطبيق وظائف معينة:

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

التنبيهات

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

هناك العديد من مصادر التنبيهات الشائعة لموارد Azure. للحصول على أمثلة للتنبيهات الشائعة لموارد Azure، راجع نموذج استعلامات تنبيه السجل. يوفر موقع Azure Monitor Baseline Alerts (AMBA) طريقة شبه آلية لتنفيذ تنبيهات قياس النظام الأساسي الهامة ولوحات المعلومات والإرشادات. ينطبق الموقع على مجموعة فرعية موسعة باستمرار من خدمات Azure، بما في ذلك جميع الخدمات التي تعد جزءا من منطقة هبوط Azure (ALZ).

يوحد مخطط التنبيه الشائع استهلاك إعلامات تنبيه Azure Monitor. لمزيد من المعلومات، راجع مخطط التنبيه الشائع.

أنواع التنبيهات

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

تصف القائمة التالية أنواع تنبيهات Azure Monitor التي يمكنك إنشاؤها:

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

تدعم بعض خدمات Azure أيضا تنبيهات الكشف الذكية أو تنبيهات Prometheus أو قواعد التنبيه الموصى بها.

بالنسبة لبعض الخدمات، يمكنك المراقبة على نطاق واسع عن طريق تطبيق نفس قاعدة التنبيه القياسي على موارد متعددة من نفس النوع موجودة في نفس منطقة Azure. يتم إرسال إعلامات فردية لكل مورد مراقب. للحصول على خدمات Azure المدعومة والسحب، راجع مراقبة موارد متعددة باستخدام قاعدة تنبيه واحدة.

إشعار

إذا كنت تقوم بإنشاء أو تشغيل تطبيق يعمل على الخدمة الخاصة بك، فقد توفر رؤى تطبيق Azure Monitor المزيد من أنواع التنبيهات.

قواعد تنبيه Azure Functions

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

نوع التنبيه شرط ‏‏الوصف
Metric متوسط الاتصالات عندما يتجاوز عدد الاتصالات قيمة المجموعة
Metric HTTP 404 عندما تتجاوز استجابات HTTP 404 قيمة محددة
Metric أخطاء خادم HTTP عندما تتجاوز أخطاء HTTP 5xx قيمة محددة
Activity Log إنشاء تطبيق الوظائف أو تحديثه عند إنشاء التطبيق أو ترقيته
Activity Log حذف تطبيق الوظائف عند حذف تطبيق
Activity Log إعادة تشغيل تطبيق الوظائف عند إعادة تشغيل تطبيق
Activity Log إيقاف تطبيق الوظائف عند إيقاف تشغيل التطبيق

توصيات Advisor

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

لمزيد من المعلومات حول Azure Advisor، راجع نظرة عامة على Azure Advisor.

لمزيد من المعلومات عن مراقبة Azure Functions، راجع المقالات التالية: