невозможно получить информацию об использовании памяти виртуальной машины с помощью API управления

#azure #virtual-machine

#azure #виртуальная машина

Вопрос:

я не получаю объект timeseries в приведенном ниже вызове API для использования памяти виртуальной машины.

Я попробовал это:

 Method :Get
Url:https://management.azure.com/subscriptions/XXXXXXXXXXXXXXXXXXXX/resourceGroups/XXXXXXXXXXXX/providers/Microsoft.Compute/virtualMachines/XXXXXXX/providers/microsoft.insights/metrics?timespan=2019-03-31T11:30:00.000Z/2020-09-14T11:00:00.000Zamp;interval=P1Damp;metricnames=Memory% Committed Bytes In Useamp;aggregation=Averageamp;api-version=2018-01-01amp;metricnamespace=azure.vm.windows.guestmetrics

Authentication:  Barer token 

**Response :**
 {
  "cost": 0,
  "timespan": "2020-08-14T11:00:00Z/2020-09-14T11:00:00Z",
  "interval": "P1D",
  "value": [
    {
      "id": "/subscriptions/xxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxxxxxxxx/providers/Microsoft.Compute/virtualMachines/xxxxxxx/providers/Microsoft.Insights/metrics/Memory% Committed Bytes In Use",
      "type": "Microsoft.Insights/metrics",
      "name": {
        "value": "Memory% Committed Bytes In Use",
        "localizedValue": "Memory% Committed Bytes In Use"
      },
      "unit": "Unspecified",
      "timeseries":   [],
      "errorCode": "Success"
    }
  ],
  "namespace": "azure.vm.windows.guestmetrics",
  "resourceregion": "westus2"
}
  

Ответ №1:

Попробуйте это как запрос к ресурсу Log Analytics.

Ссылка:https://learn.microsoft.com/en-us/rest/api/loganalytics/dataaccess/query/get

 let usedMemory = Perf | where (ObjectName == 'Memory' and CounterName contains 'Committed Bytes') | summarize UsedMemory = (avg(CounterValue)) by Computer; let AvailMemory = InsightsMetrics | extend localTimestamp = TimeGenerated - 7h | where TimeGenerated > ago(1d) | where Namespace == 'Memory' and Name == 'AvailableMB' | extend AvailableMem = Val | summarize arg_max(TimeGenerated, *) by Computer; AvailMemory | join kind=leftouter usedMemory on Computer | extend FreeMemoryGB = round(AvailableMem/1024) | parse Tags with * ':' TotalMemoryMB '}' Err | project Computer, FreeMemoryGB, UsedMemory, TotalMemoryMB, localTimestamp, Namespace, Tags, AgentId, _ResourceId