اقرأ باللغة الإنجليزية

مشاركة عبر


معاينة REST API لمراقبة Azure

توضح هذه المقالة كيفية استخدام مرجع Azure Monitor REST API.

استرداد تعريفات المقاييس وقيم الأبعاد وقيم القياس باستخدام واجهة برمجة تطبيقات Azure Monitor واستخدام البيانات في تطبيقاتك، أو التخزين في قاعدة بيانات للتحليل. يمكنك أيضا سرد قواعد التنبيه وعرض سجلات النشاط باستخدام واجهة برمجة تطبيقات Azure Monitor.

مصادقة طلبات Azure Monitor

يستخدم الطلب المرسل باستخدام واجهة برمجة تطبيقات Azure Monitor نموذج مصادقة Azure Resource Manager. تتم مصادقة جميع الطلبات باستخدام معرف Microsoft Entra. أحد الأساليب لمصادقة تطبيق العميل هو إنشاء كيان خدمة Microsoft Entra واسترداد رمز مميز للمصادقة. يمكنك إنشاء كيان خدمة Microsoft Entra باستخدام مدخل Microsoft Azure أو CLI أو PowerShell. لمزيد من المعلومات، راجع تسجيل تطبيق لطلب رموز التخويل المميزة والعمل مع واجهات برمجة التطبيقات.

استرداد رمز مميز

بمجرد إنشاء كيان خدمة، قم باسترداد رمز مميز للوصول. حدد resource=https://management.azure.com في طلب الرمز المميز.

احصل على رمز مصادقة باستخدام أي من الطرق التالية:

  • CLI
  • واجهة برمجة تطبيقات REST
  • SDK

عند طلب رمز مميز، يجب توفير معلمة resource . resource المعلمة هي عنوان URL للمورد الذي تريد الوصول إليه.

وتشتمل الموارد على ما يلي:

  • https://management.azure.com
  • https://api.loganalytics.io
  • https://monitoring.azure.com

الحصول على رمز مميز باستخدام طلب REST

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

Console
curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://monitoring.azure.com'

يظهر نص الاستجابة بالتنسيق التالي:

