التشغيل السريع - مراقبة تطبيقات Azure Spring Apps مع السجلات والمقاييس والتتبع

إشعار

يعد Azure Spring Apps هو الاسم الجديد لخدمة Azure Spring Cloud. رغم أن الخدمة تحمل اسماً جديداً، سترى الاسم القديم في بعض الأماكن لفترة من الوقت بينما نعمل على تحديث الأصول مثل لقطات الشاشة، ومقاطع الفيديو، والرسوم التخطيطية.

تنطبق هذه المقالة على: ✔️ Basic/Standard ❌ Enterprise

مع إمكانية المراقبة المُضمنة في Azure Spring Apps، يمكنك تصحيح المشكلات المُعقدة ومراقبتها. يعمل Azure Spring Apps على دمج التتبع الموزع لـ Steeltoe مع تطبيق Application Insights الخاص بـ Azure. يوفر هذا التكامل سجلات دقيقة ومقاييس وقدرة تتبع موزعة من مدخل Azure.

توضح الإجراءات التالية كيفية استخدام تدفق السجل وسجلات التحليلات والمقاييس والتتبع الموزع مع التطبيق النموذجي الذي قمت بنشره في عمليات التشغيل السريع السابقة.

المتطلبات الأساسية

السجلات

توجد طريقتان لرؤية السجلات على Azure Spring Apps: تسجيل تدفق السجلات في الوقت الفعلي لكل مثيل للتطبيق أو Log Analytics للسجلات المجمعة مع إمكانية الاستعلام المتقدمة.

دفق السجل

يُمكنك استخدام دفق السجل في Azure CLI باستخدام الأمر التالي.

az spring app logs --name solar-system-weather --follow

يظهر لك إخراج مشابه للمثال التالي:

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing action method Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather) - Validation state: Valid
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController[0]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Retrieved weather data from 4 planets
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

