从 CloudWatch 中获取指标 - AWS SDK for Java 2.x

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从 CloudWatch 中获取指标

列出指标

要列出CloudWatch指标,请创建ListMetricsRequest并调用 CloudWatchClient's listMetrics 方法。您可以使用 ListMetricsRequest 通过命名空间、指标名称或维度筛选返回的指标。

注意

《Amazon CloudWatch 用户指南》中的 Amazon CloudWatch 指标和维度参考中提供了 AWS 服务发布的指标和维度列表。

导入

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.cloudwatch.CloudWatchClient; import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException; import software.amazon.awssdk.services.cloudwatch.model.ListMetricsRequest; import software.amazon.awssdk.services.cloudwatch.model.ListMetricsResponse; import software.amazon.awssdk.services.cloudwatch.model.Metric;

代码

public static void listMets( CloudWatchClient cw, String namespace) { boolean done = false; String nextToken = null; try { while(!done) { ListMetricsResponse response; if (nextToken == null) { ListMetricsRequest request = ListMetricsRequest.builder() .namespace(namespace) .build(); response = cw.listMetrics(request); } else { ListMetricsRequest request = ListMetricsRequest.builder() .namespace(namespace) .nextToken(nextToken) .build(); response = cw.listMetrics(request); } for (Metric metric : response.metrics()) { System.out.printf( "Retrieved metric %s", metric.metricName()); System.out.println(); } if(response.nextToken() == null) { done = true; } else { nextToken = response.nextToken(); } } } catch (CloudWatchException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

ListMetricsResponse通过调用其getMetrics方法返回指标。

结果可以分页。要检索下一批结果,请对响应对象调用 nextToken 并使用该令牌值构建新的请求对象。然后使用新请求再次调用 listMetrics 方法。

请参阅上的完整示例 GitHub。

更多信息