مصادقة Microsoft Entra ل Application Insights

يدعم Application Insights الآن مصادقة Microsoft Entra. باستخدام معرف Microsoft Entra، يمكنك التأكد من استيعاب بيانات تتبع الاستخدام المصادق عليها فقط في موارد Application Insights.

يمكن أن يكون استخدام أنظمة المصادقة المختلفة ويشكل خطراً نظراً إلى أنه من الصعب إدارة بيانات الاعتماد على نطاق واسع. يمكنك الآن اختيار إلغاء الاشتراك في المصادقة المحلية لضمان مصادقة بيانات تتبع الاستخدام فقط حصريا باستخدام الهويات المدارة ومعرف Microsoft Entra في المورد الخاص بك. هذه الميزة هي خطوة لتعزيز أمان وموثوقية بيانات تتبع الاستخدام المستخدمة لاتخاذ قرارات تشغيلية حرجة (التنبيه والتحجيم التلقائي) والأعمال.

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

الخطوات الأولية التالية مطلوبة لتمكين الاستيعاب المصادق عليه من Microsoft Entra. تحتاج إلى:

السيناريوهات غير المدعومة

حزم تطوير البرامج (SDKs) والميزات التالية غير مدعومة للاستخدام مع الاستيعاب المصادق عليه من Microsoft Entra:

تكوين وتمكين المصادقة المستندة إلى معرف Microsoft Entra

  1. إذا لم يكن لديك هوية بالفعل، فبادر بإنشاء واحدة باستخدام هوية مدارة أو كيان خدمة.

    • نوصي باستخدام هوية مدارة:

      إعداد هوية مدارة لخدمة Azure (الأجهزة الظاهرية أو خدمة التطبيقات).

    • لا نوصي باستخدام كيان الخدمة:

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

  2. تعيين دور التحكم في الوصول استنادا إلى الدور (RBAC) المطلوب إلى هوية Azure أو كيان الخدمة أو حساب مستخدم Azure.

    اتبع الخطوات الواردة في تعيين أدوار Azure لإضافة دور Monitoring Metrics Publisher إلى الهوية المتوقعة أو كيان الخدمة أو حساب مستخدم Azure عن طريق تعيين مورد Application Insights الهدف كنطاق الدور.

    إشعار

    على الرغم من أن دور Monitoring Metrics Publisher يقول "metrics"، فإنه سينشر جميع بيانات تتبع الاستخدام إلى مورد Application Insights.

  3. اتبع إرشادات التكوين وفقا للغة التالية.

إشعار

يتم تضمين دعم معرف Microsoft Entra في Application Insights .NET SDK بدءا من الإصدار 2.18-Beta3.

يدعم Application Insights .NET SDK فئات بيانات الاعتماد التي توفرها Azure Identity.

  • نوصي DefaultAzureCredential بالتطوير المحلي.
  • تأكد من مصادقتك على Visual Studio باستخدام حساب مستخدم Azure المتوقع. لمزيد من المعلومات، راجع المصادقة عبر Visual Studio.
  • نوصي بالهويات ManagedIdentityCredential المدارة المعينة من قبل النظام والمخصصة من قبل المستخدم.
    • بالنسبة إلى النظام المعين، استخدم المنشئ الافتراضي بدون معلمات.
    • بالنسبة إلى المعين من قبل المستخدم، قم بتوفير معرف العميل إلى الدالة الإنشائية.

يوضح المثال التالي كيفية الإنشاء والتكوين TelemetryConfiguration يدويا باستخدام .NET:

TelemetryConfiguration.Active.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/";
var credential = new DefaultAzureCredential();
TelemetryConfiguration.Active.SetAzureTokenCredential(credential);

يوضح المثال التالي كيفية التكوين TelemetryConfiguration باستخدام .NET Core:

services.Configure<TelemetryConfiguration>(config =>
{
       var credential = new DefaultAzureCredential();
       config.SetAzureTokenCredential(credential);
});
services.AddApplicationInsightsTelemetry(new ApplicationInsightsServiceOptions
{
    ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/"
});

الاستعلام عن Application Insights باستخدام مصادقة Microsoft Entra

يمكنك إرسال طلب استعلام باستخدام نقطة https://api.applicationinsights.ioنهاية Azure Monitor Application Insights . للوصول إلى نقطة النهاية، يجب المصادقة من خلال معرف Microsoft Entra.

