Skip to content

Dashboard and infrastructure for AWS organization cost and usage report

License

Notifications You must be signed in to change notification settings

OCP-Zmarta/aws-org-billing-dashboard

 
 

Repository files navigation

AWS Organization Billing Dashboard

This project provides a dashboard and infrastructure for AWS organization cost and usage reports. It uses Terraform to provision the infrastructure and Helm to deploy the dashboard. Alternatively, you can import the dashboard and set the datasource manually.

Please note that some statistics in the dashboard will only be available once you have two months of billing reports.

AWS Organization Billing Dashboard

Project Structure

The project is organized into two main directories:

  • terraform/: Contains Terraform modules for setting up the AWS infrastructure, including Glue Catalog Database, Glue Crawlers, and an S3 bucket for storing AWS Cost and Usage Reports (CUR). It also includes a Grafana workspace with an Athena data source for visualizing the CUR data.

  • charts/: Contains Helm chart for deploying the dashboard and datasource.

Requirements

To use this project, you will need the following:

Requirement Required Description
Terraform Yes To deploy infrastructure
AWS CLI Yes To use terraform with aws provider
Helm No If you want to deploy the dashboard to Grafana hosted in Kubernetes
asdf No For managing versions of multiple runtime environments
Kind No For local Kubernetes cluster setup.
kubectl No For interacting with Kubernetes clusters

Usage

To use this project, follow these steps:

  1. Clone the repository.
  2. Authorize with the AWS CLI against a "management account" in your organization. (Will not be able to retrieve org data unless management account)
  3. Modify the example.tfbackend and example.tfvars at the root of the project to conform with your backend and target environment
  • terraform init -backend-config=targets/example.tfbackend
  • terraform plan -var-file=targets/example.tfvars -out=tfplan
  • terraform apply tfplan
  1. If you have Grafana deployed in Kubernetes, navigate to the charts/ directory and deploy the dashboard using Helm with the appropriate values. Alternatively, if you have Grafana deployed by other means, you can set up the datasource manually using this documentation as a reference and import the dashboards from the Helm chart.

Please note that it may take up to 24 hours to receive your first report from AWS after deployment. Additionally, some statistics in the dashboard will only be available once you have two months of billing reports.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

About

Dashboard and infrastructure for AWS organization cost and usage report

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 75.0%
  • Python 13.6%
  • Smarty 7.4%
  • Shell 4.0%