موارد Application Insights المستندة إلى مساحة العمل

تدمج الموارد المستندة إلى مساحة عمل Azure MonitorApplication Insights Application Insights وLog Analytics.

باستخدام الموارد المستندة إلى مساحة العمل، يرسل Application Insights بيانات تتبع الاستخدام إلى مساحة عمل Log Analytics مشتركة، ما يوفر وصولا كاملا إلى جميع ميزات Log Analytics مع الاحتفاظ بتطبيقك والبنية الأساسية وسجلات النظام الأساسي في موقع موحد واحد. يسمح هذا التكامل بالتحكم الشائع في الوصول المستند إلى الدور في Azure عبر مواردك ويلغي الحاجة إلى استعلامات عبر التطبيقات/مساحة العمل.

إشعار

يتم فوترة استيعاب البيانات والاحتفاظ بها لموارد Application Insights المستندة إلى مساحة العمل من خلال مساحة عمل Log Analytics حيث توجد البيانات. لمعرفة المزيد حول الفوترة لموارد Application Insights المستندة إلى مساحة العمل، راجع تفاصيل تسعير Azure Monitor Logs.

إمكانات جديدة

يتكامل Application Insights المستند إلى مساحة العمل مع Azure Monitor وLog Analytics لتحسين القدرات:

إنشاء مورد يستند إلى مساحة عمل

قم بتسجيل الدخول إلى مدخل Microsoft Azure، وإنشاء مورد Application Insights.

لقطة شاشة تعرض مورد Application Insights المستند إلى مساحة العمل.

إذا لم يكن لديك سجل مساحة عمل Analytics موجودة، راجع وثائق إنشاء مساحة عمل Log Analytics.

تتوفر الموارد المستندة إلى مساحة العمل حاليًا في جميع المناطق التجارية وMicrosoft Azure Government. يمكن أن يؤثر وجود Application Insights وLog Analytics في منطقتين مختلفتين على زمن الانتقال ويقلل من الموثوقية الإجمالية لحل المراقبة.

بعد إنشاء المورد الخاص بك، سترى معلومات مساحة العمل المقابلة في جزء نظرة عامة.

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

حدد نص ارتباط الأزرق للذهاب إلى مساحة عمل Log Analytics المقترنة حيث يمكنك الاستفادة من بيئة استعلام مساحة العمل الموحدة الجديدة.

إشعار

ما زلنا نقدم التوافق الكامل مع الإصدارات السابقة لاستعلامات الموارد الكلاسيكية والمصنفات والتنبيهات المستندة إلى السجل الخاصة بك في Application Insights. لاستعلام أو عرض هيكل جدول جديد معتمد على مساحة عمل أو مخطط، يجب عليك أولاً الانتقال إلى مساحة عمل Log Analytics. تحديدLogs (Analytics) في أجزاء Application Insights يتيح لك الوصول إلى تجربة الاستعلام Application Insights الكلاسيكية.

نسخ سلسلة الاتصال

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

تكوين المراقبة

بعد إنشاء مورد Application Insights المستند إلى مساحة العمل، يمكنك تكوين المراقبة.

مراقبة التطبيقات المستندة إلى التعليمة البرمجية

لمراقبة التطبيق المستند إلى التعليمات البرمجية، يمكنك تثبيت Application Insights SDK المناسبة وإشارة سلسلة الاتصال إلى المورد الذي تم إنشاؤه حديثا.

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

مراقبة بدون تعليمات برمجية

للمراقبة بدون تعليمات برمجية لخدمات مثل Azure Functions وAzure App Services، يمكنك أولا إنشاء مورد Application Insights المستند إلى مساحة العمل. ثم تشير إلى هذا المورد عند تكوين المراقبة. بدلا من ذلك، يمكنك إنشاء مورد Application Insights جديد كجزء من تمكين Application Insights.

إنشاء مورد تلقائي

Azure CLI

للوصول إلى أوامر واجهة سطر الأوامرApplication Insights من الإصدار الأولي، يجب عليك تشغيل ما يلي أولاً:

 az extension add -n application-insights

إذا لم تقم بتشغيل az extension add الأمر، فسترى رسالة خطأ تنص على az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'.

الآن يمكنك تشغيل التعليمة البرمجية التالية لإنشاء مورد Application Insights:

az monitor app-insights component create --app
                                         --location
                                         --resource-group
                                         [--application-type]
                                         [--ingestion-access {Disabled, Enabled}]
                                         [--kind]
                                         [--only-show-errors]
                                         [--query-access {Disabled, Enabled}]
                                         [--tags]
                                         [--workspace]

مثال

az monitor app-insights component create --app demoApp --location eastus --kind web -g my_resource_group --workspace "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

