使用Java检索AWS EC2s CPUUtilization
我试图获得特定区域中EC2的所有平均CPU使用率。我尝试了以下方法:使用Java检索AWS EC2s CPUUtilization,java,amazon-web-services,javafx,amazon-s3,amazon-ec2,Java,Amazon Web Services,Javafx,Amazon S3,Amazon Ec2,我试图获得特定区域中EC2的所有平均CPU使用率。我尝试了以下方法: 每个请求请求一个实例统计信息,虽然工作很慢 我试图从请求中删除维度,但得到的响应为空,尽管cli返回所有可用实例() 我尝试为每个请求设置10个维度,但遇到以下异常: 2016-01-24 23:13:30.925 java[20057:31669898] GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT java.lang.RuntimeException: Requested textur
- 每个请求请求一个实例统计信息,虽然工作很慢
- 我试图从请求中删除维度,但得到的响应为空,尽管cli返回所有可用实例()李>
- 我尝试为每个请求设置10个维度,但遇到以下异常:
2016-01-24 23:13:30.925 java[20057:31669898] GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT java.lang.RuntimeException: Requested texture dimensions (62206x154) require dimensions (0x154) that exceed maximum texture size (16384) at com.sun.prism.es2.ES2RTTexture.create(ES2RTTexture.java:220) at com.sun.prism.es2.ES2ResourceFactory.createRTTexture(ES2ResourceFactory.java:158) at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:210) at com.sun.prism.es2.ES2SwapChain.createGraphics(ES2SwapChain.java:40) at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:87) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.lang.Thread.run(Thread.java:745)
私有列表监视实例(AmazonCloudWatchClient cloudWatchClient,列表维度){
List datapoints=new ArrayList();
试一试{
int-dimensionsLastIndex=0;
对于(int-dimensionsIndex=0;dimensionsIndex private List<Datapoint> monitorInstance(AmazonCloudWatchClient cloudWatchClient, List<Dimension> dimensions) {
List<Datapoint> datapoints = new ArrayList<>();
try {
int dimensionsLastIndex = 0;
for (int dimensionsIndex = 0; dimensionsIndex < dimensions.size(); dimensionsIndex = dimensionsLastIndex + 1) {
dimensionsLastIndex = (dimensionsIndex + 10) <= dimensions.size() ? dimensionsIndex + 9 : dimensions.size() - 1;
long offsetInMilliseconds = 1000 * 60 * 60 * 24;
GetMetricStatisticsRequest request = new GetMetricStatisticsRequest()
.withStartTime(new Date(new Date().getTime() - offsetInMilliseconds))
.withNamespace("AWS/EC2")
.withPeriod(60 * 60)
.withDimensions(dimensions.subList(dimensionsIndex, dimensionsLastIndex))
.withMetricName("CPUUtilization")
.withStatistics("Average")
.withEndTime(new Date());
GetMetricStatisticsResult getMetricStatisticsResult = cloudWatchClient.getMetricStatistics(request);
datapoints.addAll(getMetricStatisticsResult.getDatapoints());
}
return datapoints;
} catch (AmazonServiceException e) {
error(e.getMessage(), stackTraceToString(e));
}
return new ArrayList<>();
}