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

إشعار

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

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

كيف يتم استخدام عامل AppDynamics Java لمراقبة تطبيقات Spring Boot في تطبيقات Azure Spring.

بمساعدة AppDynamics Java Agent، يمكنك:

  • تطبيقات المراقبة
  • قم بتكوين AppDynamics Java Agent باستخدام متغيرات البيئة
  • تحقق من جميع بيانات المراقبة من لوحة المعلومات الخاصة بـ AppDynamics

يعرض الفيديو التالي عامل AppDynamics Java قيد المعالجة.


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

قم بتنشيط عامل AppDynamics Java في وضع قيد المعالجة

بالنسبة لسير العمل بالكامل، فإنك تحتاج إلى:

  • قم بتنشيط عامل AppDynamics Java في وضع قيد المعالجة في Azure Spring Apps لإنشاء بيانات مقاييس التطبيق.
  • قمة بتعيين AppDynamics Agent إلى وحدة تحكم AppDynamics لجمع البيانات وتصورها في وحدة التحكم.

رسم تخطيطي يظهر AppDynamics Agent مع سهم ثنائي الاتجاه إلى Spring Boot Apps في Azure Spring Apps وسهم يشير إلى AppDynamics Agent.

قم بتنشيط تطبيق باستخدام AppDynamics Agent باستخدام Azure CLI

للقيام بتنشيط تطبيق من خلال Azure CLI، يمكنك استخدام الخطوات الآتية.

  1. قم بإنشاء مجموعة موارد.

  2. قم بإنشاء مثال على Azure Spring Apps.

  3. قم بإنشاء تطبيق باستخدام الأمر التالي. استبدل العناصر النائبة <...> بقيمك الخاصة.

    az spring app create \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --is-public true
    
  4. قم بإنشاء توزيع باستخدام AppDynamics Agent باستخدام متغيرات البيئة.

    az spring app deploy \
        --resource-group "<your-resource-group-name>" \
        --service "<your-Azure-Spring-Apps-instance-name>" \
        --name "<your-app-name>" \
        --artifact-path app.jar \
        --jvm-options="-javaagent:/opt/agents/appdynamics/java/javaagent.jar" \
        --env APPDYNAMICS_AGENT_APPLICATION_NAME=<your-app-name> \
              APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<your-agent-access-key> \
              APPDYNAMICS_AGENT_ACCOUNT_NAME=<your-agent-account-name> \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME=true \
              APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX=<your-agent-node-name> \
              APPDYNAMICS_AGENT_TIER_NAME=<your-agent-tier-name> \
              APPDYNAMICS_CONTROLLER_HOST_NAME=<your-AppDynamics-controller-host-name> \
              APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \
              APPDYNAMICS_CONTROLLER_PORT=443
    

يقوم Azure Spring Apps بتثبيت عامل Java AppDynamics مسبقا على المسار /opt/agents/appdynamics/java/javaagent.jar. يمكنك القيام بتنشيط العامل من خيارات JVM للتطبيقات الخاصة بك، ثم تكوين العامل باستخدام متغيرات البيئة. يمكنك إيجاد قيم لهذه المتغيرات في Monitor Azure Spring Apps مع Java Agent. لمزيد من المعلومات حول كيفية مساعدة هذه المتغيرات في عرض التقارير وتنظيمها في واجهة مستخدم AppDynamics، قم بمراجعة المستويات والعقد.

نشط تطبيق باستخدام AppDynamics Agent باستخدام مدخل Microsoft Azure

للقيام بتنشيط تطبيق من خلال مدخل Microsoft Azure، استخدم الخطوات الآتية.

  1. في مدخل Microsoft Azure، قم بالانتقال إلى مثيل Azure Spring Apps الخاص بك.

  2. حدد التطبيقات في قسم الإعدادات في جزء التنقل.

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

  3. حدد التطبيق، ثم حدد التكوين في جزء التنقل.

  4. استخدم علامة التبويب الإعدادات العامة لتحديث قيم مثل خيارات JVM.

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

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

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

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

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

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

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

resource "azurerm_spring_cloud_java_deployment" "example" {
  ...
  jvm_options = "-javaagent:/opt/agents/appdynamics/java/javaagent.jar"
  ...
    environment_variables = {
      "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
      "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
      "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
      "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
      "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
      "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
      "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
      "APPDYNAMICS_CONTROLLER_PORT" : "443"
  }
}

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

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

deploymentSettings: {
  environmentVariables: {
    APPDYNAMICS_AGENT_APPLICATION_NAME : '<your-app-name>'
    APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY : '<your-agent-access-key>'
    APPDYNAMICS_AGENT_ACCOUNT_NAME : '<your-agent-account-name>'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME : 'true'
    APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX : '<your-agent-node-name>'
    APPDYNAMICS_AGENT_TIER_NAME : '<your-agent-tier-name>'
    APPDYNAMICS_CONTROLLER_HOST_NAME : '<your-AppDynamics-controller-host-name>'
    APPDYNAMICS_CONTROLLER_SSL_ENABLED : 'true'
    APPDYNAMICS_CONTROLLER_PORT : '443'
  }
  jvmOptions: '-javaagent:/opt/agents/appdynamics/java/javaagent.jar'
}

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

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