للحصول على وثائق واجهة سطر الأوامر Azure الكاملة لهذا الأمر، راجع وثائق واجهة سطر الأوامر Azure.

Azure PowerShell

إنشاء مورد Application Insights مستند إلى مساحة العمل.

New-AzApplicationInsights -Name <String> -ResourceGroupName <String> -Location <String> -WorkspaceResourceId <String>
   [-SubscriptionId <String>]
   [-ApplicationType <ApplicationType>]
   [-DisableIPMasking]
   [-DisableLocalAuth]
   [-Etag <String>]
   [-FlowType <FlowType>]
   [-ForceCustomerStorageForProfiler]
   [-HockeyAppId <String>]
   [-ImmediatePurgeDataOn30Day]
   [-IngestionMode <IngestionMode>]
   [-Kind <String>]
   [-PublicNetworkAccessForIngestion <PublicNetworkAccessType>]
   [-PublicNetworkAccessForQuery <PublicNetworkAccessType>]
   [-RequestSource <RequestSource>]
   [-RetentionInDays <Int32>]
   [-SamplingPercentage <Double>]
   [-Tag <Hashtable>]
   [-DefaultProfile <PSObject>]
   [-Confirm]
   [-WhatIf]
   [<CommonParameters>]

مثال

New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"

للحصول على وثائق PowerShell الكاملة ل cmdlet هذا، ولمعرفة كيفية استرداد سلسلة الاتصال، راجع وثائق Azure PowerShell.

قوالب Azure Resource Manager

@description('Name of Application Insights resource.')
param name string

@description('Type of app you are deploying. This field is for legacy reasons and will not impact the type of App Insights resource you deploy.')
param type string

@description('Which Azure Region to deploy the resource to. This must be a valid Azure regionId.')
param regionId string

@description('See documentation on tags: https://learn.microsoft.com/azure/azure-resource-manager/management/tag-resources.')
param tagsArray object

@description('Source of Azure Resource Manager deployment')
param requestSource string

@description('Log Analytics workspace ID to associate with your Application Insights resource.')
param workspaceResourceId string

resource component 'Microsoft.Insights/components@2020-02-02' = {
  name: name
  location: regionId
  tags: tagsArray
  kind: 'other'
  properties: {
    Application_Type: type
    Flow_Type: 'Bluefield'
    Request_Source: requestSource
    WorkspaceResourceId: workspaceResourceId
  }
}

ملف المعلمة

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "name": {
      "value": "my_workspace_based_resource"
    },
    "type": {
      "value": "web"
    },
    "regionId": {
      "value": "westus2"
    },
    "tagsArray": {
      "value": {}
    },
    "requestSource": {
      "value": "CustomDeployment"
    },
    "workspaceResourceId": {
      "value": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testxxxx/providers/microsoft.operationalinsights/workspaces/testworkspace"
    }
  }
}

تعديل مساحة عمل المقترنة

بعد إنشاء مورد Application Insights المستند إلى مساحة العمل، يمكنك تعديل مساحة عمل Log Analytics المقترنة.

في جزء موارد Application Insights حدد خصائص>تغيير مساحات عمل>مساحات عمل Log Analytics.

تصدير القياس عن بعد

وظيفة التصدير المستمر القديمة غير معتمدة للموارد المستندة إلى مساحة عمل. بدلًا من ذلك، حدد إعدادات التشخيص>إضافة إعداد تشخيص من داخل مورد Application Insights. يمكنك تحديد كل الجداول، أو مجموعة فرعية من الجداول لأرشفتها في حساب تخزين. يمكنك أيضًا البث إلى مركز أحداث Azure.

إشعار

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

كم عدد موارد Application Insights التي يجب توزيعها؟

عند تطوير الإصدار التالي من تطبيق ويب، لا تريد خلط بيانات تتبع الاستخدام Application Insights من الإصدار الجديد والإصدار الذي تم إصداره بالفعل.

لتجنب الارتباك، أرسل بيانات تتبع الاستخدام من مراحل تطوير مختلفة لفصل موارد Application Insights مع سلسلة الاتصال منفصلة.

إذا كان النظام الخاص بك مثيلا لخدمات Azure Cloud، فهناك طريقة أخرى لإعداد سلسلة الاتصال منفصلة.

حول الموارد سلسلة الاتصال

عند إعداد مراقبة Application Insights لتطبيق الويب الخاص بك، يمكنك إنشاء مورد Application Insights في Azure. يمكنك فتح المورد في مدخل Microsoft Azure لمشاهدة وتحليل بيانات تتبع الاستخدام التي تم جمعها من تطبيقك. يعرف سلسلة الاتصال المورد. عند تثبيت حزمة Application Insights لمراقبة تطبيقك، يمكنك تكوينه باستخدام سلسلة الاتصال بحيث يعرف مكان إرسال بيانات تتبع الاستخدام.

