AWS cloud watch java SDK返回错误值
我试图构建一个小型测试仪,用于打印AWS中运行的EC2实例的CPU利用率AWS cloud watch java SDK返回错误值,java,amazon-web-services,amazon-ec2,aws-sdk,Java,Amazon Web Services,Amazon Ec2,Aws Sdk,我试图构建一个小型测试仪,用于打印AWS中运行的EC2实例的CPU利用率 try { AmazonCloudWatchClient cw = initializeCW(); //cw.setEndpoint("https://monitoring.us-east-1.amazonaws.com"); GetMetricStatisticsRequest getMetricStatisticsRequest = new GetMetricS
try {
AmazonCloudWatchClient cw = initializeCW();
//cw.setEndpoint("https://monitoring.us-east-1.amazonaws.com");
GetMetricStatisticsRequest getMetricStatisticsRequest = new GetMetricStatisticsRequest();
List<Dimension> dims = new ArrayList<Dimension>();
Dimension dim = new Dimension();
dim.setName("instanceId");
dim.setValue("i-4dd6b9dd");
dims.add(dim);
getMetricStatisticsRequest.setNamespace("AWS/EC2");
getMetricStatisticsRequest.setMetricName("CPUUtilization");
getMetricStatisticsRequest.setStartTime(new Date(System
.currentTimeMillis() - 1000*60*60));//Last hour
getMetricStatisticsRequest.setEndTime(new Date(System
.currentTimeMillis()));
getMetricStatisticsRequest.setPeriod(60*5);//every 5 minutes
getMetricStatisticsRequest.getStatistics().add("Sum");
getMetricStatisticsRequest.getStatistics().add("Maximum");
getMetricStatisticsRequest.getStatistics().add("Average");
GetMetricStatisticsResult getMetricStatisticsResponse = cw
.getMetricStatistics(getMetricStatisticsRequest);
System.out.println(getMetricStatisticsResponse);
}catch (Exception e) {
e.printStackTrace();
}
}
试试看{
AmazonCloudWatchClient cw=initializeCW();
//cw.setEndpoint(“https://monitoring.us-east-1.amazonaws.com");
GetMetricStatisticsRequest GetMetricStatisticsRequest=新建GetMetricStatisticsRequest();
List dims=新的ArrayList();
尺寸标注=新尺寸标注();
dim.setName(“实例ID”);
尺寸设定值(“i-4dd6b9dd”);
添加(dim);
getMetricStatisticsRequest.setNamespace(“AWS/EC2”);
getMetricStatisticsRequest.setMetricName(“CPUUtilization”);
getMetricStatisticsRequest.setStartTime(新日期(系统
.currentTimeMillis()-1000*60*60));//最后一小时
getMetricStatisticsRequest.setEndTime(新日期(系统
.currentTimeMillis());
getMetricStatisticsRequest.setPeriod(60*5);//每5分钟
getMetricStatisticsRequest.getStatistics().add(“总和”);
getMetricStatisticsRequest.getStatistics().add(“最大值”);
getMetricStatisticsRequest.getStatistics().add(“Average”);
GetMetricStatisticsResult getMetricStatisticsResponse=cw
.getMetricStatistics(getMetricStatisticsRequest);
System.out.println(getMetricStatisticsResponse);
}捕获(例外e){
e、 printStackTrace();
}
}
我得到的结果具有错误的值。
API的响应是:
{标签:CPUUtilization,数据点:[]}
它是空的。
实际值和AWS控制台提供的值约为30%。
无论我添加还是注释掉setEndpoint,行为都是相同的,这是有意义的,因为us-east-1是默认端点
你知道我做错了什么吗