Java Amazon Cloudwatch服务未返回度量信息
我正在编写一个Java代码,用于使用Amazon Cloudwatch检索Amazon EC2指标。代码如下:Java Amazon Cloudwatch服务未返回度量信息,java,amazon-web-services,amazon-ec2,amazon-cloudwatch,Java,Amazon Web Services,Amazon Ec2,Amazon Cloudwatch,我正在编写一个Java代码,用于使用Amazon Cloudwatch检索Amazon EC2指标。代码如下: AWSCredentials awsCredentials = new BasicAWSCredentials(aws_accessKey, aws_secretKey); AmazonCloudWatchClient cloudWatch = new AmazonCloudWatchClient(awsCredentials); D
AWSCredentials awsCredentials = new BasicAWSCredentials(aws_accessKey, aws_secretKey);
AmazonCloudWatchClient cloudWatch = new AmazonCloudWatchClient(awsCredentials);
Dimension instanceDimension = new Dimension();
instanceDimension.setName("InstanceId");
instanceDimension.setValue("i-480de11e");
GetMetricStatisticsRequest request = new GetMetricStatisticsRequest();
request.setNamespace("AWS/EC2");
request.setPeriod(60 * 5);
ArrayList<String> stats = new ArrayList<String>();
stats.add("Average");
request.setStatistics(stats);
ArrayList<Dimension> dimensions = new ArrayList<Dimension>();
dimensions.add(instanceDimension);
request.setDimensions(dimensions);
request.setMetricName("CPUUtilization");
SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.HOUR_OF_DAY, -5);
cal.add(Calendar.MINUTE, -30);
Date endTime = format.parse(cal.getTime().toString());
request.setEndTime(endTime);
cal.add(Calendar.MINUTE, -10);
Date startTime = format.parse(cal.getTime().toString());
request.setStartTime(startTime);
GetMetricStatisticsResult getMetricStatisticsResult = cloudWatch.getMetricStatistics(request);
System.out.println(getMetricStatisticsResult.getDatapoints().size());
尽管我可以在AWS控制台中看到度量数据,但上面的返回值为零。
我想澄清几件事:
我需要像cloudWatch.setEndpoint这样设置端点吗。。。。?
设置与格式等相关的开始/结束时间是否存在问题?
通过设置cloudWatch.setEndpoint…解决了此问题