يأتي كل مورد Application Insights مع مقاييس متوفرة خارج الصندوق. إذا كانت المكونات المنفصلة تقدم تقريرا إلى نفس مورد Application Insights، فقد لا يكون من المنطقي التنبيه على هذه المقاييس.

متى تستخدم مورد حكمة التطبيق لمرة واحدة

استخدم مورد Application Insights واحدا من أجل:

  • تبسيط إدارة DevOps/ITOps للتطبيقات المنشورة معا، والتي يتم تطويرها وإدارتها عادة من قبل نفس الفريق.
  • مركزية مؤشرات الأداء الرئيسية، مثل أوقات الاستجابة ومعدلات الفشل، في لوحة المعلومات بشكل افتراضي. تقسيم حسب اسم الدور في مستكشف المقاييس إذا لزم الأمر.
  • عندما لا تكون هناك حاجة لإدارة مختلفة للتحكم في الوصول استنادا إلى الدور في Azure بين مكونات التطبيق.
  • عندما تكون معايير تنبيه المقاييس المتطابقة، تكون عمليات التصدير المستمرة وإدارة الفوترة/الحصص النسبية عبر المكونات كافية.
  • عندما يكون من المقبول لمفتاح API الوصول إلى البيانات من جميع المكونات بالتساوي، ويلبي 10 مفاتيح API الاحتياجات عبر جميع المكونات.
  • عندما تكون نفس إعدادات الكشف الذكي وتكامل عنصر العمل مناسبة عبر جميع الأدوار.

إشعار

إذا كنت ترغب في دمج موارد Application Insights متعددة، يمكنك توجيه مكونات التطبيق الحالية إلى مورد Application Insights جديد ومدمج. لن يتم نقل بيانات تتبع الاستخدام المخزنة في المورد القديم إلى المورد الجديد. احذف المورد القديم فقط عندما يكون لديك ما يكفي من بيانات تتبع الاستخدام في المورد الجديد لاستمرارية الأعمال.

اعتبارات أخرى

لتنشيط تجارب المدخل، أضف تعليمة برمجية مخصصة لتعيين قيم ذات معنى إلى سمة Cloud_RoleName . بدون هذه القيم، لا تعمل ميزات المدخل.

بالنسبة لتطبيقات Azure Service Fabric والخدمات السحابية الكلاسيكية، تقوم SDK تلقائيا بتكوين الخدمات عن طريق القراءة من بيئة دور Azure. بالنسبة لأنواع التطبيقات الأخرى، تحتاج عادة إلى تعيينه بشكل صريح.

لا يمكن للمقاييس المباشرة تقسيم البيانات حسب اسم الدور.

إنشاء المزيد من موارد Application Insights

لإنشاء مورد Applications Insights، راجع إنشاء مورد Application Insights.

تحذير

قد تتحمل تكاليف شبكة إضافية إذا كان مورد Application Insights الخاص بك يراقب مورد Azure (أي منتج بيانات تتبع الاستخدام) في منطقة مختلفة. ستختلف التكاليف اعتمادا على المنطقة التي تأتي منها بيانات تتبع الاستخدام والمكان الذي تسير فيه. راجع تسعير عرض النطاق الترددي ل Azure للحصول على التفاصيل.

احصل على سلسلة الاتصال

يعرف سلسلة الاتصال المورد الذي قمت بإنشائه.

تحتاج إلى سلسلة الاتصال لجميع الموارد التي يرسل إليها تطبيقك البيانات.

تصفية رقم الإصدار

عند نشر إصدار جديد من تطبيقك، تريد أن تكون قادرا على فصل بيانات تتبع الاستخدام عن إصدارات مختلفة.

يمكنك تعيين خاصية إصدار التطبيق بحيث يمكنك تصفية نتائج البحث ومستكشف المقاييس.