=> ConnectionId:0HM2HOMHT82UK => RequestPath:/weatherforecast RequestId:0HM2HOMHT82UK:00000003, SpanId:|e8c1682e-46518cc0202c5fd9., TraceId:e8c1682e-46518cc0202c5fd9, ParentId: => Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.Controllers.WeatherForecastController.Get (Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather)
Executing ObjectResult, writing value of type 'System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]][]'.
←[40m←[32minfo←[39m←[22m←[49m: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[2]

تلميح

استخدم az spring app logs -h لاستكشاف المزيد من المعلمات ووظائف دفق السجل.

Log Analytics

  1. في مدخل Microsoft Azure، انتقل إلى الخدمة | صفحة نظرة عامة وحدد السجلات في قسم المراقبة . حدد تشغيل على أحد استعلامات العينة لـ Azure Spring Apps.

    لقطة شاشة لمدخل Azure تعرض جزء السجلات مع فتح صفحة الاستعلامات وتمييز التشغيل.

  2. تحرير الاستعلام لإزالة عبارات Where التي تحد من العرض إلى سجلات التحذير والخطأ.

  3. حدد تشغيل. تظهر لك السجلات. لمزيد من المعلومات، راجع البدء في استعلامات السجل في Azure Monitor.

    لقطة شاشة لمدخل Azure تعرض نتيجة استعلام Logs Analytics.

  4. لمعرفة المزيد حول لغة الاستعلام المستخدمة في Log Analytics، راجع استعلامات سجل Azure Monitor. للاستعلام عن جميع سجلات Log Analytics من عميل مركزي، راجع Azure Data Explorer.

المقاييس

  1. في مدخل Microsoft Azure، انتقل إلى الخدمة | صفحة نظرة عامة وحدد Metrics في قسم Monitoring . أضف المقياس الأول عن طريق تحديد أحد مقاييس .NET ضمن Performance (.NET) أو Request (.NET) في القائمة المنسدلة Metric، وAvg for Aggregation لمشاهدة المخطط الزمني لهذا المقياس.

    لقطة شاشة لمدخل Azure تعرض صفحة المقاييس مع عوامل التصفية المتوفرة.

  2. حدد Add filter في شريط الأدوات، وحدد App=solar-system-weather لمشاهدة استخدام وحدة المعالجة المركزية فقط لتطبيق solar-system-weather .

    لقطة شاشة لمدخل Azure تعرض صفحة المقاييس مع تمييز خيارات خصائص عامل التصفية وعامل التشغيل والقيم.

  3. تجاهل عامل التصفية الذي تم إنشاؤه في الخطوة السابقة، وحدد Apply Splitting، وحدد App for Values لمشاهدة استخدام وحدة المعالجة المركزية من قبل تطبيقات مختلفة.

    لقطة شاشة لمدخل Azure تعرض صفحة المقاييس مع تمييز خيارات تقسيم القيم والحد والفرز.

تتبع موزع

  1. في مدخل Microsoft Azure، انتقل إلى الخدمة | صفحة نظرة عامة وحدد التتبع الموزع في قسم المراقبة . ثم حدد علامة التبويب عرض خريطة التطبيق على اليمين.

    لقطة شاشة لمدخل Azure تعرض صفحة التتبع الموزع.

  2. يمكنك الآن رؤية حالة المكالمات بين التطبيقات.

    لقطة شاشة لمدخل Azure تعرض صفحة خريطة التطبيق.

  3. حدد الرابط بين موفر طقس النظام الشمسي والطقس الكوكبي للاطلاع على مزيد من التفاصيل مثل أبطأ المكالمات بواسطة أساليب HTTP.

    لقطة شاشة لمدخل Azure تعرض تفاصيل خريطة التطبيق.

  4. وأخيرا، حدد التحقيق في الأداء لاستكشاف تحليل أداء مضمن أكثر قوة.

    لقطة شاشة لمدخل Azure تعرض صفحة الأداء.

مع إمكانية المراقبة المُضمنة في Azure Spring Apps، يمكنك تصحيح المشكلات المُعقدة ومراقبتها. يقوم تطبيق Azure Spring Apps بدمج Spring Cloud Sleuth مع Application Insights لـ Azure. يوفر هذا التكامل سجلات دقيقة ومقاييس وقدرة تتبع موزعة من مدخل Azure. توضح الإجراءات التالية كيفية استخدام تدفق السجل وسجلات التحليلات والمقاييس والتتبع الموزع مع تطبيقات PetClinic الموزعة.

المتطلبات الأساسية

السجلات

توجد طريقتان لرؤية السجلات على Azure Spring Apps: تسجيل تدفق السجلات في الوقت الفعلي لكل مثيل للتطبيق أو Log Analytics للسجلات المجمعة مع إمكانية الاستعلام المتقدمة.

دفق السجل

يُمكنك استخدام دفق السجل في Azure CLI باستخدام الأمر التالي.

az spring app logs \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name api-gateway \
    --follow

تظهر لك سجلات مثل هذه:

لقطة شاشة لإخراج تدفق سجل Azure CLI.

تلميح

استخدم az spring app logs -h لاستكشاف المزيد من المعلمات ووظائف سجلات الدفق.

لمعرفة المزيد حول لغة الاستعلام المستخدمة في Log Analytics، راجع استعلامات سجل Azure Monitor. للاستعلام عن جميع سجلات Log Analytics من عميل مركزي، راجع Azure Data Explorer.

Log Analytics

  1. انتقل إلى الخدمة | صفحة نظرة عامة وحدد السجلات في قسم المراقبة . حدد تشغيل على أحد استعلامات العينة لـ Azure Spring Apps.

    لقطة شاشة لمدخل Azure تعرض صفحة Queries مع تمييز Run.

  2. ثم تظهر لك سجلات تمت تصفيتها. لمزيد من المعلومات، راجع البدء في استعلامات السجل في Azure Monitor.

    لقطة شاشة لمدخل Azure تعرض نتيجة الاستعلام للسجلات المصفاة.

المقاييس

انتقل إلى صفحة Application insights ، ثم انتقل إلى صفحة Metrics . يمكنك مشاهدة المقاييس التي ساهمت بها تطبيقات Spring Boot ووحدات Spring النمطية والتبعيات.

يظهر gateway_requests المخطط التالي (Spring Cloud Gateway) hikaricp_connections و(JDBC الاتصال ions) و.http_client_requests

لقطة شاشة لمدخل Azure تعرض صفحة Application Insights Metrics مع رسم بياني للقيم المحددة.

يسجل Spring Boot العديد من المقاييس الأساسية، بما في ذلك JVM وCPU وTomcat وLogback. يتيح التكوين التلقائي ل Spring Boot تقرير حالة الطلبات التي تتم معالجتها بواسطة Spring MVC. يتم وضع علامة على جميع وحدات تحكم REST الثلاث (OwnerResourceو PetResourceو VisitResource) بواسطة @Timed التعليق التوضيحي ل Micrometer على مستوى الفئة.

تم customers-service تمكين المقاييس المخصصة التالية للتطبيق:

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

تم visits-service تمكين المقاييس المخصصة التالية للتطبيق:

  • @Timed: petclinic.visit

يمكنك مشاهدة هذه المقاييس المخصصة في صفحة المقاييس :

لقطة شاشة لمدخل Azure تعرض صفحة Application Insights Metrics مع مقاييس مخصصة.

يمكنك استخدام ميزة اختبار التوفر في تطبيق Insights ومراقبة توفر التطبيقات:

لقطة شاشة لمدخل Azure تعرض صفحة Application Insights Availability مع تمييز قسم Availability Test.

انتقل إلى صفحة Live Metrics لمشاهدة المقاييس المباشرة ذات زمن انتقال منخفض (أقل من ثانية واحدة):

لقطة شاشة لمدخل Microsoft Azure تعرض الرسوم البيانية لصفحة Application Insights Live Metrics ذات زمن الانتقال المنخفض.

التعقب

افتح Application Insights التي أنشأها Azure Spring Apps، وابدأ بمراقبة تطبيقات Spring.

انتقل إلى صفحة خريطة التطبيق:

لقطة شاشة لمدخل Azure تعرض صفحة Application Insights Application Map مع مكونات الخريطة.

انتقل إلى صفحة الأداء :

لقطة شاشة لمدخل Azure تعرض صفحة أداء Application Insights مع تفاصيل العملية.

انتقل إلى علامة التبويب Dependencies، حيث يمكنك مشاهدة رقم الأداء للتبعيات، خاصة استدعاءات SQL:

لقطة شاشة لمدخل Azure تعرض صفحة أداء Application Insights مع تمييز جدول Depencies.

حدد استدعاء SQL لمشاهدة المعاملة الشاملة في السياق:

لقطة شاشة لمدخل Azure تعرض صفحة تفاصيل المعاملة الشاملة.

انتقل إلى صفحة Failures وعلامة التبويب Exceptions ، حيث يمكنك مشاهدة مجموعة من الاستثناءات:

لقطة شاشة لمدخل Azure تعرض صفحة فشل Application Insights.

حدد استثناء لمشاهدة المعاملة الشاملة و stacktrace في السياق:

لقطة شاشة لمدخل Azure تعرض صفحة تفاصيل المعاملة الشاملة مع تفاصيل الاستثناء ومكدس الاستدعاءات.

تنظيف الموارد

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

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

في البداية السريعة السابقة، يمكنك أيضًا تعيين اسم مجموعة الموارد الافتراضية. إذا لم تكن تنوي المتابعة من أجل التشغيل السريع التالي، فقم بإلغاء تحديد هذا الإعداد الافتراضي بتشغيل الأمر CLI التالي:

az config set defaults.group=

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

لاستكشاف المزيد من قدرات المتابعة في Azure Spring Apps، راجع: