AWS billing metricset

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

You can monitor your estimated AWS charges by using Amazon CloudWatch. When you enable the monitoring of estimated charges for your AWS account, the estimated charges are calculated and sent several times daily to CloudWatch as metric data.

Billing metric data is stored in the US East (N. Virginia) Region and represents worldwide charges. This data includes the estimated charges for every service in AWS that you use, in addition to the estimated overall total of your AWS charges.

This aws billing metricset collects these Cloudwatch metrics for monitoring purposes.

AWS Permissions

edit

Some specific AWS permissions are required for IAM user to collect estimated billing metrics.

cloudwatch:GetMetricData
cloudwatch:ListMetrics
tag:getResources
sts:GetCallerIdentity
iam:ListAccountAliases

Dashboard

edit

The aws billing metricset comes with a predefined dashboard. For example:

metricbeat aws billing overview

Configuration example

edit
- module: aws
  period: 12h
  metricsets:
    - billing
  # This module uses the aws cloudwatch metricset, all
  # the options for this metricset are also available here.

Metrics

edit

Metric Name

Statistic Method

EstimatedCharges

Maximum

Supported dimensions for billing metrics: Currency and ServiceName.

This is a default metricset. If the host module is unconfigured, this metricset is enabled by default.

Fields

edit

For a description of each field in the metricset, see the exported fields section.

Here is an example document generated by this metricset:

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "aws": {
        "billing": {
            "metrics": {
                "EstimatedCharges": {
                    "max": 0
                }
            }
        },
        "cloudwatch": {
            "namespace": "AWS/Billing"
        },
        "dimensions": {
            "Currency": "USD",
            "ServiceName": "AmazonSNS"
        }
    },
    "cloud": {
        "account": {
            "id": "428152502467",
            "name": "elastic-beats"
        },
        "provider": "aws",
        "region": "us-east-1"
    },
    "event": {
        "dataset": "aws.billing",
        "duration": 115000,
        "module": "aws"
    },
    "metricset": {
        "name": "billing",
        "period": 10000
    },
    "service": {
        "type": "aws"
    }
}