إعداد المصادقة

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

  1. تسجيل تطبيق في معرف Microsoft Entra.

  2. في صفحة نظرة عامة على التطبيق، حدد أذونات واجهة برمجة التطبيقات.

  3. حدد إضافة إذن.

  4. في علامة التبويب واجهات برمجة التطبيقات التي تستخدمها مؤسستي، ابحث عن Application Insights وحدد Application Insights API من القائمة.

  5. حدد الأذونات المفوضة.

  6. حدد خانة الاختيار Data.Read .

  7. حدد إضافة أذونات.

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

  1. من صفحة نظرة عامة على مورد Application Insights، حدد Access control (IAM).

  2. حدد Add role assignment.

  3. حدد دور القارئ ثم حدد الأعضاء.

  4. في علامة التبويب الأعضاء ، اختر تحديد أعضاء.

  5. أدخل اسم تطبيقك في المربع تحديد .

  6. حدد تطبيقك واختر تحديد.

  7. حدد مراجعة + تعيين.

  8. بعد الانتهاء من إعداد Active Directory والأذونات، اطلب رمزا مميزا للتخويل.

إشعار

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

طلب رمز تخويل مميز

قبل البدء، تأكد من أن لديك جميع القيم المطلوبة لإجراء الطلب بنجاح. تتطلب جميع الطلبات ما يلي:

  • معرف مستأجر Microsoft Entra.
  • معرف تطبيق App Insights - إذا كنت تستخدم حاليا مفاتيح واجهة برمجة التطبيقات، فهذا هو معرف التطبيق نفسه.
  • معرف عميل Microsoft Entra للتطبيق.
  • سر عميل Microsoft Entra للتطبيق.

تدعم واجهة برمجة تطبيقات Application Insights مصادقة Microsoft Entra مع ثلاثة تدفقات مختلفة من Microsoft Entra ID OAuth2 :

  • بيانات اعتماد العميل
  • التعليمة البرمجية للتخويل
  • ضمني

تدفق بيانات اعتماد العميل

في تدفق بيانات اعتماد العميل، يتم استخدام الرمز المميز مع نقطة نهاية Application Insights. يتم تقديم طلب واحد لتلقي رمز مميز باستخدام بيانات الاعتماد المتوفرة لتطبيقك في الخطوة السابقة عند تسجيل تطبيق في Microsoft Entra ID.

https://api.applicationinsights.io استخدم نقطة النهاية.

عنوان URL للرمز المميز لبيانات اعتماد العميل (طلب POST)
    POST /<your-tenant-id>/oauth2/token
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=client_credentials
    &client_id=<app-client-id>
    &resource=https://api.applicationinsights.io
    &client_secret=<app-client-secret>

يتلقى الطلب الناجح رمزا مميزا للوصول في الاستجابة:

    {
        token_type": "Bearer",
        "expires_in": "86399",
        "ext_expires_in": "86399",
        "access_token": ""eyJ0eXAiOiJKV1QiLCJ.....Ax"
    }

استخدم الرمز المميز في الطلبات إلى نقطة نهاية Application Insights:

    POST /v1/apps/yous_app_id/query?timespan=P1D
    Host: https://api.applicationinsights.io
    Content-Type: application/json
    Authorization: Bearer <your access token>

    Body:
    {
    "query": "requests | take 10"
    }

