كيفية مراقبة تطبيقات Spring Boot باستخدام عامل Elastic APM Java
إشعار
سيتم إهمال الخطط الأساسية والقياسية والمؤسسة بدءا من منتصف مارس 2025، مع فترة تقاعد 3 سنوات. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع إعلان إيقاف Azure Spring Apps.
سيتم إهمال الاستهلاك القياسي والخطة المخصصة بدءا من 30 سبتمبر 2024، مع إيقاف التشغيل الكامل بعد ستة أشهر. نوصي بالانتقال إلى Azure Container Apps. لمزيد من المعلومات، راجع ترحيل استهلاك Azure Spring Apps القياسي وخطة مخصصة إلى Azure Container Apps.
تنطبق هذه المقالة على: ✔️ Basic/Standard ❌ Enterprise
توضح هذه المقالة كيفية استخدام عامل Elastic APM لمراقبة تطبيقات Spring Boot التي تعمل في تطبيقات Azure Spring.
باستخدام حل Elastic Observability، يمكنك تحقيق إمكانية مراقبة موحدة من أجل:
- مراقبة التطبيقات باستخدام عامل Elastic APM Java واستخدام التخزين المستمر مع تطبيقات Azure Spring.
- استخدم إعدادات التشخيص لشحن سجلات تطبيقات Azure Spring إلى Elastic. لمزيد من المعلومات، راجع تحليل السجلات بواسطة Elastic (ELK) باستخدام إعدادات التشخيص.
يقدم الفيديو التالي إمكانية المراقبة الموحدة لتطبيقات Spring Boot باستخدام Elastic.
المتطلبات الأساسية
توزيع تطبيق Spring Petclinic
تستخدم هذه المقالة عينة Spring Petclinic للتنقل عبر الخطوات المطلوبة. استخدم الخطوات التالية لتوزيع نموذج التطبيق:
اتبع الخطوات الواردة في توزيع تطبيقات Spring Boot باستخدام تطبيقات Azure Spring وMySQL حتى تصل إلى قسم توزيع تطبيقات Spring Boot وتعيين متغيرات البيئة.
استخدم ملحق تطبيقات Azure Spring لـ Azure CLI مع الأمر التالي لإنشاء تطبيق لتشغيله في تطبيقات Azure Spring:
az spring app create \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --is-public true
استخدام التخزين الثابت المخصص في تطبيقات Azure Spring
استخدم الخطوات التالية لتمكين التخزين الثابت المخصص:
اتبع الخطوات الواردة في كيفية تمكين تخزينك الثابت الخاص في تطبيقات Azure Spring.
استخدم أمر Azure CLI التالي لإضافة تخزين ثابت لتطبيقات Azure Spring.
az spring app append-persistent-storage \ --resource-group <your-resource-group-name> \ --service <your-Azure-Spring-Apps-instance-name> \ --name <your-app-name> \ --persistent-storage-type AzureFileVolume \ --share-name <your-Azure-file-share-name> \ --mount-path <unique-mount-path> \ --storage-name <your-mounted-storage-name>
عامل Elastic APM Java مرن
قبل المتابعة، تحتاج إلى معلومات اتصال خادم Elastic APM في متناول يدك، والتي تفترض أنك قمت بنشر Elastic على Azure. لمزيد من المعلومات، راجع كيفية توزيع Elastic وإدارته على Microsoft Azure. يمكنك الحصول على هذه المعلومات، باستخدام الخطوات التالية:
في مدخل Microsoft Azure، انتقل إلى صفحة Overview لتوزيع Elastic، ثم حدد Manage Elastic Cloud Deployment.
ضمن التوزيع الخاص بك على Elastic Cloud Console، حدد قسم APM وأسطول للحصول على نقطة نهاية Elastic APM Server والرمز المميز السري.
قم بتنزيل عامل Elastic APM Java من Maven Central.
قم بتحميل عامل Upload Elastic APM إلى التخزين الثابت المخصص الذي قمت بتمكينه سابقاً. انتقل إلى Azure Fileshare وحدد Upload لإضافة ملف JAR العامل.
بعد أن يكون لديك نقطة نهاية Elastic APM والرمز المميز السري، استخدم الأمر التالي لتنشيط عامل Elastic APM Java عند توزيع التطبيقات. يشير العنصر النائب
<agent-location>
إلى موقع التخزين المُدخل لعامل Java Elastic APM.az spring app deploy \ --name <your-app-name> \ --artifact-path <unique-path-to-your-app-jar-on-custom-storage> \ --jvm-options='-javaagent:<elastic-agent-location>' \ --env ELASTIC_APM_SERVICE_NAME=<your-app-name> \ ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package-name>' \ ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>' \ ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
أتمتة التوفير
يمكنك أيضا تشغيل مسار أتمتة التوفير باستخدام Terraform أو Bicep أو قالب Azure Resource Manager (قالب ARM). يمكن أن توفر البنية الأساسية لبرنامج ربط العمليات التجارية هذا تجربة عدم التدخل الكاملة للأداة ومراقبة أي تطبيقات جديدة تقوم بإنشائها ونشرها.
أتمتة تزويد باستخدام Terraform
لتكوين متغيرات البيئة في نموذج Terraform، قم بإضافة التعليمات البرمجية التالية إلى القالب، واستبدل العناصر النائبة <...> بقيمك الخاصة. لمزيد من المعلومات، راجع إدارة توزيع تطبيقات Active Azure Spring.
resource "azurerm_spring_cloud_java_deployment" "example" {
...
jvm_options = "-javaagent:<elastic-agent-location>"
...
environment_variables = {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
}
}
أتمتة التوفير باستخدام ملف Bicep
لتكوين متغيرات البيئة في ملف Bicep، أضف التعليمات البرمجية التالية إلى الملف، واستبدل <العناصر النائبة ...> بقيمك الخاصة. لمزيد من المعلومات، راجع Microsoft.AppPlatform Spring/التطبيقات/النشر .
deploymentSettings: {
environmentVariables: {
ELASTIC_APM_SERVICE_NAME='<your-app-name>',
ELASTIC_APM_APPLICATION_PACKAGES='<your-app-package>',
ELASTIC_APM_SERVER_URL='<your-Elastic-APM-server-URL>',
ELASTIC_APM_SECRET_TOKEN='<your-Elastic-APM-secret-token>'
},
jvmOptions: '-javaagent:<elastic-agent-location>',
...
}
أتمتة تزويد التوفير باستخدام قالب ARM
لتكوين متغيرات البيئة في قالب ARM، قم بإضافة التعليمة البرمجية التالية إلى القالب، واستبدل العناصر النائبة <...> بقيمك الخاصة. لمزيد من المعلومات، راجع Microsoft.AppPlatform Spring/التطبيقات/النشر .
"deploymentSettings": {
"environmentVariables": {
"ELASTIC_APM_SERVICE_NAME"="<your-app-name>",
"ELASTIC_APM_APPLICATION_PACKAGES"="<your-app-package>",
"ELASTIC_APM_SERVER_URL"="<your-Elastic-APM-server-URL>",
"ELASTIC_APM_SECRET_TOKEN"="<your-Elastic-APM-secret-token>"
},
"jvmOptions": "-javaagent:<elastic-agent-location>",
...
}
عامل Elastic APM Java مرن
لتخطيط الترقية، راجع إصدارات الترقية لـ Elastic Cloud على Azure، وكسر التغييرات لـ APM. بعد ترقية خادم APM، قم بتحميل ملف JAR لعامل Elastic APM Java في التخزين الثابت المخصص. ثم أعد تشغيل تطبيقاتك باستخدام خيارات JVM المحدثة التي تشير إلى عامل Java Elastic APM الذي تمت ترقيته JAR.
مراقبة التطبيقات والمقاييس باستخدام Elastic APM
استخدم الخطوات التالية لمراقبة التطبيقات والمقاييس:
في مدخل Microsoft Azure، انتقل إلى صفحة Overview لتوزيع Elastic، ثم حدد ارتباط Kibana.
بعد فتح Kibana، ابحث عن APM في شريط البحث، ثم حدد APM.
Kibana APM هو التطبيق المجمّع لدعم مهام سير عمل Application Monitoring. هنا يمكنك عرض تفاصيل عالية المستوى مثل أوقات الطلب/الاستجابة ومعدل النقل والمعاملات في خدمة ذات التأثير الأكبر على المدة.
يمكنك التنقل لأسفل في معاملة معينة لفهم التفاصيل الخاصة بالمعاملة مثل التتبع الموزّع.
يلتقط عامل Elastic APM Java أيضاً مقاييس JVM من تطبيقات Azure Spring المتوفرة مع Kibana App للمستخدمين لاستكشاف الأخطاء وإصلاحها.
باستخدام محرك الذكاء الاصطناعي المدمج في حل Elastic، يمكنك أيضاً تمكين الكشف عن الحالات الشاذة على خدمات تطبيقات Azure Spring واختيار إجراء مناسب - مثل إعلام Teams وإنشاء مشكلة JIRA واستدعاء واجهة برمجة التطبيقات المستندة إلى إخطار على الويب وغير ذلك.