مراقبة Azure App Service
توضح هذه المقالة ما يلي:
- أنواع بيانات المراقبة التي يمكنك جمعها لهذه الخدمة.
- طرق لتحليل تلك البيانات.
إشعار
إذا كنت على دراية بهذه الخدمة و/أو Azure Monitor وتريد فقط معرفة كيفية تحليل بيانات المراقبة، فشاهد قسم Analyze بالقرب من نهاية هذه المقالة.
عندما يكون لديك تطبيقات وعمليات أعمال مهمة تعتمد على موارد Azure، تحتاج إلى مراقبة النظام والحصول على تنبيهات له. تجمع خدمة Azure Monitor المقاييس والسجلات وتجمعها من كل مكون من مكونات النظام. يوفر لك Azure Monitor طريقة عرض التوفر والأداء والمرونة، ويعلمك بالمشكلات. يمكنك استخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI أو REST API أو مكتبات العميل لإعداد بيانات المراقبة وعرضها.
- لمزيد من المعلومات حول Azure Monitor، راجع نظرة عامة على Azure Monitor.
- لمزيد من المعلومات حول كيفية مراقبة موارد Azure بشكل عام، راجع مراقبة موارد Azure باستخدام Azure Monitor.
مراقبة App Service
تتيح خدمة Azure App Service العديد من خيارات المراقبة لمراقبة الموارد من أجل التوفر والأداء والتشغيل. تتضمن الخيارات إعدادات التشخيص وApplication Insights ودفق السجل والمقاييس والحصص النسبية والتنبيهات وسجلات النشاط.
في صفحة مدخل Microsoft Azure لتطبيق الويب الخاص بك، يمكنك تحديد تشخيص المشكلات وحلها من التنقل الأيسر للوصول إلى تشخيصات App Service الكاملة لتطبيقك. لمزيد من المعلومات حول أداة تشخيص App Service، راجع نظرة عامة على تشخيصات Azure App Service.
توفر App Service تسجيل تشخيصات مضمن للمساعدة في تصحيح أخطاء التطبيقات. لمزيد من المعلومات حول السجلات المضمنة، راجع سجلات تشخيص الدفق.
يمكنك أيضا استخدام فحص Azure Health لمراقبة مثيلات App Service. لمزيد من المعلومات، راجع مراقبة مثيلات App Service باستخدام التحقق من الصحة.
إذا كنت تستخدم ASP.NET Core أو ASP.NET أو Java أو Node.js أو Python، نوصي بتمكين إمكانية المراقبة باستخدام Application Insights. لمعرفة المزيد حول تجارب المراقبة التي تقدمها Application Insights، راجع نظرة عامة على Application Insights.
سيناريوهات المراقبة
يسرد الجدول التالي أساليب المراقبة لاستخدامها في سيناريوهات مختلفة.
السيناريو | أسلوب المراقبة |
---|---|
أريد مراقبة سجلات ومقاييس النظام الأساسي | مقاييس النظام الأساسي ل Azure Monitor |
أرغب في مراقبة أداء التطبيق واستخدامه | (مراقبة Azure) Application Insights |
أرغب في مراقبة السجلات المضمنة للاختبار والتطوير | دفق بيانات السجل |
أرغب في مراقبة حدود الموارد وتكوين التنبيهات | الحصص والتنبيهات |
أرغب في مراقبة أحداث موارد تطبيقات الويب | سجلات الأنشطة |
أرغب في مراقبة المقاييس بصريًا | المقاييس |
الرؤى
تحتوي بعض الخدمات في Azure على لوحة معلومات مراقبة مضمنة في مدخل Microsoft Azure توفر نقطة بداية لمراقبة خدمتك. تسمى لوحات المعلومات هذه رؤى، ويمكنك العثور عليها في مركز Insights ل Azure Monitor في مدخل Microsoft Azure.
Application Insights
يستخدم Application Insights النظام الأساسي القوي لتحليل البيانات في Azure Monitor لتزويدك بأفكار عميقة حول عمليات التطبيق الخاص بك. يراقب Application Insights توفر تطبيقات الويب وأدائها واستخدامها، بحيث يمكنك تحديد الأخطاء وتشخيصها دون انتظار المستخدم للإبلاغ عنها.
تشمل نتيجة تحليلات التطبيق نقاط اتصال بمجموعة متنوعة من أدوات التطوير ويتكامل مع Visual Studio لدعم عمليات DevOps الخاصة بك. لمزيد من المعلومات، راجع مراقبة التطبيق لخدمة التطبيقات.
أنواع الموارد
يستخدم Azure مفهوم أنواع الموارد والمعرفات لتحديد كل شيء في الاشتراك. أنواع الموارد هي أيضا جزء من معرفات الموارد لكل مورد يعمل في Azure. على سبيل المثال، نوع مورد واحد لجهاز ظاهري هو Microsoft.Compute/virtualMachines
. للحصول على قائمة بالخدمات وأنواع الموارد المقترنة بها، راجع موفري الموارد.
ينظم Azure Monitor بالمثل بيانات المراقبة الأساسية في مقاييس وسجلات استنادا إلى أنواع الموارد، وتسمى أيضا مساحات الأسماء. تتوفر مقاييس وسجلات مختلفة أنواع موارد مختلفة. قد تكون خدمتك مقترنة بأكثر من نوع مورد واحد.
لمزيد من المعلومات حول أنواع الموارد ل App Service، راجع مرجع بيانات مراقبة App Service.
تخزين البيانات.
بالنسبة إلى 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 حتى تتمكن من الاستعلام عنها باستخدام بيانات السجل الأخرى. لمزيد من المعلومات، راجع إعداد تشخيص المقاييس. لمعرفة كيفية تكوين إعدادات التشخيص لخدمة ما، راجع إنشاء إعدادات التشخيص في Azure Monitor.
للحصول على قائمة بجميع المقاييس، من الممكن جمعها لجميع الموارد في Azure Monitor، راجع المقاييس المدعومة في Azure Monitor.
للحصول على قائمة بالمقاييس المتوفرة لخدمة التطبيقات، راجع مرجع بيانات مراقبة App Service.
للمساعدة في فهم المقاييس في App Service، راجع فهم المقاييس. يمكن عرض المقاييس بواسطة التجميعات على البيانات (أي المتوسط والحد الأقصى والحد الأدنى وما إلى ذلك)، والمثيلات والنطاق الزمني وعوامل التصفية الأخرى. يمكن للمقاييس مراقبة الأداء والذاكرة وCPU وسمات أخرى.
سجلات موارد 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.
للحصول على فئات سجل الموارد المتوفرة وجداول Log Analytics المقترنة بها ومخططات السجلات لخدمة التطبيقات، راجع مرجع بيانات مراقبة خدمة التطبيقات.
تلميح
يتم تجميع السجلات في مجموعات الفئات. مجموعات الفئات هي مجموعة من السجلات المختلفة لمساعدتك على تحقيق أهداف مراقبة مختلفة.
تسمح لك مجموعة فئات التدقيق بتحديد سجلات الموارد الضرورية لتدقيق المورد. لمزيد من المعلومات، راجع إعدادات التشخيص في سجلات موارد Azure Monitor.
سجل الأنشطة Azure
يحتوي سجل النشاط على أحداث على مستوى الاشتراك تتعقب العمليات لكل مورد Azure كما هو ظاهر من خارج هذا المورد؛ على سبيل المثال، إنشاء مورد جديد أو بدء تشغيل جهاز ظاهري.
المجموعة: يتم إنشاء أحداث سجل النشاط تلقائيا وتجميعها في مخزن منفصل للعرض في مدخل Microsoft Azure.
التوجيه: يمكنك إرسال بيانات سجل النشاط إلى سجلات Azure Monitor حتى تتمكن من تحليلها جنبا إلى جنب مع بيانات السجل الأخرى. تتوفر أيضا مواقع أخرى مثل Azure Storage وAzure Event Hubs وبعض شركاء مراقبة Microsoft. لمزيد من المعلومات حول كيفية توجيه سجل النشاط، راجع نظرة عامة على سجل نشاط Azure.
سجلات نشاط Azure لخدمة التطبيقات
تتضمن سجلات نشاط Azure ل App Service تفاصيل مثل:
- ما العمليات التي تم إجراؤها على الموارد (على سبيل المثال: خطط خدمة التطبيق)
- من بدأ العملية
- متى حدثت العملية
- حالة العملية
- قيم الممتلكات لمساعدتك في البحث عن العملية
يمكن الاستعلام عن سجلات نشاط Azure باستخدام مدخل Microsoft Azure أو PowerShell أو REST API أو CLI.
شحن سجلات النشاط إلى Event Grid
بينما تستند سجلات النشاط إلى المستخدم، هناك تكامل Azure Event Grid جديد مع App Service (معاينة) يسجل كل من إجراءات المستخدم والأحداث التلقائية. باستخدام Event Grid، يمكنك تكوين معالج للرد على الأحداث المذكورة. على سبيل المثال، استخدم Event Grid لتشغيل وظيفة بلا خادم على الفور لتشغيل تحليل الصورة في كل مرة تتم فيها إضافة صورة جديدة إلى حاوية تخزين الكائن الثنائي كبير الحجم.
بدلا من ذلك، يمكنك استخدام خطوط شبكة الأحداث مع تطبيقات المنطق لمعالجة البيانات في أي مكان، دون كتابة التعليمات البرمجية. تربط شبكة الأحداث مصادر البيانات ومعالجات الأحداث.
لعرض خصائص ومخطط أحداث App Service، راجع Azure App Service كمصدر لشبكة الأحداث.
دفق بيانات السجل (عبر App Service Logs)
يتيح Azure تشخيصات مضمنة للمساعدة في أثناء الاختبار والتطوير لتصحيح أخطاء تطبيق App Service. يمكن استخدام Log stream للحصول على وصول سريع إلى الإخراج والأخطاء التي كتبها التطبيق الخاص بك، والسجلات من خادم الويب. تعد هذه هي سجلات الإخراج/الأخطاء القياسية بالإضافة إلى سجلات خادم الويب.
تحليل بيانات المراقبة
هناك العديد من الأدوات لتحليل بيانات المراقبة.
أدوات 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.
استعلامات Kusto
يمكنك تحليل بيانات المراقبة في مخزن Azure Monitor Logs / Log Analytics باستخدام لغة استعلام Kusto (KQL).
هام
عند تحديد Logs من قائمة الخدمة في المدخل، يفتح Log Analytics مع تعيين نطاق الاستعلام إلى الخدمة الحالية. يعني هذا النطاق أن استعلامات السجل ستتضمن بيانات من هذا النوع من الموارد فقط. إذا كنت ترغب في تشغيل استعلام يتضمن بيانات من خدمات Azure الأخرى، فحدد Logs من قائمة Azure Monitor . راجع نطاق الاستعلام عن السجل والزمن في Azure Monitor Log Analytics للحصول على التفاصيل.
للحصول على قائمة بالاستعلامات الشائعة لأي خدمة، راجع واجهة استعلامات Log Analytics.
يمكن أن يساعدك الاستعلام النموذجي التالي في مراقبة سجلات التطبيقات AppServiceAppLogs
باستخدام:
AppServiceAppLogs
| project CustomLevel, _ResourceId
| summarize count() by CustomLevel, _ResourceId
يمكن أن يساعدك الاستعلام نموذج التالية مراقبة سجلات HTTP باستخدام AppServiceHTTPLogs
إذ أن HTTP response code
هو 500
أو أعلى:
AppServiceHTTPLogs
//| where ResourceId = "MyResourceId" // Uncomment to get results for a specific resource Id when querying over a group of Apps
| where ScStatus >= 500
| reduce by strcat(CsMethod, ':\\', CsUriStem)
يمكن أن يساعدك الاستعلام نموذج التالية مراقبة أخطاء HTTP 500 عن طريق الانضمام AppServiceConsoleLogs
وAppserviceHTTPLogs
:
let myHttp = AppServiceHTTPLogs | where ScStatus == 500 | project TimeGen=substring(TimeGenerated, 0, 19), CsUriStem, ScStatus;
let myConsole = AppServiceConsoleLogs | project TimeGen=substring(TimeGenerated, 0, 19), ResultDescription;
myHttp | join myConsole on TimeGen | project TimeGen, CsUriStem, ScStatus, ResultDescription;
راجع استعلامات Azure Monitor لخدمة التطبيقات لمزيد من نماذج الاستعلامات.
التنبيهات
تقوم تنبيهات 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 المزيد من أنواع التنبيهات.
الحصص والتنبيهات
تخضع التطبيقات التي تتم استضافتها في App Service لقيود معينة على الموارد التي يمكنهم استخدامها. يتم تحديد The limits بواسطة خطة App Service المقترنة بالتطبيق. يمكن ربط مقاييس التطبيق أو خطة App Service بالتنبيهات.
قواعد تنبيه App Service
يسرد الجدول التالي قواعد التنبيه الشائعة والموصى بها لخدمة التطبيقات.
نوع التنبيه | الشرط | الأمثلة |
---|---|---|
Metric | متوسط الاتصالات | عندما يتجاوز عدد الاتصالات قيمة المجموعة |
Metric | HTTP 404 | عندما تتجاوز استجابات HTTP 404 قيمة محددة |
Metric | أخطاء خادم HTTP | عندما تتجاوز أخطاء HTTP 5xx قيمة محددة |
Activity Log | إنشاء تطبيق ويب أو تحديثه | عند إنشاء التطبيق أو ترقيته |
Activity Log | حذف تطبيق الويب | عند حذف تطبيق |
Activity Log | إعادة تشغيل تطبيق الويب | عند إعادة تشغيل تطبيق |
Activity Log | إيقاف تشغيل تطبيق الويب | عند إيقاف تشغيل التطبيق |
توصيات Advisor
بالنسبة لبعض الخدمات، إذا حدثت ظروف حرجة أو تغييرات وشيكة أثناء عمليات الموارد، يتم عرض تنبيه على صفحة نظرة عامة على الخدمة في المدخل. يمكنك العثور على مزيد من المعلومات والإصلاحات الموصى بها للتنبيه في توصيات Advisor ضمن المراقبة في القائمة اليمنى. أثناء العمليات العادية، لا يتم عرض توصيات المستشار.
لمزيد من المعلومات حول Azure Advisor، راجع نظرة عامة على Azure Advisor.
المحتوى ذو الصلة
- راجع مرجع بيانات مراقبة App Service للحصول على مرجع للمقاييس والسجلات والقيم الهامة الأخرى التي تم إنشاؤها ل App Service.
- راجع مراقبة موارد Azure باستخدام Azure Monitor للحصول على تفاصيل عامة حول مراقبة موارد Azure.