هناك عدة طرق مختلفة لتعيين خاصية إصدار التطبيق.

  • قم بالتعيين مباشرة:

    telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;

  • قم بتضمين هذا الخط في مهيئ بيانات تتبع الاستخدام للتأكد من تعيين جميع TelemetryClient المثيلات باستمرار.

  • ASP.NET: تعيين الإصدار في BuildInfo.config. تلتقط وحدة الويب الإصدار من العقدة BuildLabel . قم بتضمين هذا الملف في مشروعك وتذكر تعيين الخاصية Copy Always في مستكشف الحلول.

    <?xml version="1.0" encoding="utf-8"?>
    <DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
      <ProjectName>AppVersionExpt</ProjectName>
      <Build type="MSBuild">
        <MSBuild>
          <BuildLabel kind="label">1.0.0.2</BuildLabel>
        </MSBuild>
      </Build>
    </DeploymentEvent>
    
    
  • ASP.NET: إنشاء BuildInfo.config تلقائيا في Microsoft Build Engine. أضف بضعة أسطر إلى الملف:.csproj

    <PropertyGroup>
      <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>    <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
    </PropertyGroup>
    

    تنشئ هذه الخطوة ملفا يسمى yourProjectName.BuildInfo.config. تعيد عملية النشر تسميتها إلى BuildInfo.config.

    تحتوي تسمية الإنشاء على عنصر نائب (*AutoGen_...*) عند الإنشاء باستخدام Visual Studio. ولكن عند الإنشاء باستخدام Microsoft Build Engine، يتم ملؤه برقم الإصدار الصحيح.

    للسماح ل Microsoft Build Engine بإنشاء أرقام الإصدار، قم بتعيين الإصدار كما في 1.0.*AssemblyReference.cs.

الإصدار وتعقب الإصدار

لتعقب إصدار التطبيق، تأكد من أن عملية Microsoft Build Engine تنشئ buildinfo.config. في الملف.csproj، قم بإضافة:

<PropertyGroup>
  <GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
  <IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>

عندما تحتوي وحدة ويب Application Insights على معلومات الإنشاء، فإنها تضيف تلقائيا إصدار التطبيق كخاصية إلى كل عنصر من عناصر القياس عن بعد. لهذا السبب، يمكنك التصفية حسب الإصدار عند إجراء عمليات البحث التشخيصية أو عند استكشاف المقاييس.

يقوم Microsoft Build Engine بإنشاء رقم إصدار البناء بشكل حصري، وليس إصدار المطور من Visual Studio.

إصدار التعليقات التوضيحية

إذا كنت تستخدم Azure DevOps، يمكنك إضافة علامة تعليق توضيحي إلى المخططات الخاصة بك كلما قمت بإصدار إصدار جديد.

الأسئلة الشائعة

يقدم هذا القسم إجابات للأسئلة الشائعة.

كيف يمكنني نقل مورد Application Insights إلى منطقة جديدة؟

نقل موارد Application Insights الموجودة بين المناطق غير مدعوم، ولا يمكنك ترحيل البيانات التاريخية إلى منطقة جديدة. يتضمن الحل البديل ما يلي:

  • إنشاء مورد Application Insights جديد يستند إلى مساحة العمل في المنطقة المطلوبة.
  • إعادة إنشاء أي تخصيصات فريدة من المورد الأصلي في المورد الجديد.
  • تحديث التطبيق الخاص بك مع سلسلة الاتصال مورد المنطقة الجديدة.
  • اختبار لضمان عمل كل شيء كما هو متوقع مع مورد Application Insights الجديد.
  • قرر إما الاحتفاظ أو حذف مورد Application Insights الأصلي. يعني حذف مورد كلاسيكي فقدان جميع البيانات التاريخية. إذا كان المورد مستندا إلى مساحة العمل، تظل البيانات في Log Analytics، ما يتيح الوصول إلى البيانات التاريخية حتى تنتهي فترة الاستبقاء.

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

  • إعادة إنشاء لوحات معلومات ومصنفات مخصصة.
  • إعادة إنشاء أو تحديث نطاق أي تنبيهات مخصصة للسجل/القياس.
  • إعادة إنشاء تنبيهات التوفر.
  • أعد إنشاء أي إعدادات مخصصة للتحكم في الوصول استنادا إلى دور Azure مطلوبة للمستخدمين للوصول إلى المورد الجديد.
  • انسخ الإعدادات التي تتضمن أخذ عينات الاستيعاب والاحتفاظ بالبيانات، والحد الأقصى اليومي، وتمكين المقاييس المخصصة. يتم التحكم في هذه الإعدادات عبر جزء الاستخدام والتكاليف المقدرة.
  • أي تكامل يعتمد على مفاتيح واجهة برمجة التطبيقات، مثل التعليقات التوضيحية للإصدار وقناة التحكم الآمنة للمقاييس المباشرة. تحتاج إلى إنشاء مفاتيح API جديدة وتحديث التكامل المقترن.
  • يجب تكوين التصدير المستمر في الموارد الكلاسيكية مرة أخرى.
  • يجب تكوين إعدادات التشخيص في الموارد المستندة إلى مساحة العمل مرة أخرى.

إشعار

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

هل يمكنني استخدام الموفرين('Microsoft.Insights'، 'components').apiVersions[0] في عمليات توزيع Azure Resource Manager؟

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

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