استجابة مثال:

  "tables": [
    {
      "name": "PrimaryResult",
      "columns": [
        {
          "name": "timestamp",
          "type": "datetime"
        },
        {
          "name": "id",
          "type": "string"
        },
        {
          "name": "source",
          "type": "string"
        },
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "url",
          "type": "string"
        },
        {
          "name": "success",
          "type": "string"
        },
        {
          "name": "resultCode",
          "type": "string"
        },
        {
          "name": "duration",
          "type": "real"
        },
        {
          "name": "performanceBucket",
          "type": "string"
        },
        {
          "name": "customDimensions",
          "type": "dynamic"
        },
        {
          "name": "customMeasurements",
          "type": "dynamic"
        },
        {
          "name": "operation_Name",
          "type": "string"
        },
        {
          "name": "operation_Id",
          "type": "string"
        },
        {
          "name": "operation_ParentId",
          "type": "string"
        },
        {
          "name": "operation_SyntheticSource",
          "type": "string"
        },
        {
          "name": "session_Id",
          "type": "string"
        },
        {
          "name": "user_Id",
          "type": "string"
        },
        {
          "name": "user_AuthenticatedId",
          "type": "string"
        },
        {
          "name": "user_AccountId",
          "type": "string"
        },
        {
          "name": "application_Version",
          "type": "string"
        },
        {
          "name": "client_Type",
          "type": "string"
        },
        {
          "name": "client_Model",
          "type": "string"
        },
        {
          "name": "client_OS",
          "type": "string"
        },
        {
          "name": "client_IP",
          "type": "string"
        },
        {
          "name": "client_City",
          "type": "string"
        },
        {
          "name": "client_StateOrProvince",
          "type": "string"
        },
        {
          "name": "client_CountryOrRegion",
          "type": "string"
        },
        {
          "name": "client_Browser",
          "type": "string"
        },
        {
          "name": "cloud_RoleName",
          "type": "string"
        },
        {
          "name": "cloud_RoleInstance",
          "type": "string"
        },
        {
          "name": "appId",
          "type": "string"
        },
        {
          "name": "appName",
          "type": "string"
        },
        {
          "name": "iKey",
          "type": "string"
        },
        {
          "name": "sdkVersion",
          "type": "string"
        },
        {
          "name": "itemId",
          "type": "string"
        },
        {
          "name": "itemType",
          "type": "string"
        },
        {
          "name": "itemCount",
          "type": "int"
        }
      ],
      "rows": [
        [
          "2018-02-01T17:33:09.788Z",
          "|0qRud6jz3k0=.c32c2659_",
          null,
          "GET Reports/Index",
          "http://fabrikamfiberapp.azurewebsites.net/Reports",
          "True",
          "200",
          "3.3833",
          "<250ms",
          "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
          null,
          "GET Reports/Index",
          "0qRud6jz3k0=",
          "0qRud6jz3k0=",
          "Application Insights Availability Monitoring",
          "9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
          "us-va-ash-azr_9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
          null,
          null,
          "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
          "PC",
          null,
          null,
          "52.168.8.0",
          "Boydton",
          "Virginia",
          "United States",
          null,
          "fabrikamfiberapp",
          "RD00155D5053D1",
          "cf58dcfd-0683-487c-bc84-048789bca8e5",
          "fabrikamprod",
          "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
          "web:2.5.0-33031",
          "051ad4ef-0776-11e8-ac6e-e30599af6943",
          "request",
          "1"
        ],
        [
          "2018-02-01T17:33:15.786Z",
          "|x/Ysh+M1TfU=.c32c265a_",
          null,
          "GET Home/Index",
          "http://fabrikamfiberapp.azurewebsites.net/",
          "True",
          "200",
          "716.2912",
          "500ms-1sec",
          "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
          null,
          "GET Home/Index",
          "x/Ysh+M1TfU=",
          "x/Ysh+M1TfU=",
          "Application Insights Availability Monitoring",
          "58b15be6-d1e6-4d89-9919-52f63b840913",
          "emea-se-sto-edge_58b15be6-d1e6-4d89-9919-52f63b840913",
          null,
          null,
          "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
          "PC",
          null,
          null,
          "51.141.32.0",
          "Cardiff",
          "Cardiff",
          "United Kingdom",
          null,
          "fabrikamfiberapp",
          "RD00155D5053D1",
          "cf58dcfd-0683-487c-bc84-048789bca8e5",
          "fabrikamprod",
          "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
          "web:2.5.0-33031",
          "051ad4f0-0776-11e8-ac6e-e30599af6943",
          "request",
          "1"
        ]
      ]
    }
  ]
}

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

تدفق OAuth2 الرئيسي المدعوم من خلال التعليمات البرمجية للتخويل. يتطلب هذا الأسلوب طلبي HTTP للحصول على رمز مميز لاستدعاء واجهة برمجة تطبيقات Azure Monitor Application Insights. هناك عنوانا URL، مع نقطة نهاية واحدة لكل طلب. يتم وصف تنسيقاتها في الأقسام التالية.

عنوان URL لرمز التخويل (طلب GET)
    GET https://login.microsoftonline.com/YOUR_Azure AD_TENANT/oauth2/authorize?
    client_id=<app-client-id>
    &response_type=code
    &redirect_uri=<app-redirect-uri>
    &resource=https://api.applicationinsights.io

عند تقديم طلب إلى عنوان URL المعتمد، فإن client_id هو معرف التطبيق من تطبيق Microsoft Entra، المنسخ من قائمة خصائص التطبيق. redirect_uri هو عنوان URL للصفحة الرئيسية/تسجيل الدخول من نفس تطبيق Microsoft Entra. عند نجاح الطلب، تعيد نقطة النهاية هذه توجيهك إلى صفحة تسجيل الدخول التي قدمتها عند التسجيل باستخدام رمز التخويل الملحق بعنوان URL. راجع المثال التالي:

    http://<app-client-id>/?code=AUTHORIZATION_CODE&session_state=STATE_GUID

عند هذه النقطة، تحصل على رمز تخويل، والذي تستخدمه الآن لطلب رمز مميز للوصول.

