使用Java API从AWS Cloudwatch中获取指标:

时间:2019-07-01 20:36:02

标签: amazon-cloudwatch amazon-cloudwatch-metrics

我正在尝试使用Java SDK从Amazon CloudWatch中获取指标。 我可以找到列出指标的示例。但是找不到任何完整的示例来说明如何在给定时间段内检索指标的值。

任何指针都将受到高度赞赏。

谢谢

1 个答案:

答案 0 :(得分:1)

您看过GetMetricDataRequest documentation吗?

应该直截了当。遵循这些原则。 (请注意,我尚未测试代码)。

        final GetMetricDataRequest getMetricDataRequest = new GetMetricDataRequest();
        final MetricDataQuery metricDataQuery = new MetricDataQuery();
        metricDataQuery.setId("METRIC_ID");
        final MetricStat metricStat = new MetricStat();
        final Metric metric = new Metric();
        final Dimension dimension = new Dimension();
        nodeCountMetric.setNamespace(namespace);
        dimension.setName("DIMENSION_KEY");
        dimension.setValue("value");


        metric.setDimensions(Collections.singletonList(dimension));
        metric.setMetricName(metricName);
        metricStat.setMetric(metric);
        metricStat.setPeriod(SECONDS_60);
        metricStat.setStat(SAMPLE_COUNT_STATISTIC);
        metricDataQuery.setMetricStat(metricStat);
        getMetricDataRequest.setMetricDataQueries(Collections.singletonList(metricDataQuery));
        final Date endTime = new Date();
        getMetricDataRequest.setEndTime(endTime);
        getMetricDataRequest.setStartTime(new Date(endTime.getTime() - HOURS_3));

        final AmazonCloudWatch cw =
    AmazonCloudWatchClientBuilder.defaultClient();

        GetMetricDataResult metricData = cw.getMetricData(metricDataRequest);