AWS CloudWatch GetMetricStatistics返回0数据点

问题描述:

我打算从特定实例中抽取一些指标,但似乎每次设置请求时,响应将始终返回0个数据点。AWS CloudWatch GetMetricStatistics返回0数据点

我设立像这样

public object GetMetric(string metricName, string instanceId) 
    { 
     var dimension = new Dimension 
     { 
      Name = "InstanceId", 
      Value = instanceId 
     }; 

     var getMetricRequest = new GetMetricStatisticsRequest 
     { 
      Dimensions = new List<Dimension>() { dimension }, 
      EndTime = DateTime.Today, 
      MetricName = metricName, 
      Namespace = "AWS/EC2", 
      Period = (int)TimeSpan.FromDays(1).TotalSeconds, 
      StartTime = DateTime.Today.Subtract(TimeSpan.FromDays(7)), 
      Statistics = new List<string> { "Maximum" }, 
      Unit = StandardUnit.Percent 
     }; 

     var getMetricResponse = client2.GetMetricStatistics(getMetricRequest); 
     return getMetricResponse; 
    } 

instanceId设置为我的亲戚实例ID和metricName设置为CPU利用率的要求。我在实例上运行powershell脚本来生成小型cpu尖峰,所以我知道数据在那里。

根据该文件的要求的性能是有效的 http://docs.aws.amazon.com/sdkfornet/v3/apidocs/Index.html

我失去了一些东西明显?我不明白我没有收到任何数据。我再次检查参数,他们也是正确的。

编辑:enter image description here

+0

一些健康检查:您能告诉我们您是如何初始化客户端的吗?此外,响应看起来像什么?您确定您提供给客户端的凭据是否有足够的权限执行此操作? –

+0

'AmazonCloudWatchClient client2 = new AmazonCloudWatchClient();'我现在将添加一个对这个问题的响应截图,并且我只是再次检查了凭证是否有足够的权限。 – Pudding

+0

是否在客户端配置中指定了正确的区域(与您的ec2实例所属的区域相匹配)? –

我得到的数据点了。我想只需要一段时间就可以将统计数据发送到Cloud Watch。