Azure Web 分析 API 必需
Azure Web Analytics API Required
我想构建自己的自定义简单网页,以在 Azure 上显示我们许多网站 运行 的统计信息。 (基本上是 portal.azure.com 的精简版,它将在办公室中显示简单的显示器数据)
我想显示的所有统计数据目前都存在于 portal.azure.com 上,例如:
- 每分钟请求
- 响应时间
- 每分钟 Http 服务器错误数
我是否能够访问 azure 门户当前所做的相同数据,或者我是否需要在具有 API 的网站中实施其他内容,然后我可以使用它来构建我的单独网站?
我目前仍在使用监控(经典)API。我没有找到 API 的 "non-classic" 版本,但我也没有花太多时间寻找。由于网络作业作为网络应用程序的一部分运行,您需要使用 Microsoft.WindowsAzure.Management.Monitoring.Metrics 命名空间中提供的工具来监控网络应用程序。
我发现 API 有点令人困惑,但我花了一些时间与 PG 一起工作以使其正确。我在 MSPFE github 页面上提供了一些示例代码:https://github.com/mspfe/AzureMetricsAPISampleKit。 运行 此解决方案中的 "tests" 将向您展示如何使用该库。
您首先需要通过获取网络应用列表来识别网络应用:
var webSpaceList = _webSiteClient.WebSpaces.List();
然后收集可用指标:
foreach(网站列表中的变种网站)
{
MetricDefinitionListResponse wsMetricListResponse = _metricsClient.MetricDefinitions.List(website.WebsiteResourceId, null, null);
website.MetricDefinitionsList = wsMetricListResponse.MetricDefinitionCollection;
website.MetricNamesList = 新列表();
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;
}
从那里您应该有指标定义和值。抱歉,如果此代码有点过时...但它应该可以工作。
为了补充 Devians 的答案,我发现在我的网站上,我有指向 Azure 存储帐户的 Web 服务器日志记录的诊断日志。这生成了名称为 "WADMetrics...." 的表格 在这里,我找到了时间段(1 分钟、1 小时等)以及获取响应最大值、最小值、平均值等指标
我需要的所有数据都在这些天蓝色的表中。因此,如果旧的 API 不起作用,那么我会直接从
中读取
我想构建自己的自定义简单网页,以在 Azure 上显示我们许多网站 运行 的统计信息。 (基本上是 portal.azure.com 的精简版,它将在办公室中显示简单的显示器数据)
我想显示的所有统计数据目前都存在于 portal.azure.com 上,例如: - 每分钟请求 - 响应时间 - 每分钟 Http 服务器错误数
我是否能够访问 azure 门户当前所做的相同数据,或者我是否需要在具有 API 的网站中实施其他内容,然后我可以使用它来构建我的单独网站?
我目前仍在使用监控(经典)API。我没有找到 API 的 "non-classic" 版本,但我也没有花太多时间寻找。由于网络作业作为网络应用程序的一部分运行,您需要使用 Microsoft.WindowsAzure.Management.Monitoring.Metrics 命名空间中提供的工具来监控网络应用程序。
我发现 API 有点令人困惑,但我花了一些时间与 PG 一起工作以使其正确。我在 MSPFE github 页面上提供了一些示例代码:https://github.com/mspfe/AzureMetricsAPISampleKit。 运行 此解决方案中的 "tests" 将向您展示如何使用该库。
您首先需要通过获取网络应用列表来识别网络应用:
var webSpaceList = _webSiteClient.WebSpaces.List(); 然后收集可用指标:
foreach(网站列表中的变种网站) { MetricDefinitionListResponse wsMetricListResponse = _metricsClient.MetricDefinitions.List(website.WebsiteResourceId, null, null); website.MetricDefinitionsList = wsMetricListResponse.MetricDefinitionCollection; website.MetricNamesList = 新列表();
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;
}
从那里您应该有指标定义和值。抱歉,如果此代码有点过时...但它应该可以工作。
为了补充 Devians 的答案,我发现在我的网站上,我有指向 Azure 存储帐户的 Web 服务器日志记录的诊断日志。这生成了名称为 "WADMetrics...." 的表格 在这里,我找到了时间段(1 分钟、1 小时等)以及获取响应最大值、最小值、平均值等指标
我需要的所有数据都在这些天蓝色的表中。因此,如果旧的 API 不起作用,那么我会直接从
中读取