JSON
{
    "token_type": "Bearer",
    "expires_in": "86399",
    "ext_expires_in": "86399",
    "expires_on": "1672826207",
    "not_before": "1672739507",
    "resource": "https://monitoring.azure.com",
    "access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}

بعد مصادقة رمز مميز واسترداده، استخدم الرمز المميز للوصول في طلبات واجهة برمجة تطبيقات Azure Monitor عن طريق تضمين العنوان 'Authorization: Bearer <access token>'

ملاحظة

لمزيد من المعلومات حول العمل مع Azure REST API، راجع مرجع Azure REST API.

استرداد معرف المورد

يتطلب استخدام واجهة برمجة تطبيقات REST معرف المورد لمورد Azure الهدف. تتبع معرفات الموارد النمط التالي:

/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<provider>/<resource name>/

على سبيل المثال

  • Azure IoT Hub: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Devices/IotHubs/<iot-hub-name>
  • تجمع SQL المرن: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<pool-db>/elasticpools/<sql-pool-name>
  • Azure SQL Database (v12): /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Sql/servers/<server-name>/databases/<database-name>
  • ناقل خدمة Azure: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.ServiceBus/<namespace>/<servicebus-name>
  • مجموعات مقياس الجهاز الظاهري Azure: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachineScaleSets/<vm-name>
  • أجهزة Azure الظاهرية: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Compute/virtualMachines/<vm-name>
  • مراكز أحداث Azure: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.EventHub/namespaces/<eventhub-namespace>

استخدم مدخل Azure أو PowerShell أو Azure CLI للعثور على معرف المورد.

للعثور على معرف المورد في المدخل، من صفحة نظرة عامة على المورد، حدد طريقة عرض JSONلقطة شاشة تعرض صفحة النظرة العامة لمورد مع تمييز ارتباط طريقة عرض JSON.

يتم عرض صفحة Resource JSON. يمكن نسخ معرف المورد باستخدام الأيقونة الموجودة على يمين المعرف.

لقطة شاشة تعرض صفحة Resource JSON لمورد.

نقاط نهاية واجهة برمجة التطبيقات

تستخدم نقاط نهاية واجهة برمجة التطبيقات النمط التالي:
/<resource URI>/providers/microsoft.insights/<metrics|metricDefinitions>?api-version=<apiVersion>
resource URI يتكون من المكونات التالية:
/subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/

هام

تأكد من تضمين /providers/microsoft.insights/ بعد URI المورد عند إجراء استدعاء واجهة برمجة التطبيقات لاسترداد المقاييس أو تعريفات القياس.

استرداد تعريفات المقاييس

استخدم واجهة برمجة تطبيقات REST تعريفات مقاييس شاشة Azure للوصول إلى قائمة المقاييس المتوفرة للخدمة. استخدم تنسيق الطلب التالي لاسترداد تعريفات المقاييس.

HTTP
GET /subscriptions/<subscription id>/resourcegroups/<resourceGroupName>/providers/<resourceProviderNamespace>/<resourceType>/<resourceName>/providers/microsoft.insights/metricDefinitions?api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

على سبيل المثال، يسترد الطلب التالي تعريفات القياس لحساب Azure Storage.

curl
curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01'
--header 'Authorization: Bearer eyJ0eXAiOi...xYz

يظهر JSON التالي مثالا على نص الاستجابة. في هذا المثال، المقياس الثاني فقط له أبعاد.

JSON
{
    "value": [
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/UsedCapacity",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Capacity",
            "name": {
                "value": "UsedCapacity",
                "localizedValue": "Used capacity"
            },
            "isDimensionRequired": false,
            "unit": "Bytes",
            "primaryAggregationType": "Average",
            "supportedAggregationTypes": [
                "Total",
                "Average",
                "Minimum",
                "Maximum"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                 ...
                {
                    "timeGrain": "PT12H",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ]
        },
        {
            "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metricdefinitions/Transactions",
            "resourceId": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage",
            "namespace": "Microsoft.Storage/storageAccounts",
            "category": "Transaction",
            "name": {
                "value": "Transactions",
                "localizedValue": "Transactions"
            },
            "isDimensionRequired": false,
            "unit": "Count",
            "primaryAggregationType": "Total",
            "supportedAggregationTypes": [
                "Total"
            ],
            "metricAvailabilities": [
                {
                    "timeGrain": "PT1M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT5M",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "PT30M",
                    "retention": "P93D"
                },
                {
                    "timeGrain": "PT1H",
                    "retention": "P93D"
                },
                ...
                {
                    "timeGrain": "P1D",
                    "retention": "P93D"
                }
            ],
            "dimensions": [
                {
                    "value": "ResponseType",
                    "localizedValue": "Response type"
                },
                {
                    "value": "GeoType",
                    "localizedValue": "Geo type"
                },
                {
                    "value": "ApiName",
                    "localizedValue": "API name"
                }
            ]
        },
        ...
    ]
}

ملاحظة

نوصي باستخدام إصدار API 2018-01-01 أو أحدث. لا تدعم الإصدارات القديمة من تعريفات المقاييس API الأبعاد.

استرداد قيم الأبعاد

بعد استرداد تعريفات المقاييس المتوفرة، قم باسترداد نطاق القيم لأبعاد المقياس. استخدم قيم الأبعاد لتصفية المقاييس أو تقسيمها في استعلاماتك. استخدم Azure Monitor Metrics REST API للعثور على جميع القيم لبعد قياس معين.

استخدم عنصر المقياس name.value في تعريفات عامل التصفية. إذا لم يتم تحديد أي عوامل تصفية، يتم إرجاع المقياس الافتراضي. تسمح واجهة برمجة التطبيقات لبعد واحد فقط بعامل تصفية أحرف البدل. حدد طلب قيم الأبعاد باستخدام معلمة "resultType=metadata" الاستعلام. resultType يتم حذف لطلب قيم قياسية.

ملاحظة

لاسترداد قيم الأبعاد باستخدام Azure Monitor REST API، استخدم إصدار API 2019-07-01 أو أحدث.

استخدم تنسيق الطلب التالي لاسترداد قيم الأبعاد.

HTTP
GET /subscriptions/<subscription-id>/resourceGroups/  
<resource-group-name>/providers/<resource-provider-namespace>/  
<resource-type>/<resource-name>/providers/microsoft.insights/  
metrics?metricnames=<metric>  
&timespan=<starttime/endtime>  
&$filter=<filter>  
&resultType=metadata  
&api-version=<apiVersion>   HTTP/1.1
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

يسترد المثال التالي قائمة قيم الأبعاد التي تم إصدارها لبعد API Name المقياس Transactions ، حيث GeoType يحتوي البعد على قيمة Primary، للنطاق الزمني المحدد.

curl
curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics  \
?metricnames=Transactions \
&timespan=2023-03-01T00:00:00Z/2023-03-02T00:00:00Z \
&resultType=metadata \
&$filter=GeoType eq \'Primary\' and ApiName eq \'*\' \
&api-version=2019-07-01'
-header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJ0e..meG1lWm9Y'

يظهر JSON التالي مثالا على نص الاستجابة.

JSON
{
  "timespan": "2023-03-01T00:00:00Z/2023-03-02T00:00:00Z",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "DeleteBlob"
            }
          ]
        },
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "SetBlobProperties"
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

