yet-another-aws-exporter icon indicating copy to clipboard operation
yet-another-aws-exporter copied to clipboard

A Prometheus metrics exporter for AWS that fills in gaps CloudWatch doesn't cover

YAAE (Yet Another AWS Exporter)

A Prometheus metrics exporter for AWS that fills in gaps CloudWatch doesn't cover

About

This exporter is meant to expose metrics that aren't included in CloudWatch for Prometheus to scrape. When run in conjuction with a CloudWatch exporter (such as YACE or the Prometheus Community CloudWatch Exporter), this exporter provides increased visbility into your AWS ecosystem.

A full list of scrapers and metrics is found below.

Image

cashapp/yet-another-aws-exporter:<TAG>

Exported Metrics

  • A full list of exported metrics can be found here
  • Run yaae scrapers list to see all of the scrapers installed by default

Features

  • Self-documenting scraper/metric structure architecture
  • All metrics/scrapers can be disabled
  • IAM permissions can be generated off only selected scrapers
  • Internal metrics for tracking error rates and scrape duration
  • Structured JSON logging

Configuration File

YAAE looks for a config file next to the binary yaae binary named yaae.yaml. To pass a custom path to a config file, use the -c flag:

yaae -c /path/to/yaae.yaml

A config file example can be found in the examples directory.

AWS IAM Permissions

This exporter should never require anything more than read-only permissions. If you're running every scraper available, you'll need the following permissions on the role/user that the exporter is running under:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "yaae",
            "Effect": "Allow",
            "Action": [
                "eks:DescribeCluster",
                "eks:ListClusters",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "iam:GetAccountSummary"
            ],
            "Resource": "*"
        }
    ]
}

Not using every exporter? Run yaae scrapers list-iam-permissions -c <PATH TO CONFIG FILE> to generate a new list of permissions.

Contributing

If you're interested in contributing, we'd love the help! See the contributing guidelines for initial details.