كيفية مراقبة تطبيقات Spring Boot باستخدام Dynatrace Java OneAgent

إشعار

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

تنطبق هذه المقالة على: ✔️ الاستهلاك القياسي والمخصص (معاينة) ✔️ الأساسي/القياسي ❌️ Enterprise

توضح لك هذه المقالة كيفية استخدام Dynatrace OneAgent لمراقبة تطبيقات Spring Boot في Azure Spring Apps.

باستخدام Dynatrace OneAgent، يمكنك:

  • مراقبة التطبيقات باستخدام Dynatrace OneAgent.
  • تكوين Dynatrace OneAgent باستخدام متغيرات البيئة.
  • فحص جميع بيانات المراقبة من لوحة معلومات Dynatrace.

يقدم الفيديو التالي تعريفاً لبرنامج Dynatrace OneAgent.


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

تنشيط Dynatrace OneAgent

تصف الأقسام التالية كيفية تنشيط Dynatrace OneAgent.

تجهيز بيئة Azure Spring Apps

  1. قم بإنشاء مثال على Azure Spring Apps.
  2. قم بإنشاء تطبيق تريد إبلاغ Dynatrace عن طريق تشغيل الأمر التالي. استبدل العناصر النائبة <...> بقيمك الخاصة.
    az spring app create \
        --resource-group <your-resource-group-name> \
        --service <your-Azure-Spring-Apps-name> \
        --name <your-application-name> \
        --is-public true
    

تحديد قيم متغيرات البيئة المطلوبة

لتنشيط Dynatrace OneAgent على مثيل Azure Spring Apps، تحتاج إلى تكوين أربعة متغيرات بيئية: DT_TENANT وDT_TENANTTOKENDT_CONNECTION_POINTDT_CLUSTER_ID. لمزيد من المعلومات، راجع تكامل OneAgent مع Azure Spring Apps.

بالنسبة للتطبيقات ذات المثيلات المتعددة، لدى Dynatrace عدة طرق لتصبح مجموعة واحدة. DT_CLUSTER_ID هي إحدى الطرق. لمزيد من المعلومات، راجع كشف مجموعة العمليات.

إضافة متغيرات البيئة إلى التطبيق الخاص بك

يمكنك إضافة أزواج من المفاتيح/القيم متغيرة البيئة إلى تطبيقك باستخدام مدخل Microsoft Azure أو Azure CLI.

الخيار 1: Azure CLI

لإضافة أزواج من المفاتيح/القيم باستخدام Azure CLI، قم بتشغيل الأمر التالي، مع استبدال العناصر النائبة <...> بالقيم المحددة في الخطوات السابقة.

az spring app deploy \
    --resource-group <your-resource-group-name> \
    --service <your-Azure-Spring-Apps-name> \
    --name <your-application-name> \
    --artifact-path app.jar \
    --env \
        DT_TENANT=<your-environment-ID> \
        DT_TENANTTOKEN=<your-tenant-token> \
        DT_CONNECTION_POINT=<your-communication-endpoint>

الخيار 2: مدخل Microsoft Azure

لإضافة أزواج من المفاتيح/القيم باستخدام مدخل Microsoft Azure، استخدم الخطوات التالية:

  1. في مثيل Azure Spring Apps، حدد التطبيقات في جزء التنقل.

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

  2. حدد التطبيق من القائمة، ثم حدد Configuration في جزء التنقل.

  3. استخدم علامة التبويب Environment variables لإضافة أو تحديث المتغيرات المستخدمة من قبل التطبيق الخاص بك.

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

أتمتة التوفير

باستخدام قالب Terraform أو Bicep أو Azure Resource Manager (قالب ARM)، يمكنك أيضا تشغيل مسار أتمتة التزويد. يمكن أن توفر البنية الأساسية لبرنامج ربط العمليات التجارية هذا تجربة عدم التدخل الكاملة للأداة ومراقبة أي تطبيقات جديدة تقوم بإنشائها ونشرها.

أتمتة تزويد باستخدام Terraform

لتكوين متغيرات البيئة في نموذج Terraform، قم بإضافة التعليمات البرمجية التالية إلى القالب، واستبدل العناصر النائبة <...> بقيمك الخاصة. لمزيد من المعلومات، راجع إدارة توزيع تطبيقات Active Azure Spring.

