如何使用AWS开发工具包Java获取CloudWatchLogs指标过滤器数据?

时间:2019-11-20 14:16:39

标签: amazon-web-services aws-sdk amazon-cloudwatch amazon-cloudwatchlogs amazon-cloudwatch-metrics

我已经配置了度量过滤器以对LogStream上的信息进行计数。我可以在AWS CLoudWatch仪表板上看到我的结果,但我想在AWS SDK Java上获得这些信息。为此,我尝试使用CloudWatchLogsClient类和函数describeMetricFilters(...),但结果未检索到我需要的计数数据。

这是我的仪表板,其中包含我想要的信息:

enter image description here

在我的代码中,我尝试获取有关度量过滤器的信息,但我的目标是获取所有度量过滤器的数据,本例中为3。

代码

    private CloudWatchLogsClient cloudWatchLogsClient;

    public Object getMetricsFilter() {

    DescribeMetricFiltersResponse describeMetricFiltersResponse = this.cloudWatchLogsClient.describeMetricFilters(builder -> {
        builder.metricNamespace("namespace-name");
        builder.metricName("Metric Filter API-KEY-3");
    });

    return describeMetricFiltersResponse.toString();
}

返回不检索正确的计数,返回它:

    DescribeMetricFiltersResponse(MetricFilters=[MetricFilter(FilterName=API-KEY-3 Count, 
    FilterPattern="apiKeyId" "*******", 
    MetricTransformations=[MetricTransformation(MetricName=Metric Filter API-KEY-3, 
    MetricNamespace=namespace-name, MetricValue=1)],
    CreationTime=1574249791147, LogGroupName=group-name)])

对于度量过滤器Metric Filter API-KEY-3,我希望收到类似Count = 7的数据

1 个答案:

答案 0 :(得分:0)

指标过滤器创建指标。

DescribeMetricFilters API为您提供有关指标过滤器的信息。

要获取指标数据,您需要使用 GetMetricData (推荐)或 GetMetricStatistics API。您还可以使用 GetMetricWidgetImage API来获取图形的位图图像。