معاينة 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. لمزيد من المعلومات، راجع تسجيل تطبيق لطلب رموز التخويل المميزة والعمل مع واجهات برمجة التطبيقات.

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

بمجرد إنشاء كيان خدمة، قم باسترداد رمز مميز للوصول باستخدام استدعاء REST. أرسل الطلب التالي باستخدام appId و password لمدير الخدمة أو التطبيق الخاص بك:


    POST /<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://management.azure.com
    &client_secret=<password>

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

curl --location --request POST 'https://login.microsoftonline.com/abcd1234-5849-4a5d-a2eb-5267eae1bbc7/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=0123b56a-c987-1234-abcd-1a2b3c4d5e6f' \
--data-urlencode 'client_secret=123456.ABCDE.~XYZ876123ABceDb0000' \
--data-urlencode 'resource=https://management.azure.com'

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

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

بعد مصادقة رمز مميز واسترداده، استخدم الرمز المميز للوصول في طلبات واجهة برمجة تطبيقات 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 للعثور على معرف المورد.

للعثور على معرف المورد في المدخل، من صفحة نظرة عامة على المورد، حدد طريقة عرض JSONA screenshot showing the overview page for a resource with the JSON view link highlighted.

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

A screenshot showing the Resource JSON page for a resource.

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

تستخدم نقاط نهاية واجهة برمجة التطبيقات النمط التالي:
/<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 للوصول إلى قائمة المقاييس المتوفرة للخدمة. استخدم تنسيق الطلب التالي لاسترداد تعريفات المقاييس.

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 --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 التالي مثالا على نص الاستجابة. في هذا المثال، المقياس الثاني فقط له أبعاد.

{
    "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 أو أحدث.

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

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 --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 التالي مثالا على نص الاستجابة.

{
  "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 في تعريفات عامل التصفية. إذا لم يتم تحديد عوامل تصفية الأبعاد، يتم إرجاع المقياس المجمع الذي تم إظهاره.

لجلب سلاسل زمنية متعددة ذات قيم أبعاد محددة، حدد معلمة استعلام عامل تصفية تحدد قيم البعدين مثل "&$filter=ApiName eq 'ListContainers' or ApiName eq 'GetBlobServiceProperties'".

لإرجاع سلسلة زمنية لكل قيمة لبعد معين، استخدم مرشح * مثل "&$filter=ApiName eq '*'". يمكن استخدام معلمات الاستعلام TopOrderBy لتحديد عدد السلاسل الزمنية التي تم إرجاعها وترتيبها.

إشعار

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

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

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 --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 التالي مثالا على نص الاستجابة.

{
  "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": [] زمنية فارغة.

{
    "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 '*' واجهة برمجة التطبيقات إلى إرجاع سلسلة زمنية لكل معرف مورد في الاشتراك والمنطقة. إذا لم تحتوي مجموعة الاشتراك والمنطقة على أي موارد، يتم إرجاع سلسلة زمنية فارغة. سيرجع نفس الاستعلام بدون عامل تصفية حرف البدل سلسلة زمنية واحدة، وتجميع المقياس المطلوب عبر الأبعاد المطلوبة، على سبيل المثال الاشتراك والمنطقة. إذا لم تكن هناك موارد في مجموعة الاشتراك والمنطقة، تقوم واجهة برمجة التطبيقات بإرجاع سلسلة زمنية واحدة مع نقطة بيانات واحدة من 0.

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

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