استرداد قيم المقاييس

بعد استرداد تعريفات القياس وقيم الأبعاد، قم باسترداد قيم القياس. استخدم Azure Monitor Metrics REST API لاسترداد قيم المقياس.

استخدم عنصر المقياس name.value في تعريفات عامل التصفية. إذا لم يتم تحديد عوامل تصفية الأبعاد، يتم إرجاع المقياس المجمع الذي تم إظهاره.

سلسلة زمنية متعددة

السلسلة الزمنية هي مجموعة من نقاط البيانات التي يتم ترتيبها حسب الوقت لمجموعة معينة من الأبعاد. البعد هو جانب من المقياس الذي يصف نقطة البيانات مثل معرف المورد أو المنطقة أو ApiName.

  • لجلب سلاسل زمنية متعددة ذات قيم أبعاد محددة، حدد معلمة استعلام عامل تصفية تحدد قيم البعدين مثل "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'". في هذا المثال، تحصل على سلسلة زمنية حيث ApiName هي ListContainers وسلسلة زمنية ثانية حيث ApiName هي GetBlobServiceProperties.
  • لإرجاع سلسلة زمنية لكل قيمة لبعد معين، استخدم مرشح * مثل "&$filter=ApiName eq '*'". Top استخدم معلمات الاستعلام و OrderBy للحد من عدد السلاسل الزمنية التي تم إرجاعها وفرزها. في هذا المثال، تحصل على سلسلة زمنية لكل قيمة في ApiNameمجموعة النتائج. إذا لم يتم إرجاع أي بيانات، تقوم واجهة برمجة التطبيقات بإرجاع سلسلة "timeseries": []زمنية فارغة .

ملاحظة

لاسترداد قيم المقاييس متعددة الأبعاد باستخدام واجهة برمجة تطبيقات Azure Monitor REST، استخدم إصدار واجهة برمجة التطبيقات "2019-07-01" أو إصدار أحدث.

استخدم تنسيق الطلب التالي لاسترداد قيم القياس.

HTTP
GET /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/<resource-provider-namespace>/<resource-type>/<resource-name>/providers/microsoft.insights/metrics?metricnames=<metric>&timespan=<starttime/endtime>&$filter=<filter>&interval=<timeGrain>&aggregation=<aggreation>&api-version=<apiVersion>
Host: management.azure.com
Content-Type: application/json
Authorization: Bearer <access token>

يسترد المثال التالي واجهات برمجة التطبيقات الثلاثة الأولى، حسب عدد Transactions بترتيب القيمة التنازلي، خلال نطاق مدته 5 دقائق، حيث GeoType يحتوي البعد على قيمة Primary.

curl
curl --location --request GET 'https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/microsoft.insights/metrics \
?metricnames=Transactions \
&timespan=2023-03-01T02:00:00Z/2023-03-01T02:05:00Z \
& $filter=apiname eq '\''GetBlobProperties'\'
&interval=PT1M \
&aggregation=Total  \
&top=3 \
&orderby=Total desc \
&api-version=2019-07-01"' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer yJ0eXAiOi...g1dCI6Ii1LS'

يظهر JSON التالي مثالا على نص الاستجابة.

JSON
{
  "cost": 0,
  "timespan": "2023-03-01T02:00:00Z/2023-03-01T02:05:00Z",
  "interval": "PT1M",
  "value": [
    {
      "id": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/azmon-rest-api-walkthrough/providers/Microsoft.Storage/storageAccounts/ContosoStorage/providers/Microsoft.Insights/metrics/Transactions",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Transactions",
        "localizedValue": "Transactions"
      },
      "unit": "Count",
      "timeseries": [
        {
          "metadatavalues": [
            {
              "name": {
                "value": "apiname",
                "localizedValue": "apiname"
              },
              "value": "GetBlobProperties"
            }
          ],
          "data": [
            {
              "timeStamp": "2023-09-19T02:00:00Z",
              "total": 2
            },
            {
              "timeStamp": "2023-09-19T02:01:00Z",
              "total": 1
            },
            {
              "timeStamp": "2023-09-19T02:02:00Z",
              "total": 3
            },
            {
              "timeStamp": "2023-09-19T02:03:00Z",
              "total": 7
            },
            {
              "timeStamp": "2023-09-19T02:04:00Z",
              "total": 2
            }
          ]
        },
        ...
      ]
    }
  ],
  "namespace": "Microsoft.Storage/storageAccounts",
  "resourceregion": "eastus"
}

الاستعلام عن المقاييس لموارد متعددة في كل مرة.

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

هناك بعض الاختلافات المهمة بين مقاييس الاستعلام عن موارد متعددة وفردية.

  • تعمل واجهات برمجة التطبيقات متعددة الموارد للمقاييس على مستوى الاشتراك بدلا من مستوى معرف المورد. يعني هذا التقييد أن المستخدمين الذين يقومون بالاستعلام عن واجهات برمجة التطبيقات هذه يجب أن يكون لديهم أذونات قارئ المراقبة على الاشتراك نفسه.
  • تدعم واجهات برمجة التطبيقات متعددة الموارد للمقاييس فقط نوع مورد واحد لكل استعلام، والذي يجب تحديده في شكل معلمة استعلام مساحة اسم قياسية.
  • تدعم واجهات برمجة التطبيقات متعددة الموارد المقاييس منطقة Azure واحدة فقط لكل استعلام، والتي يجب تحديدها في شكل معلمة استعلام منطقة.

الاستعلام عن مقاييس لأمثلة موارد متعددة

يوضح المثال التالي طلب تعريفات قياس فردية:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01

يعرض الطلب التالي طلب تعريفات القياس المكافئة لموارد متعددة. التغييرات الوحيدة هي مسار الاشتراك بدلا من مسار معرف المورد وإضافة region معلمات الاستعلام.metricNamespace

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.insights/metricdefinitions?api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines

يوضح المثال التالي طلب مقاييس فردي.

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01

فيما يلي طلب مقاييس مكافئ لموارد متعددة:

GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01&region=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'

ملاحظة

Microsoft.ResourceId eq '*' تتم إضافة عامل تصفية في المثال لطلبات مقاييس الموارد المتعددة. يخبر عامل التصفية * واجهة برمجة التطبيقات بإعادة سلسلة زمنية منفصلة لكل مورد جهاز ظاهري يحتوي على بيانات في الاشتراك والمنطقة. بدون عامل التصفية، سترجع واجهة برمجة التطبيقات سلسلة زمنية واحدة تجمع متوسط وحدة المعالجة المركزية لجميع الأجهزة الظاهرية. يتم تمييز السلسلة الزمنية لكل مورد بقيمة Microsoft.ResourceId بيانات التعريف في كل إدخال سلسلة زمنية، كما يمكن رؤيته في نموذج القيمة المرجعة التالية. إذا لم تكن هناك معرفات موارد تم استردادها بواسطة هذا الاستعلام، يتم إرجاع سلسلة"timeseries": [] زمنية فارغة.

