我正在使用云服务api,并希望阅读云服务的指标数据。 由于云洞察API不支持提供者名称空间' Microsoft.ClassicCompute'
还有其他方法可以找到它。
答案 0 :(得分:0)
可以使用azure InsightsClient获取指标。
答案 1 :(得分:0)
您只能通过InsightsClient获取基本的“外部”指标(CPU /网络输入/输出)。从Azure获取指标的整体基础架构正在转向新发布的Metrics API,目前只有少数资源通过此API支持。
从云服务获取详细指标的最佳方法是利用Azure表存储并查找由Azure诊断扩展(或Azure诊断模块,如果您处于SDK 2.5之前版本)创建的WADPerformanceCounters表。此表将包含受监控的云角色中所有实例的所有性能计数器值。
或者,您可以使用第三方工具(如CloudMonix)为云服务和其他Azure资源获取漂亮的仪表板,警报,自动化等(请注意:我与CloudMonix有关联)
答案 2 :(得分:0)
如上所述,您可以从Insight Client获取指标数据。
为此,您需要首先获取要监视数据的部署槽。 以下是获取部署位置的示例网址。
https://management.azure.com/subscriptions/ {SubscriptionId} / resourceGroups / {ResourceGroupName} /providers/Microsoft.ClassicCompute/domainNames/ {CloudServiceName} /槽/生产/角色?API-版本= 2014年1月1日
现在你需要将插槽传递给下面的网址。
var url="/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ClassicCompute/domainNames/{CloudServiceName}/slots/Production/roles/{deployement slot}/"
string start = DateTime.UtcNow.AddHours(-1).ToString(dateTimeFormat);;
string end = DateTime.UtcNow.ToString(dateTimeFormat);
StringBuilder sb = new StringBuilder(filter);
if (!string.IsNullOrEmpty(filter))
{
sb.Append(" and ");
}
sb.AppendFormat("startTime eq {0} and endTime eq {1}", start, end);
sb.AppendFormat(" and timeGrain eq duration'{0}'", duration);
using (var client = new InsightsClient(credentials))
{
return client.MetricOperations.GetMetrics(url, sb.ToString());
}