مراقبة الحل بأكمله
في هذه الوحدة، سنتناول مراقبة الحل بأكمله.
مقدمة
يتطلب تمكين المراقبة عبر بيئات الحوسبة المعقدة اليوم جمع البيانات التشغيلية من كل طبقة ومكون من النظام الموزع. تحتاج إلى رؤى عميقة حول هذه البيانات، ودمجها مع وجهات نظر مختلفة لدعم العديد من أصحاب المصلحة في مؤسستك.
يجمع Azure Monitor البيانات من أنواع مختلفة من المصادر، حيث يمكنك استخدامها للتحليل والتصور والتنبيه. فهو يمنحك تحليلات عميقة عبر جميع الموارد التي يتم مراقبتها وحتى مع البيانات من الخدمات الأخرى التي تخزن بياناتها في Azure Monitor.
Log Analytics
السجلاتهي أحداث حصلت داخل النظام. يمكن أن تحتوي السجلات على أنواع مختلفة من البيانات، وقد تكون نصا منظما أو حرا مع طابع زمني. قد يتم إنشاء السجلات بشكل متقطع حيث تنشئ الأحداث في البيئة إدخالات السجل. عادةً، يُنشئ النظام تحت الحمل الثقيل قدر أكبر من حجم السجل.
السجلات في Azure Monitor قيمة لتحديد الأسباب الجذرية للمشكلات. يتم تخزين البيانات التي تجمعها سجلات Azure Monitor في مساحة عمل Log Analytics واحدة أو أكثر. يتم استرداد البيانات من مساحة عمل Log Analytics باستخدام استعلام سجل، وهو طلب للقراءة فقط لمعالجة البيانات وإرجاع النتائج. تتم كتابة استعلامات السجل بلغة استعلام Kusto (KQL)، وهي نفس لغة الاستعلام التي يستخدمها Azure Data Explorer.
إشعار
تم بالفعل إعداد نموذج تطبيق Azure Spring Apps باستخدام مساحة عمل Log Analytics. لمزيد من المعلومات حول بناء جملة KQL، راجع وحدة الملخص في نهاية هذا التدريب.
استخدام "Log Analytics"
هناك في الواقع ثلاث طرق للوصول إلى سجلات التطبيق الخاص بك، وذلك من خلال: Azure Storage وAzure Events Hub و Log Analytics. سنركز هنا على Log Analytics لأنها الأكثر شيوعا ويتم دمجها في Azure Spring Apps لمراقبة المقاييس.
هام
قد يصل وقت استيعاب بيانات السجل في Azure Monitor إلى 15 دقيقة. إذا لم يتم العثور على البيانات في Log Analytics، فقد يستغرق استيعاب بيانات سجل Azure Spring Apps وقتا إضافيا.
افتح مدخل Azure.
حدد Azure Spring Apps من قائمة خدمات Azure.
حدد مثيل Azure Spring Apps.
بعد ذلك، ضمن قسم Monitoring ، حدد Logs.
في مربع البحث الاستعلام:
لعرض السجلات، قم بتشغيل استعلام مثل:
AppPlatformLogsforSpring | limit 50لعرض المقاييس، أدخل استعلاما مثل:
AzureMetrics | limit 50يمكنك البحث في سجلات مثيل أو تطبيق محدد عن طريق تعيين شرط عامل تصفية:
AppPlatformLogsforSpring | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName" | limit 50
تحليل سجلات التطبيق
توفر سجلات التطبيق معلومات هامة وسجلات مطولة حول صحة التطبيق الخاص بك وأدائه والمزيد. في القسم التالي، نقدم استعلامات لمساعدتك على فهم الحالات الحالية والماضية لتطبيقك.
إظهار سجلات التطبيقات من Azure Spring Apps
افتح مدخل Azure.
حدد Azure Spring Apps من قائمة خدمات Azure.
حدد مثيل Azure Spring Apps.
بعد ذلك، ضمن قسم Monitoring ، حدد Logs.
في مربع البحث الاستعلام:
لمراجعة قائمة سجلات التطبيقات من Azure Spring Apps، التي تم فرزها حسب الوقت مع أحدث السجلات المعروضة أولاً، قم بتشغيل الاستعلام التالي:
AppPlatformLogsforSpring | project TimeGenerated , ServiceName , AppName , InstanceName , Log | sort by TimeGenerated descلمراجعة إدخالات السجل غير المفروزة التي تذكر خطأ أو استثناء، قم بتشغيل الاستعلام التالي:
AppPlatformLogsforSpring | project TimeGenerated , ServiceName , AppName , InstanceName , Log | where Log contains "error" or Log contains "exception"لإنشاء مخطط دائري يعرض عدد الأخطاء والاستثناءات التي تم تسجيلها من قبل التطبيق الخاص بك، قم بتشغيل الاستعلام التالي:
AppPlatformLogsforSpring | where TimeGenerated > ago(1h) | where Log contains "error" or Log contains "exception" | summarize count_per_app = count() by AppName | sort by count_per_app desc | render piechart
مراقبة قاعدة البيانات
تساعدك مراقبة البيانات المتعلقة بالخوادم على استكشاف الأخطاء وإصلاحها وتحسين حمل العمل لديك. توفر قاعدة بيانات Azure Database لـ MySQL قياسات مختلفة تعطي تحليلات مفيدة حول سلوك الخادم الخاص بك.
في قاعدة بيانات Azure Database لـ MySQL، يتوفر سجل الاستعلام البطيء للمستخدمين. الوصول إلى سجل المعاملات غير مدعوم. يمكنك استخدام سجل الاستعلام البطيء لتحديد اختناقات الأداء لاستكشاف الأخطاء وإصلاحها.
في تطبيق العينة لدينا، يتم إعداد سجلات الاستعلام البطيئة ليتم توصيلها بسجلات Azure Monitor من خلال سجلات التشخيص Diagnostic Logs، ويمكنك إجراء مزيد من التحليل لاستعلاماتك البطيئة. فيما يلي نماذج من الاستعلامات لمساعدتك على البدء/
هام
يمكن أن يصل وقت استيعاب بيانات سجل MySQL في Azure Monitor إلى 30 دقيقة. إذا لم يتم العثور على البيانات في Log Analytics، فقد يستغرق الأمر وقتا إضافيا لاستيعاب بيانات سجل MySQL.
قم بتسجيل الدخول إلى بوابة Azure.
حدد قاعدة بيانات Azure لخادم MySQL الذي تستخدمه ل Azure Spring Apps.
بعد ذلك، ضمن قسم Monitoring ، حدد Logs.
في مربع البحث الاستعلام:
لاسترداد كافة الاستعلامات أطول من ثانية واحدة، قم بتشغيل الاستعلام التالي:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_sلسرد أهم خمسة استعلامات أطول، قم بتشغيل الاستعلام التالي:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | order by query_time_d desc | take 5لتلخيص الاستعلامات البطيئة حسب الحد الأدنى والحد الأقصى والمتوسط ووقت الاستعلام عن الانحراف المعياري، قم بتشغيل الاستعلام التالي:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_sلرسم بياني لتوزيع الاستعلام البطيء على خادم معين، قم بتشغيل الاستعلام التالي:
AzureDiagnostics | where Category == 'MySqlSlowLogs' | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m) | render timechart
يمكنك أيضا استخدام سجل التدقيق لتعقب النشاط على مستوى قاعدة البيانات. وهي شائعة الاستخدام للامتثال. يتم دمج سجلات التدقيق مع سجلات Azure Monitor Diagnostic. في النموذج الخاص بك، قمنا بتمكين سجلات التدقيق على خادم MySQL الخاص بك حتى تتمكن من إجراء مزيد من التحليل للأحداث التي تم تدقيقها.
فيما يلي نموذج استعلام يسترد سجل MySQL العام:
AzureDiagnostics | where Category == 'MySqlAuditLogs' and event_class_s == "general_log" | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s | order by TimeGenerated desc
مراقبة واجهة المستخدم
إذا قمت بإضافة Application Insights إلى البرنامج النصي للصفحة الخاصة بك، تحصل على توقيت تحميل الصفحة واستدعاءات AJAX، والتعداد، وتفاصيل استثناءات المتصفح وفشل AJAX، وكذلك أعداد الجلسات والمستخدمين. يمكنك تقسيم كل هذه المقاييس حسب الصفحة ونظام تشغيل العميل وإصدار المستعرض والموقع الجغرافي والأبعاد الأخرى. يمكنك تعيين تنبيهات على عدد مرات الفشل أو بطء تحميل الصفحة، ومن خلال إدراج استدعاءات التتبع في التعليمات البرمجية ل JavaScript، يمكنك تتبع كيفية استخدام الميزات المختلفة لتطبيق صفحة الويب.
يمكنك استخدام Application Insights مع أي صفحة ويب؛ ما عليك سوى إضافة جزء قصير من JavaScript. إذا كانت خدمة الويب الخاصة بك هي Java، فيمكنك استخدام SDKs من جانب الخادم مع JavaScript SDK من جانب العميل للحصول على فهم لأداء تطبيقك.
إشعار
لمزيد من المعلومات حول مراقبة واجهة المستخدم، راجع وحدة الملخص في نهاية هذا التدريب.