environment_variables = {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

أتمتة التوفير باستخدام ملف Bicep

لتكوين متغيرات البيئة في ملف Bicep، أضف التعليمات البرمجية التالية إلى الملف، واستبدل <العناصر النائبة ...> بقيمك الخاصة. لمزيد من المعلومات، راجع Microsoft.AppPlatform Spring/التطبيقات/النشر .

environmentVariables: {
  DT_TENANT: '<your-environment-ID>'
  DT_TENANTTOKEN: '<your-tenant-token>'
  DT_CONNECTION_POINT: '<your-communication-endpoint>'
  DT_CLUSTER_ID: '<your-cluster-ID>'
}

أتمتة تزويد التوفير باستخدام قالب ARM

لتكوين متغيرات البيئة في قالب ARM، قم بإضافة التعليمة البرمجية التالية إلى القالب، واستبدل العناصر النائبة <...> بقيمك الخاصة. لمزيد من المعلومات، راجع Microsoft.AppPlatform Spring/التطبيقات/النشر .

"environmentVariables": {
  "DT_TENANT": "<your-environment-ID>",
  "DT_TENANTTOKEN": "<your-tenant-token>",
  "DT_CONNECTION_POINT": "<your-communication-endpoint>",
  "DT_CLUSTER_ID": "<your-cluster-ID>"
}

عرض التقارير في Dynatrace

يصف هذا القسم كيفية العثور على التقارير المختلفة في Dynatrace.

إشعار

ستتطور قائمة Dynatrace وواجهة المستخدم تدريجياً. لهذا السبب، قد تُنقل لوحة المعلومات إلى أقسام أخرى في موقع Dynatrace على الويب، وقد لا تعكس لقطات الشاشة التالية الإصدار الحالي لواجهة المستخدم.

بعد إضافة متغيرات البيئة إلى التطبيق الخاص بك، يبدأ Dynatrace في جمع البيانات. لعرض التقارير، استخدم قائمة Dynatrace، وانتقل إلى الخدمات، ثم حدد التطبيق الخاص بك.

يمكنك العثور على Service flow على المسار <your-app-name>/Details/Service flow:

لقطة شاشة لتقرير تدفق خدمة Dynatrace.

يمكنك العثور على Method hotspots على المسار <اسم التطبيق الخاص بك>/Details/Method hotspots:

لقطة شاشة لتقرير النقاط الفعالة لأسلوب Dynatrace.

يمكنك العثور على Database statements على المسار <your-app-name>/Details/Response time analysis:

لقطة شاشة لتقرير تحليل وقت استجابة Dynatrace وقسم عبارات قاعدة البيانات.

بعد ذلك، انتقل إلى قسم التحليل متعدد الأبعاد.

يمكنك العثور على Top database statements على المسار Multidimensional analysis/Top database statements:

لقطة شاشة لتقرير عبارات قاعدة بيانات Dynatrace Top.

يمكنك العثور على Exceptions overview على المسار Multidimensional analysis/Exceptions overview:

لقطة شاشة لتقرير نظرة عامة على استثناءات Dynatrace.

بعد ذلك، انتقل إلى قسم جمع المعلومات والتحسين.

يمكنك العثور على CPU analysis على Profiling and optimization/CPU analysis:

لقطة شاشة لتقرير تحليل Dynatrace CPU.

بعد ذلك، انتقل إلى قسم Databases section.

يمكنك العثور على Backtrace على المسار Databases/Details/Backtrace:

لقطة شاشة لتقرير Dynatrace Backtrace.

عرض سجلات Dynatrace OneAgent

بشكل افتراضي، يقوم Azure Spring Apps بطباعة سجلات مستوى المعلومات ل Dynatrace OneAgent إلى STDOUT. يتم خلط السجلات مع سجلات التطبيق. يمكنك العثور على نسخة العامل الصريحة من سجلات التطبيق.

يمكنك أيضاً الحصول على تسجيلات عامل Dynatrace من المواقع التالية:

  • السجلات الخاصة بـ Azure Spring Apps
  • تطبيق تطبيقات Application Insights Azure Spring
  • Azure Spring Apps LogStream

يمكنك تطبيق بعض متغيرات البيئة التي يوفرها Dynatrace لتكوين التسجيل لـ Dynatrace OneAgent. على سبيل المثال، يتحكم DT_LOGLEVELCON في مستوى السجلات. القيمة الافتراضية لـ DT_LOGLEVELCON هي info. يمكنك تعطيل سجلات العامل عن طريق تعيين DT_LOGLEVELCON إلى off. إذا تم تعطيل التسجيل، فإن Dynatrace يدعم الطلبات التي تقوم أولا بتمكين التسجيل لتشخيص أي مشكلات عامل بشكل فعال. يجب عليك بعد ذلك إعادة تشغيل التطبيق، وهو أمر ضروري لكي يسري التغيير. للحصول على مستويات السجل الأخرى، راجع فريق دعم Dynatrace.

تنبيه

نوصي بشدة بعدم تجاوز سلوك التسجيل الافتراضي الذي توفره Azure Spring Apps for Dynatrace. إذا قمت بذلك، يتم حظر سيناريوهات التسجيل الموضحة مسبقا، وقد يتم فقدان ملف (ملفات) السجل. على سبيل المثال، لا يجب إخراج DT_LOGLEVELFILE متغير البيئة إلى تطبيقاتك.

ترقية Dynatrace OneAgent

تم تعطيل الترقية التلقائية ل Dynatrace OneAgent ويتم ترقيتها كل ثلاثة أشهر باستخدام JDK. قد تؤثر ترقية العامل على السيناريوهات التالية:

  • التطبيقات الموجودة التي تستخدم Dynatrace OneAgent قبل الترقية لم تتغير، ولكنها تتطلب إعادة التشغيل أو إعادة النشر لإشراك الإصدار الجديد من Dynatrace OneAgent.
  • تستخدم التطبيقات التي تم إنشاؤها بعد الترقية الإصدار الجديد من Dynatrace OneAgent.

تكوين نسبة استخدام الشبكة الصادرة لمثيل حقن الشبكة الظاهرية

بالنسبة لمثيل حقن الشبكة الظاهرية من Azure Spring Apps، تحتاج إلى التأكد من تكوين نسبة استخدام الشبكة الصادرة لنقاط نهاية اتصال Dynatrace بشكل صحيح ل Dynatrace OneAgent. للحصول على معلومات حول كيفية الحصول على communicationEndpoints، راجع واجهة برمجة التطبيقات للتوزيع - اتصالية GET لـ OneAgent. لمزيد من المعلومات، راجع مسؤوليات العملاء لتشغيل Azure Spring Apps في شبكة ظاهرية.

نموذج دعم Dynatrace

للحصول على معلومات حول القيود عند توزيع Dynatrace OneAgent في وضع التطبيق فقط، راجع قسم الأنظمة الأساسية للتطبيقات السحابية في مصفوفة دعم النظام الأساسي والقدرات OneAgent.

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

قم باستخدام Application Insights Java In-Process Agent في Azure Spring Apps