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

تنطبق هذه المقالة على: ✔️ مستوى ✔️ المؤسسة الأساسي/القياسي

توضح هذه المقالة كيفية مراقبة التطبيقات باستخدام عامل Application Insights Java في Azure Spring Cloud.

باستخدام هذه الميزة، يمكنك:

  • البحث في بيانات التتبع باستخدام عوامل تصفية مختلفة.
  • عرض خريطة تبعية لتطبيقات Spring.
  • تحقق من أداء الطلب.
  • مراقبة المقاييس المباشرة في الوقت الحقيقي.
  • تحقق من فشل الطلب.
  • تحقق من مقاييس التطبيق.
  • تحقق من سجلات التطبيق.

يمكن أن توفر Insights التطبيق العديد من وجهات النظر التي يمكن ملاحظتها، بما في ذلك:

  • خريطة التطبيق
  • الأداء
  • الإخفاقات
  • المقاييس
  • القياسات المباشرة
  • التوفر
  • السجلات

استخدام ميزة Insights التطبيق

عند تمكين ميزة Insights التطبيق، يمكنك:

  • في جزء التنقل الأيمن، حدد تطبيق Insights لعرض صفحة نظرة عامة Insights التطبيق. ستعرض لك صفحة نظرة عامة نظرة عامة على جميع التطبيقات قيد التشغيل.

  • حدد Application Map للاطلاع على حالة المكالمات بين التطبيقات.

    Screenshot of Azure portal Application Insights with Application map page showing.

  • حدد الارتباط بين خدمة العملاء ولمعرفة petclinic المزيد من التفاصيل مثل استعلام من SQL.

  • حدد نقطة نهاية لمشاهدة جميع التطبيقات التي تقدم طلبات إلى نقطة النهاية.

  • في جزء التنقل الأيمن، حدد Performance لمشاهدة بيانات الأداء لجميع عمليات التطبيقات وتبعياتها وأدوارها.

    Screenshot of Azure portal Application Insights with Performance page showing.

  • في جزء التنقل الأيمن، حدد Failures لمشاهدة أي حالات فشل أو استثناءات غير متوقعة من تطبيقاتك.

    Screenshot of Azure portal Application Insights with Failures page showing.

  • في جزء التنقل الأيمن، حدد Metrics وحدد مساحة الاسم، وسترى كلا من مقاييس Spring Boot والمقاييس المخصصة، إن وجدت.

    Screenshot of Azure portal Application Insights with Metrics page showing.

  • في جزء التنقل الأيمن، حدد Live Metrics لمشاهدة مقاييس الوقت الحقيقي لأبعاد مختلفة.

    Screenshot of Azure portal Application Insights with Live Metrics page showing.

  • في جزء التنقل الأيمن، حدد التوفر لمراقبة توفر تطبيقات الويب واستجابتها عن طريق إنشاء اختبارات التوفر في Insights التطبيق.

    Screenshot of Azure portal Application Insights with Availability page showing.

  • في جزء التنقل الأيمن، حدد Logs لعرض جميع سجلات التطبيقات، أو سجلات تطبيق واحد عند التصفية حسب cloud_RoleName.

    Screenshot of Azure portal Application Insights with Logs page showing.

إدارة Insights التطبيق باستخدام مدخل Microsoft Azure

قم بتمكين Java In-Process Agent باستخدام الإجراء التالي.

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

  2. حدد تمكين Insights التطبيق لتمكين Insights التطبيق في Azure Spring Cloud.

  3. حدد مثيلا موجودا من Application Insights أو أنشئ مثيلا جديدا.

  4. عند تمكين Insights التطبيق، يمكنك تكوين معدل أخذ عينات اختياري واحد (افتراضي 10.0٪).

    Screenshot of Azure portal Azure Spring Cloud instance with Application Insights page showing and 'Enable Application Insights' checkbox highlighted.

  5. حدد حفظ لحفظ التغيير.

ملاحظة

لا تستخدم نفس مثيل Insights التطبيق في مثيلات Azure Spring Cloud المختلفة، أو سترى بيانات مختلطة.

يمكنك استخدام المدخل للتحقق من الإعدادات الحالية أو تحديثها في Insights التطبيق.