JSON
{
    "timespan": "2023-06-25T22:35:00Z/2023-06-26T22:40:00Z",
    "interval": "PT6H",
    "value": [
        {
            "id": "subscriptions/12345678-abcd-98765432-abcdef012345/providers/Microsoft.Insights/metrics/Percentage CPU",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Percentage CPU",
                "localizedValue": "Percentage CPU"
            },
            "displayDescription": "The percentage of allocated compute units that are currently in use by the Virtual Machine(s)",
            "unit": "Percent",
            "timeseries": [
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 3.2618888888888886
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 4.696944444444445
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 6.19701388888889
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 2.630347222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 21.288999999999998
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/EASTUS-TESTING/providers/Microsoft.Compute/virtualMachines/TestVM2"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 7.567069444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 5.111835883171071
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 10.078277777777778
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 8.399097222222222
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 2.647
                        }
                    ]
                },
                {
                    "metadatavalues": [
                        {
                            "name": {
                                "value": "Microsoft.ResourceId",
                                "localizedValue": "Microsoft.ResourceId"
                            },
                            "value": "/subscriptions/12345678-abcd-98765432-abcdef012345/resourceGroups/Common-TESTING/providers/Microsoft.Compute/virtualMachines/CommonVM1"
                        }
                    ],
                    "data": [
                        {
                            "timeStamp": "2023-06-25T22:35:00Z",
                            "average": 6.892319444444444
                        },
                        {
                            "timeStamp": "2023-06-26T04:35:00Z",
                            "average": 3.5054305555555554
                        },
                        {
                            "timeStamp": "2023-06-26T10:35:00Z",
                            "average": 8.398817802503476
                        },
                        {
                            "timeStamp": "2023-06-26T16:35:00Z",
                            "average": 6.841666666666667
                        },
                        {
                            "timeStamp": "2023-06-26T22:35:00Z",
                            "average": 3.3850000000000002
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.compute/virtualmachines",
    "resourceregion": "eastus"
}

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

  • تم إرجاع سلسلة زمنية فارغة "timeseries": []

    • يتم إرجاع سلسلة زمنية فارغة عندما لا تتوفر بيانات للنطاق الزمني المحدد وعامل التصفية. السبب الأكثر شيوعا هو تحديد نطاق زمني لا يحتوي على أي بيانات. على سبيل المثال، إذا تم تعيين النطاق الزمني إلى تاريخ مستقبلي.
    • سبب شائع آخر هو تحديد عامل تصفية لا يتطابق مع أي موارد. على سبيل المثال، إذا حدد عامل التصفية قيمة بعد غير موجودة على أي موارد في مجموعة الاشتراك والمنطقة، "timeseries": [] يتم إرجاع.
  • عوامل تصفية أحرف البدل
    يؤدي استخدام عامل تصفية حرف بدل مثل Microsoft.ResourceId eq '*' واجهة برمجة التطبيقات إلى إرجاع سلسلة زمنية لكل معرف مورد في الاشتراك والمنطقة. إذا لم تحتوي مجموعة الاشتراك والمنطقة على أي موارد، يتم إرجاع سلسلة زمنية فارغة. سيرجع نفس الاستعلام بدون عامل تصفية حرف البدل سلسلة زمنية واحدة، وتجميع المقياس المطلوب عبر الأبعاد المطلوبة، على سبيل المثال الاشتراك والمنطقة.

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

  • 529 أخطاء تقييد يشير رمز الخطأ 529 إلى أن الواجهة الخلفية للمقاييس تقوم حاليا بتقييد طلباتك. الإجراء الموصى به هو تنفيذ مخطط إعادة محاولة التراجع الأسي. لمزيد من المعلومات حول التقييد، راجع فهم كيفية تقييد Azure Resource Manager للطلبات.

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