我想使用Microsoft Monitor API检索Azure资源的监控指标值。
我使用Microsoft.Azure.Management.Monitor nuget包(版本0.18.1-preview)。
我尝试从Microsoft.Automation资源中检索指标。 Microsoft自动化资源具有TotalJob
中描述的MetricDefinitions.List
指标。
此外,我可以确认它,因为我已检索Microsoft.Automation资源的度量标准定义。我使用了Metrics.List
documentation。一切正常。
但是当我使用null
method时,我无法检索任何指标值。我在响应中始终有var subscriptionId = "<MY_SUBSCRIPTION_ID>";
var resourceGroup = "Compute";
var resourceName = "cm-auto";
var resourceId = $"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Automation/automationAccounts/{resourceName}";
using (IMonitorClient client = _azureMonitorClient.GenerateConnectionInformation(account, resource))
{
var definitions =client.MetricDefinitions.List(resourceId); // It works correctly
var timeSpan = $"{DateTime.UtcNow.AddHours(-3):yyyy-MM-ddTHH:mmZ}/{DateTime.UtcNow:yyyy-MM-ddTHH:mmZ}";
var interval = TimeSpan.FromHours(1);
var aggregation = "Total";
var metric = "TotalJob";
var values = client.Metrics.List(resourceId, metric: metric, timespan: timeSpan, interval: interval, aggregation: aggregation); // There I have always null values in the response result
}
个值。
我的代码段在这里:
null
您还可以查看有关屏幕截图的调试信息。 method
如您所见,TotalJob
指标的值为awk '/^version:/ {$2++}; {print}' file
。
我有一个小时前工作的工作。但我没有看到有关这些工作的任何信息。
我不明白为什么我没有看到任何指标值。
我的错误在哪里?
注意:我已在其他Azure资源上检查了我的代码,例如,Microsoft.Storage,Microsoft.DocumentDB。 我的所有这些资源的代码运行正常。我可以看到指标值。
我没有在Microsoft.Automation资源上看到指标值。