تمكين Insights التطبيق باستخدام مدخل Microsoft Azure

  1. حدد Insights التطبيق.

  2. قم بتمكين Insights التطبيق عن طريق تحديد تحرير الربط أو الارتباط التشعبي Unbound.

    Screenshot of Azure portal Azure Spring Cloud instance with Application Insights page showing and drop-down menu visible with 'Edit binding' option.

  3. قم بتحرير Insights التطبيق أو معدل أخذ العينات، ثم حدد حفظ.

تعطيل Insights التطبيق

  1. حدد Insights التطبيق.

  2. حدد إلغاء ربط البيانات لتعطيل Insights التطبيق.

    Screenshot of Azure portal Azure Spring Cloud instance with Application Insights page showing and drop-down menu visible with 'Unbind binding' option.

تغيير Insights الإعدادات التطبيق

حدد الاسم ضمن عمود Insights التطبيق لفتح قسم Insights التطبيق.

Screenshot of Azure portal Azure Spring Cloud instance with Application Insights page showing.

تحرير روابط application Insights buildpack في Build Service

للتحقق من الإعدادات الحالية وتحديثها لروابط application Insights buildpack في Build Service، اتبع الخطوات التالية:

  1. حدد Build Service.
  2. اختر منشئك.
  3. حدد تحرير ضمن عمود الروابط.

تم العثور على إعدادات Insights التطبيق في عنصر ApplicationInsights المدرج ضمن عمود نوع الربط.

  1. حدد الارتباط التشعبي المرتبط، أو حدد تحرير الربط ضمن علامة الحذف، لفتح وتحرير روابط application Insights buildpack.

    Screenshot of Azure portal 'Edit bindings for default builder' pane.

  2. قم بتحرير إعدادات الربط، ثم حدد حفظ.

    Screenshot of Azure portal 'Edit binding' pane.

إدارة Insights التطبيق باستخدام Azure CLI

يمكنك إدارة Insights التطبيق باستخدام أوامر Azure CLI. في الأوامر التالية، تأكد من استبدال <نص العنصر> النائب بالقيم الموضحة. يشير العنصر النائب اسم> مثيل الخدمة إلى اسم مثيل Azure Spring Cloud.<

تمكين Application Insights

لتكوين Insights التطبيق عند إنشاء مثيل Azure Spring Cloud، استخدم الأمر التالي. بالنسبة للوسيطةapp-insights، يمكنك تحديد اسم التطبيق Insights أو معرف المورد.

az spring-cloud create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>
az spring-cloud create \
    --resource-group <resource-group-name> \
    --name "service-instance-name" \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>
    --sku Enterprise

يمكنك أيضا استخدام سلسلة اتصال Insights التطبيق (المفضلة) أو مفتاح الأجهزة، كما هو موضح في المثال التالي.

az spring-cloud create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>
az spring-cloud create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>
    --sku Enterprise

تعطيل Insights التطبيق

لتعطيل Insights التطبيق عند إنشاء مثيل Azure Spring Cloud، استخدم الأمر التالي:

az spring-cloud create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights
az spring-cloud create \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable-app-insights
    --sku Enterprise

تحقق من إعدادات Insights التطبيق

للتحقق من إعدادات Insights التطبيق لمثيل Azure Spring Cloud موجود، استخدم الأمر التالي:

az spring-cloud app-insights show \
    --resource-group <resource-group-name> \
    --name <service-instance-name>

تحديث Insights التطبيق

لتحديث Insights التطبيق لاستخدام سلسلة اتصال (مفضلة) أو مفتاح تقرير عن حالة النظام، استخدم الأمر التالي:

az spring-cloud app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights-key <connection-string-or-instrumentation-key> \
    --sampling-rate <sampling-rate>

لتحديث Insights التطبيق لاستخدام اسم المورد أو معرفه، استخدم الأمر التالي:

az spring-cloud app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --app-insights <name-or-resource-ID> \
    --sampling-rate <sampling-rate>

تعطيل Insights التطبيق باستخدام أمر التحديث

لتعطيل Insights التطبيق على مثيل Azure Spring Cloud موجود، استخدم الأمر التالي:

az spring-cloud app-insights update \
    --resource-group <resource-group-name> \
    --name <service-instance-name> \
    --disable