عنوان URL لرمز التخويل (طلب POST)
    POST /YOUR_Azure AD_TENANT/oauth2/token HTTP/1.1
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=authorization_code
    &client_id=<app client id>
    &code=<auth code fom GET request>
    &redirect_uri=<app-client-id>
    &resource=https://api.applicationinsights.io
    &client_secret=<app-client-secret>

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

مثال الاستجابة:

    {
        "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
        "expires_in": "3600",
        "ext_expires_in": "1503641912",
        "id_token": "not_needed_for_app_insights",
        "not_before": "1503638012",
        "refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az",
        "resource": "https://api.applicationinsights.io",
        "scope": "Data.Read",
        "token_type": "bearer"
    }

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

    POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    client_id=<app-client-id>
    &refresh_token=<refresh-token>
    &grant_type=refresh_token
    &resource=https://api.applicationinsights.io
    &client_secret=<app-client-secret>

مثال الاستجابة:

    {
      "token_type": "Bearer",
      "expires_in": "3600",
      "expires_on": "1460404526",
      "resource": "https://api.applicationinsights.io",
      "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
      "refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az"
    }

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

تدعم واجهة برمجة تطبيقات Application Insights التدفق الضمني OAuth2. لهذا التدفق، مطلوب طلب واحد فقط، ولكن لا يمكن الحصول على رمز تحديث مميز.

عنوان URL للتخويل الضمني للتعليمات البرمجية
    GET https://login.microsoftonline.com/YOUR_AAD_TENANT/oauth2/authorize?
    client_id=<app-client-id>
    &response_type=token
    &redirect_uri=<app-redirect-uri>
    &resource=https://api.applicationinsights.io

ينتج عن الطلب الناجح إعادة توجيه إلى عنوان URI لإعادة التوجيه باستخدام الرمز المميز في عنوان URL:

    http://YOUR_REDIRECT_URI/#access_token=YOUR_ACCESS_TOKEN&token_type=Bearer&expires_in=3600&session_state=STATE_GUID

يعمل هذا access_token كقيمة Authorization: Bearer رأس عند تمريره إلى واجهة برمجة تطبيقات Application Insights لتخويل الطلبات.

تعطيل المصادقة المحلية

بعد تمكين مصادقة Microsoft Entra، يمكنك اختيار تعطيل المصادقة المحلية. يتيح لك هذا التكوين استيعاب بيانات تتبع الاستخدام التي تمت مصادقتها حصريا بواسطة معرف Microsoft Entra ويؤثر على الوصول إلى البيانات (على سبيل المثال، من خلال مفاتيح واجهة برمجة التطبيقات).

يمكنك تعطيل المصادقة المحلية باستخدام مدخل Microsoft Azure أو نهج Azure أو برمجيا.

مدخل Azure

  1. من مورد Application Insights، حدد Properties ضمن Configure في القائمة على اليسار. حدد Enabled (انقر للتغيير) إذا تم تمكين المصادقة المحلية.

    لقطة شاشة تعرض Properties ضمن قسم Configure وزر Enabled (select to change) local authentication.

  2. حدد معطل وقم بتطبيق التغييرات.

    لقطة شاشة تعرض المصادقة المحلية مع الزر ممكن/معطل.

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

    لقطة شاشة تعرض علامة التبويب Overview مع الزر Disabled (select to change) local authentication.

نهج Azure

يرفض نهج Azure للمستخدمين DisableLocalAuth القدرة على إنشاء مورد Application Insights جديد دون تعيين هذه الخاصية إلى true. اسم النهج هو Application Insights components should block non-AAD auth ingestion.

لتطبيق تعريف النهج هذا على اشتراكك، أنشئ تعيين نهج جديد وتعيين النهج.

يوضح المثال التالي تعريف قالب النهج:

{
    "properties": {
        "displayName": "Application Insights components should block non-AAD auth ingestion",
        "policyType": "BuiltIn",
        "mode": "Indexed",
        "description": "Improve Application Insights security by disabling log ingestion that are not AAD-based.",
        "metadata": {
            "version": "1.0.0",
            "category": "Monitoring"
        },
        "parameters": {
            "effect": {
                "type": "String",
                "metadata": {
                    "displayName": "Effect",
                    "description": "The effect determines what happens when the policy rule is evaluated to match"
                },
                "allowedValues": [
                    "audit",
                    "deny",
                    "disabled"
                ],
                "defaultValue": "audit"
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "type",
                        "equals": "Microsoft.Insights/components"
                    },
                    {
                        "field": "Microsoft.Insights/components/DisableLocalAuth",
                        "notEquals": "true"                        
                    }
                ]
            },
            "then": {
                "effect": "[parameters('effect')]"
            }
        }
    }
}

