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.
AWS IAM Identity Center - Amazon Managed Grafana requires authentication. Our CloudFormation template configures the Grafana workspace with AWS SSO.
AWS Data Exports - Currently most COAST dashboards are based on CUR Legacy. However, our templates give you the ability to deploy CUR 2.0 and FOCUS (preview)
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.
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.
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.
Once the creation is finished, the Outputs tab will contain important informaiton which will be utilized by the next templates.
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:
Once the creation is finished, the Outputs tab will contain important information about the workspace which will be utilized by the next templates.
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.
The template requires ceratin parameters in order to succeed:
Import the dashboards you require as per the instructions below
You may now import dashboards available in the grafana_dashboards folder of this repository. Select a dashboard to import. This will populate the dashboard name, and UID.
After importing the dashboards, follow the dashboards readme file to set your variables understand the data visualizations.
This dashboard is recommended for FinOps practitioners. It displays a billing overview, a summary of spend trends, region activity, and visuals for purchase types. To utilize this dashboard, your Cost and Usage Report (CUR) data should include reserved instance and savings plans columns. Additionally, you need to have at least one cost allocation tag enabled.
Designed for company leadership, this dashboard offers a view of billing and overall spend trends. To use this dashboard, your CUR data should include reserved instance and savings plans columns. Additionally, at least one cost allocation tag must be enabled.
Designed for engineers to give a comprehensive view in to the accounts aggregated EC2 performance and cost metrics in addition to views which provide a per-instance view of performance and cost. This dashboard is based on the CUR 2.0 format and required a CUR2.0 data source and a CloudWatch data source. See the Readme file for installation instructions.
Designed to give a view into your Auto Scaling workloads by Auto Scaling group and tag/key values. This dashboard is based on the CUR Legacy format and requires a CUR Legacy data source as well as a CloudWatch data source. See the Readme file for installation instructions.
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.
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.
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.
This library is licensed under the MIT-0 License. See the LICENSE file.