Cloud Cost Exporter is a Prometheus exporter that collects cost and pricing data from cloud providers (AWS, GCP, Azure) in real-time.
Quick Links:
- Docker Hub - Official Docker images
- Helm Chart - Helm Chart for Kubernetes deployment
- Documentation - Detailed guides and references
- KubeCon Talk on monitoring cloud costs at scale
Cloud Cost Exporter provides near real-time cost visibility by exporting resource pricing rates as Prometheus metrics.
The cost data can be combined with usage metrics from tools like Stackdriver, YACE, Grafana AWS CloudWatch Metric Streams, and Promitor to calculate granular spending.
Cloud provider billing data takes hours to days to become fully accurate. This exporter bridges that gap by providing per-minute cost rate visibility for both Kubernetes and non-Kubernetes resources across multiple cloud providers.
- Multi-cloud support - Collect cost rates from AWS, GCP, and Azure through a consistent interface
- Real-time rates - Export per-minute pricing rates (e.g., $/cpu/hr) for cloud resources
- Prometheus native - Export metrics in Prometheus format for easy integration with monitoring stacks
- Billing accuracy - This is not a replacement for official cloud billing reports
- Spend calculation - Exports rates, not total spend (use Prometheus queries & recording rules to calculate spend)
This project is in active development and is subject to change. Grafana Labs builds and maintains this project as part of our commitment to the open source community but we do not provide support for it. The exporter exports rates for resources and not the total spend.
- AWS - Amazon Web Services
- GCP - Google Cloud Platform
- Azure - Microsoft Azure
Cloud Cost Exporter can be used locally using its image or deployed via a Helm Chart.
To deploy locally using its image, Cloud Cost Exporter uses each provider's default authentication mechanisms:
| Provider | Authentication Method | Documentation |
|---|---|---|
| AWS | AWS credentials file, environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION), or IAM role |
AWS credentials |
| GCP | Application Default Credentials (ADC) | GCP ADC |
| Azure | DefaultAzureCredential chain (environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET) |
Azure authentication |
After authenticating with a cloud provider, follow these steps to do a quick start using Docker:
# Run with Docker (example for AWS)
docker run -d \
-p 8080:8080 \
-e AWS_ACCESS_KEY_ID=your-key \
-e AWS_SECRET_ACCESS_KEY=your-secret \
-e AWS_REGION=us-east-1 \
grafana/cloudcost-exporter:latestMetrics will be available to be scraped at http://localhost:8080/metrics
For Kubernetes deployments, use the official Helm chart. See the chart repository for configuration options, values, and examples.
First, setup an IAM Role for Service Accounts (IRSA) for secure credential management:
- AWS: IRSA Setup Guide and Helm Configuration
- GCP: Workload Identity (documentation in development - contribute here)
- Azure: Workload Identity (documentation in development - contribute here)
Then, install Cloud Cost Exporter via its Helm chart:
# Add Grafana Helm repository
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
# Install cloudcost-exporter
helm install cloudcost-exporter grafana/cloudcost-exporterChart source: charts/cloudcost-exporter Chart documentation: charts/cloudcost-exporter/README.md
Cloud Cost Exporter exposes Prometheus metrics for cost rates of cloud resources. Each service exports metrics specific to that resource type - see the metrics documentation for details on supported services.
We welcome contributions. See the contributing guide.
Cloud Cost Exporter is licensed under the Apache License 2.0.