"deploymentSettings": {
  "environmentVariables": {
    "APPDYNAMICS_AGENT_APPLICATION_NAME" : "<your-app-name>",
    "APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY" : "<your-agent-access-key>",
    "APPDYNAMICS_AGENT_ACCOUNT_NAME" : "<your-agent-account-name>",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME" : "true",
    "APPDYNAMICS_JAVA_AGENT_REUSE_NODE_NAME_PREFIX" : "<your-agent-node-name>",
    "APPDYNAMICS_AGENT_TIER_NAME" : "<your-agent-tier-name>",
    "APPDYNAMICS_CONTROLLER_HOST_NAME" : "<your-AppDynamics-controller-host-name>",
    "APPDYNAMICS_CONTROLLER_SSL_ENABLED" : "true",
    "APPDYNAMICS_CONTROLLER_PORT" : "443"
  },
  "jvmOptions": "-javaagent:/opt/agents/appdynamics/java/javaagent.jar",
  ...
}

قم بمراجعة التقارير في لوحة معلومات AppDynamics

يعمل هذا القسم علي عرض تقارير مختلفة في AppDynamics.

تظهر لقطة الشاشة التالية نظرة عامة على تطبيقاتك في لوحة المعلومات الخاصة بـ AppDynamics:

لقطة شاشة ل AppDynamics تعرض لوحة معلومات التطبيقات.

تعرض علامة التبويب التطبيقات المعلومات الإجمالية لكل تطبيق من تطبيقاتك، كما هو موضح في لقطات الشاشة التالية باستخدام أمثلة التطبيقات:

  • api-gateway

    لقطة شاشة ل AppDynamics تعرض لوحة معلومات التطبيق لمثال تطبيق api-gateway.

  • customers-service

    لقطة شاشة ل AppDynamics تعرض لوحة معلومات التطبيق لمثال تطبيق خدمة العملاء.

توضح لقطة الشاشة التالية كيفية الحصول على المعلومات الأساسية من لوحة معلومات مكالمات قاعدة البيانات.

لقطة شاشة ل AppDynamics تعرض لوحة معلومات مكالمات قاعدة البيانات.

كما يمكنك الحصول على معلومات حول أبطأ استدعاءات خاصة بقاعدة البيانات، كما هو موضح في لقطات الشاشة هذه:

لقطة شاشة ل AppDynamics تعرض صفحة أبطأ مكالمات قاعدة البيانات.

لقطة شاشة ل AppDynamics تعرض صفحة لقطات مرتبطة تم الوصول إليها من صفحة أبطأ مكالمات قاعدة البيانات.

تعرض لقطة الشاشة التالية تحليل استخدام الذاكرة في قسم كومة الذاكرة المؤقتة في صفحة الذاكرة:

لقطة شاشة ل AppDynamics تعرض قسم كومة الذاكرة المؤقتة في صفحة الذاكرة.

يمكنك أيضا رؤية عملية تجميع البيانات المهملة، كما هو مبين في لقطة الشاشة هذه:

لقطة شاشة ل AppDynamics تعرض قسم تجميع البيانات المهملة في صفحة الذاكرة.

تظهر لقطة الشاشة الموضحة أدناه صفحة المعاملات البطيئة :

لقطة شاشة ل AppDynamics تعرض صفحة المعاملات البطيئة.

يمكنك تحديد المزيد من المقاييس ل JVM، كما هو مبين في لقطة الشاشة هذه من مستعرض القياس:

لقطة شاشة ل AppDynamics تعرض مستعرض القياس.

قم بعرض سجلات عامل AppDynamics

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

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

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

قم بالتعرف على ترقية AppDynamics Agent

تتم ترقية عامل AppDynamics بانتظام باستخدام JDK (ربع سنوي). قد تؤثر ترقية العامل على السيناريوهات التالية:

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

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

بالنسبة لمثيلات حقن الشبكة الظاهرية من Azure Spring Apps، تأكد من تكوين نسبة استخدام الشبكة الصادرة بشكل صحيح ل AppDynamics Agent. للحصول على التفاصيل، راجع Cisco AppDynamics SaaS Domains ونطاقات IP ومسؤوليات العملاء لتشغيل Azure Spring Apps في شبكة ظاهرية.

افهم القيود

لفهم القيود الخاصة بـ AppDynamics Agent، قم بمراجعة مراقبة تطبيقات Azure Spring باستخدام Java Agent.

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

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