إدارة روابط حزمة Insights التطبيق

ينطبق هذا القسم على مستوى المؤسسة فقط، ويوفر إرشادات تكمل القسم السابق.

تستخدم طبقة Azure Enterprise روابط Buildpack لدمج Insights تطبيق Azure مع النوع ApplicationInsights.

لإنشاء ربط application Insights buildpack، استخدم الأمر التالي:

az spring-cloud build-service builder buildpack-binding create \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

لسرد كافة روابط buildpack، والعثور على التطبيق Insights ربط النوع ApplicationInsights، استخدم الأمر التالي:

az spring-cloud build-service builder buildpack-binding list \
    --resource-group <your-resource-group-name> \
    --service <your-service-resource-name> \
    --builder-name <your-builder-name>

لاستبدال ربط application Insights buildpack، استخدم الأمر التالي:

az spring-cloud build-service builder buildpack-binding set \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \
    --type ApplicationInsights \
    --properties sampling-percentage=<your-sampling-percentage> \
                 connection-string=<your-connection-string>

للحصول على ربط application Insights buildpack، استخدم الأمر التالي:

az spring-cloud build-service builder buildpack-binding show \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \

لحذف ربط application Insights buildpack، استخدم الأمر التالي:

az spring-cloud build-service builder buildpack-binding delete \
    --resource-group <your-resource-group-name> \
    --service <your-service-instance-name> \
    --name <your-binding-name> \
    --builder-name <your-builder-name> \

Automation

تصف الأقسام التالية كيفية أتمتة التوزيع باستخدام قوالب Azure Resource Manager (قوالب ARM) أو Terraform.

قوالب ARM

للنشر باستخدام قالب ARM، انسخ المحتوى التالي في ملف azuredeploy.json . لمزيد من المعلومات، راجع Microsoft.AppPlatform Spring/monitoringSettings.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [
        {
            "type": "Microsoft.AppPlatform/Spring",
            "name": "customize this",
            "apiVersion": "2020-07-01",
            "location": "[resourceGroup().location]",
            "resources": [
                {
                    "type": "monitoringSettings",
                    "apiVersion": "2020-11-01-preview",
                    "name": "default",
                    "properties": {
                        "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000",
                        "appInsightsSamplingRate": 88.0
                    },
                    "dependsOn": [
                        "[resourceId('Microsoft.AppPlatform/Spring', 'customize this')]"
                    ]
                }
            ],
            "properties": {}
        }
    ]
}

Terraform

لنشر Terraform، استخدم القالب التالي. لمزيد من المعلومات، راجع azurerm_spring_cloud_service.

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_application_insights" "example" {
  name                = "tf-test-appinsights"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  application_type    = "web"
}

resource "azurerm_spring_cloud_service" "example" {
  name                = "example-springcloud"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  sku_name            = "S0"

  config_server_git_setting {
    uri          = "https://github.com/Azure-Samples/piggymetrics"
    label        = "config"
    search_paths = ["dir1", "dir2"]
  }

  trace {
    connection_string = azurerm_application_insights.example.connection_string
    sample_rate       = 10.0
  }

  tags = {
    Env = "staging"
  }
}

التنفيذ التلقائي في مستوى المؤسسة معلق للدعم. ستتم إضافة الوثائق بمجرد توفرها.

تحديث/ترقية عامل Java

سيتم تحديث/ترقية عامل Java بانتظام باستخدام JDK، مما قد يؤثر على السيناريوهات التالية.

ملاحظة

سيتم تحديث/ترقية إصدار JDK كل ثلاثة أشهر سنويا.

  • لن تتأثر التطبيقات الموجودة التي تستخدم عامل Java قبل التحديث/الترقية.
  • ستستخدم التطبيقات التي تم إنشاؤها بعد التحديث/الترقية الإصدار الجديد من عامل Java.
  • تتطلب التطبيقات الموجودة التي لم تستخدم عامل Java سابقا إعادة التشغيل أو إعادة التوزيع لاستخدام الإصدار الجديد من عامل Java.

سيتم تحديث/ترقية عامل Java عند تحديث buildpack.

التحميل السريع لتكوين عامل Java

