azure - 访问 Azure 指标

标签 azure metrics

我正在尝试访问给定cloudService的指标

我有以下代码:

var metricsClient = new MetricsClient(new CertificateCloudCredentials(SubscriptionId, Certificate));

var resourceid = ResourceIdBuilder.BuildCloudServiceResourceId(cloudServiceName, deploymentName);

var metricsDefinisions = metricsClient.MetricDefinitions.List(resourceid, null, null);


// timeGrain must be 5, 60 or 720 minutes.
TimeSpan timeGrain = TimeSpan.FromMinutes(60);
DateTime startTime = DateTime.UtcNow.AddDays(-1);
DateTime endTime = DateTime.UtcNow;

var name = metricsDefinisions.MetricDefinitionCollection.Value.First().Name;

var response = metricsClient.MetricValues.List(resourceid, new string[] { name }, String.Empty, timeGrain, startTime, endTime);

最后一行返回错误 -

{"Code":"InvalidRequest","Message":"Could not retrieve metrics."}

我可能做错了什么?

最佳答案

来 self 打开的 MSDN 票证:

问题在于 resourceId 用于查询指标。虽然您可以在部署级别请求指标定义(这允许发现哪些指标可用),但您无法在部署中查询指标。

指标在角色和角色实例级别可用。

如果您查看调用返回的每个 metricDefinitions:

  var metricsDefinisions = metricsClient.MetricDefinitions.List(resourceId, null, null);

列表中的每个指标都应该有一个 ResourceIdSuffix 属性。这提供了您发现指标所在位置所需的信息。

基本上它们将包含像role\roleName和roles/rolename/roleinstance/roleinstancename这样的值 如果您将其添加到您已有的resourceId(作为有效的uri),它应该会为您提供与该定义关联的指标值。 在您的情况下,您可能只需要为您的特定应用程序添加角色/角色实例。

我能够更改我的重现,将问题重现为以下内容并使其正常工作。 来自:

var resourceId = ResourceIdBuilder.BuildCloudServiceResourceId("imtiazhclientcerttest", "3d2975a038db48d1bd9f40c3b14de459");

致:

var resourceId = ResourceIdBuilder.BuildCloudServiceResourceId("imtiazhclientcerttest", "3d2975a038db48d1bd9f40c3b14de459","WebRole1", "WebRole1_IN_0");

关于azure - 访问 Azure 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28320313/

相关文章:

ios - 使用 Azure 的 readWithQueryString 调用时增加 fetchLimit 并对结果进行排序

node.js - 是否可以使用 Azure Key Vault 的 Keys API 创建 JSON Web token ?

C# 代码覆盖率指标

从 Azure DevOps 部署新的 ARM 后删除了 Azure Function 代码

Azure Bot Framework 机器人在 Microsoft Teams 中不经常回复

spring-boot - 在 Spring Boot 应用程序中使用 Micrometer 测量 HTTP 性能

azure - 如何从状态 "False (MissingEndpoints)"启用 kube-system/metrics-server ?

google-analytics - 如何使用 Google Analytics 计算转化率?

普罗米修斯每天查询不在 24 小时内 "buckets"

java - 通过 Azure webapp (Java) 连接到 Kafka HDInsight 集群