我目前仍在使用监控(经典)API。我还没有找到 API 的“非经典”版本,但我也没有花太多时间寻找。由于 Web 作业作为 Web 应用程序的一部分运行,因此您需要使用 Microsoft.WindowsAzure.Management.Monitoring.Metrics 命名空间中提供的工具来监控 Web 应用程序。
我发现 API 有点混乱,但花了一些时间与 PG 一起工作以使其正确。我在 MSPFE github 页面上提供了一些示例代码:https://github.com/mspfe/AzureMetricsAPISampleKit。在此解决方案中运行“测试”将向您展示如何使用该库。
您首先需要通过获取它们的列表来识别 Web 应用程序:
var webSpaceList = _webSiteClient.WebSpaces.List();
然后收集可用的指标:
foreach(网站列表中的 var 网站)
{
MetricDefinitionListResponse wsMetricListResponse = _metricsClient.MetricDefinitions.List(website.WebsiteResourceId, null, null);
website.MetricDefinitionsList = wsMetricListResponse.MetricDefinitionCollection;
website.MetricNamesList = new List();
foreach (var metric in website.MetricDefinitionsList.Value)
{
website.MetricNamesList.Add(metric.Name);
}
MetricValueListResponse wsValueResponse = _metricsClient.MetricValues.List(website.WebsiteResourceId, website.MetricNamesList, "",
_timeGrain, _startDateTime, _endDateTime);
website.MetricValueList = wsValueResponse.MetricValueSetCollection;
}
从那里你应该有度量定义和值。对不起,如果这段代码有点过时......但它应该可以工作。