coast-grafana-cost-intelligence-dashboards

COAST - Cost Optimization and Saving Toolkit for Amazon Managed Grafana

Executive Dashboard

About

COAST is an open-source collection of dashboards that provide the capability to combine and observe AWS resource performance metrics with cost and usage data metrics. These dashboards assist customers in promoting financial accountability, optimizing costs, tracking usage goals, implementing governance best practices, and achieving operational excellence across all Well-Architected pillars. Utilizing Amazon Managed Grafana allows us to utilize an open-source platform which is very popular with the engineering community.

COAST is deployed via CloudFormation infrastructure as code templates, which allow for the provisioning of the necessary AWS Data Exports and Amazon Managed Grafana resources.

Advantages of COAST

Pre-requisites

Suggested Configuration

The COAST Data Export template enables you to create a CUR Legacy, CUR 2.0, and FOCUS(preview) reports. Our dashboards will require one or more of these Data Exports as a prerequisite. We recommend using our template to deploy these exports, as the template will also create the necessary AWS Glue and AWS Athena resources required for the Grafana dashboards to use as data sources. To backfill the cost and usage data in each report, you can open a support case. For more information on Data Exports backfill, refer to the Data Exports User Guide.

Setup Overview - Deploy with CloudFormation

Data Export support in CloudFormation is currenlty limited to the US East (N. Virginia) Region only, thus our deployment is only supported in the us-east-1 region.

Data Exports Deployment

The provision-data-exports.yaml allows users to provision Data Exports for a single account or an entire management (payer) account. Use this template to create CUR Legacy, CUR 2.0 and Focus (preview) reports. We recommend running three seperate CloudFormation stacks and provisioning all three reports. The template will also create a Glue Database, Glue Table and Glue Crawler to allow Athena to query the data. Athena is utilized by the Grafana plugin to make queries.

Once the reports are provisioned you may open a support case to backfill data. See Data Exports User Guide.

  1. Create a new stack in CloudFormation
  2. Select ‘Upload a template file’ and provide the location of the template. provision-data-exports.yaml
  3. Select the Data Export you need to configure with the drop down menu (either CUR legacy, CUR 2.0 or FOCUS (preview))
  4. Launch the creation

Once the creation is finished, the Outputs tab will contain important informaiton which will be utilized by the next templates.

Grafana Workspace Deployment

The provision-grafana-workspaces.yaml template will build a new Amazon Managed Grafana workspace along with the necessary permissions. You will still have to enable authentication by utilizing AWS Identify Center or you a third party IDP.

To implement this in CloudFormation:

  1. Create new stack in Cloudformation
  2. Select ‘upload template file’ and select the provision-grafana-workspaces.yaml template.
  3. You will have to select the name for the cheery before you can leave.

Once the creation is finished, the Outputs tab will contain important information about the workspace which will be utilized by the next templates.

Grafana Data Sources Deployment

The provision-grafana-data-source.yaml template installs the necessary data sources into the Grafana workspace you have created. We recommend running seperate CloudFormation stacks and provisioning all three data sources (CUR Legacy, CUR 2.0 and FOCUS). Note, currently our dashboards only utilize the CUR Legacy, CUR 2.0 and CloudWatch datasource.

  1. Create new stack in Cloudformation
  2. Select ‘upload template file’ and select the provision-grafana-data-source.yaml template.
  3. The template requires ceratin parameters in order to succeed:

    • AthenaDatabaseName - You may obtain this from the Outputs tab of the Data Exports CloudFormation deployment.
    • AthenaWorkgroupName - You may obtain this from the Outputs tab of the Data Exports CloudFormation deployment.
    • DataExportName - You may obtain this from the Outputs tab of the Data Exports CloudFormation deployment.
    • DataExportType - Select the appropriate export type (either CUR Legacy, CUR 2.0 or FOCUS)
    • GrafanaWorkspaceName - You may obtain this from the Outputs tab of the Provision Grafana workspace CloudFormation deployment.

Post Installation Steps

Associated Cost

COAST is an open-source solution and is completely free to use. However, you will be responsible for any AWS costs associated with underlying AWS services.

Support

COAST is supported by Solution Architects of AWS on best effort basis. However, users are encouraged to ask questions, open issues, contribute and provide feedback.

Contributing

The core team for COAST include the following, in alphabetical order:

However, we welcome the wider open-source community to this project. See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.