قام Azure Spring Cloud بتمكين آلية التحميل السريع لضبط إعدادات تكوين العامل دون إعادة تشغيل التطبيقات.

ملاحظة

آلية التحميل السريع لها تأخير بالدقائق.

  • عند تمكين عامل Java مسبقا، لا تتطلب التغييرات التي تم إجراؤها على مثيل Insights التطبيق و/أو SamplingRate إعادة تشغيل التطبيقات.
  • إذا قمت بتمكين عامل Java، فيجب عليك إعادة تشغيل التطبيقات.
  • عند تعطيل عامل Java، ستتوقف التطبيقات عن إرسال جميع بيانات المراقبة بعد تأخير في دقائق. يمكنك إعادة تشغيل التطبيقات لإزالة العامل من بيئة وقت تشغيل Java.

مطابقة المفهوم بين Azure Spring Cloud وتطبيق Insights

Azure Spring Cloud Application Insights
App * خريطة التطبيق/الدور
* المقاييس المباشرة/الدور
* حالات الفشل/الأدوار/دور السحابة
* دور الأداء/الأدوار/الدور الممكن
App Instance * مخطط التطبيق/مثيل الدور
* Live Metrics/Service Name
* حالات الفشل/الأدوار/مثيل السحابة
* مثيل الأداء/الأدوار/الممكن

سيتم تغيير الاسم App Instance من Azure Spring Cloud أو إنشاؤه في السيناريوهات التالية:

  • يمكنك إنشاء تطبيق جديد.
  • يمكنك نشر ملف JAR أو التعليمات البرمجية المصدر إلى تطبيق موجود.
  • يمكنك بدء نشر أزرق/أخضر.
  • إعادة تشغيل التطبيق.
  • يمكنك إيقاف نشر تطبيق، ثم إعادة تشغيله.

عند تخزين البيانات في Insights التطبيق، فإنها تحتوي على محفوظات مثيلات تطبيق Azure Spring Cloud التي تم إنشاؤها أو نشرها منذ تمكين عامل Java. على سبيل المثال، في مدخل Insights التطبيق، يمكنك مشاهدة بيانات التطبيق التي تم إنشاؤها أمس، ولكن بعد ذلك حذفها ضمن نطاق زمني محدد، مثل آخر 24 ساعة. توضح السيناريوهات التالية كيفية عمل ذلك:

  • لقد أنشأت تطبيقا حوالي الساعة 8:00 صباحا اليوم من Azure Spring Cloud مع تمكين عامل Java، ثم قمت بنشر ملف JAR إلى هذا التطبيق حوالي الساعة 8:10 صباحا اليوم. بعد إجراء بعض الاختبارات، يمكنك تغيير التعليمات البرمجية ونشر ملف JAR جديد إلى هذا التطبيق في الساعة 8:30 صباحا اليوم. بعد ذلك، خذ استراحة، وعندما تعود حوالي الساعة 11:00 صباحا، يمكنك التحقق من بعض البيانات من Application Insights. ستطلع على:
    • ثلاثة مثيلات في Application Map مع نطاقات زمنية في آخر 24 ساعة، وفشل وأداء ومقاييس.
    • مثيل واحد في Application Map مع نطاق زمني في الساعة الأخيرة، والفشل والأداء والمقاييس.
    • مثيل واحد في Live Metrics.
  • لقد أنشأت تطبيقا حوالي الساعة 8:00 صباحا اليوم من Azure Spring Cloud مع تمكين عامل Java، ثم قمت بنشر ملف JAR إلى هذا التطبيق حوالي الساعة 8:10 صباحا اليوم. حوالي الساعة 8:30 صباحا اليوم، يمكنك تجربة توزيع أزرق/أخضر مع ملف JAR آخر. حاليا، لديك اثنين من عمليات النشر لهذا التطبيق. بعد استراحة حوالي الساعة 11:00 صباحا اليوم، تريد التحقق من بعض البيانات من Insights التطبيق. ستطلع على:
    • ثلاثة مثيلات في Application Map مع نطاقات زمنية في آخر 24 ساعة، وفشل وأداء ومقاييس.
    • مثيلان في Application Map مع نطاقات زمنية في الساعة الأخيرة، وفشل وأداء ومقاييس.
    • مثيلان في Live Metrics.

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