التمكين البرمجي

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

يوضح المثال التالي قالب Azure Resource Manager الذي يمكنك استخدامه لإنشاء مورد Application Insights المستند إلى مساحة العمل مع LocalAuth تعطيله.

{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "type": "string"
        },
        "type": {
            "type": "string"
        },
        "regionId": {
            "type": "string"
        },
        "tagsArray": {
            "type": "object"
        },
        "requestSource": {
            "type": "string"
        },
        "workspaceResourceId": {
            "type": "string"
        },
        "disableLocalAuth": {
            "type": "bool"
        }
     
    },
    "resources": [
        {
        "name": "[parameters('name')]",
        "type": "microsoft.insights/components",
        "location": "[parameters('regionId')]",
        "tags": "[parameters('tagsArray')]",
        "apiVersion": "2020-02-02-preview",
        "dependsOn": [],
        "properties": {
            "Application_Type": "[parameters('type')]",
            "Flow_Type": "Redfield",
            "Request_Source": "[parameters('requestSource')]",
            "WorkspaceResourceId": "[parameters('workspaceResourceId')]",
            "DisableLocalAuth": "[parameters('disableLocalAuth')]"
            }
    }
 ]
}

جمهور الرمز المميز

عند تطوير عميل مخصص للحصول على رمز وصول من معرف Microsoft Entra لإرسال بيانات تتبع الاستخدام إلى Application Insights، راجع الجدول التالي لتحديد سلسلة الجمهور المناسبة لبيئة المضيف الخاصة بك.

إصدار سحابة Azure قيمة جمهور الرمز المميز
السحابة العامة لـ Azure https://monitor.azure.com
Microsoft Azure المشغل بواسطة سحابة 21Vianet https://monitor.azure.cn
سحابة حكومة الولايات المتحدة في Azure https://monitor.azure.us

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

InstrumentationKey={profile. InstrumentationKey}؛ IngestionEndpoint={ingestionEndpoint}؛ LiveEndpoint={liveDiagnosticsEndpoint}؛ AAD (دليل Azure النشط)Audience={aadAudience}

يمكن أن تختلف معلمة الجماعة المستهدفة، AAD (دليل Azure النشط)Audience، اعتمادا على بيئتك المحددة.

استكشاف الأخطاء وإصلاحها

يوفر هذا القسم سيناريوهات وخطوات استكشاف الأخطاء وإصلاحها المميزة التي يمكنك اتخاذها لحل مشكلة قبل رفع تذكرة دعم.

أخطاء الاستيعاب من HTTP

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

مصادقة HTTP/1.1 400 غير مدعمة

يظهر هذا الخطأ تعيين المورد ل Microsoft Entra فقط. تحتاج إلى تكوين SDK بشكل صحيح لأنه يرسل إلى واجهة برمجة تطبيقات خاطئة.

إشعار

لا يدعم "v2/track" معرف Microsoft Entra. عندما يتم تكوين SDK بشكل صحيح، سيتم إرسال القياس عن بُعد إلى "v2.1/track".

بعد ذلك، يجب مراجعة تكوين SDK.

HTTP/1.1 401 التخويل المطلوب

يشير هذا الخطأ إلى تكوين SDK بشكل صحيح ولكنه غير قادر على الحصول على رمز مميز صالح. قد يشير هذا الخطأ إلى وجود مشكلة في معرف Microsoft Entra.

بعد ذلك، يجب تحديد الاستثناءات في سجلات SDK أو أخطاء الشبكة من هوية Azure.

HTTP/1.1 403 غير مصرح به

يعني هذا الخطأ أن SDK يستخدم بيانات الاعتماد دون إذن لمورد Application Insights أو الاشتراك.

أولا، تحقق من التحكم في الوصول لمورد Application Insights. يجب تكوين SDK باستخدام بيانات الاعتماد التي لها دور Monitoring Metrics Publisher.

استكشاف الأخطاء وإصلاحها الخاصة باللغة

مصدر الحدث

يرسل Application Insights .NET SDK سجلات الخطأ باستخدام مصدر الحدث. لمعرفة المزيد حول تجميع سجلات مصدر الحدث، راجع استكشاف الأخطاء وإصلاحها دون بيانات - جمع السجلات باستخدام PerfView.

إذا فشل SDK في الحصول على رمز مميز، يتم تسجيل رسالة الاستثناء ك Failed to get AAD Token. Error message:.

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