By Raúl Pérez · Last updated: October 2026 · Reading time: 14 min
You do not need a five-figure FinOps platform to get control over your cloud bill. A growing set of open-source cloud cost monitoring tools covers the essentials: seeing where money goes, estimating cost before you deploy, cleaning up waste automatically and attributing spend to teams. For developers and platform engineers who prefer tools they can inspect, script and run in their own pipelines, they are often the best starting point.
This guide compares the most useful open-source options, explains what each is good at (and what it is not), shows short setup examples and proposes a practical stack you can assemble in a day.
A note on accuracy: open-source projects change quickly. Licenses, features and maintenance status shift over time, and some projects have commercial editions or hosted versions with different terms. Check each project’s repository and documentation before adopting it.
What to Look for in an Open-Source Cost Tool
No single tool covers everything. Before choosing, decide which problem you are solving:
| Need | Question to ask |
|---|---|
| Visibility | Where is our money going, by team, service or namespace? |
| Prevention | Can we see what a change will cost before merging it? |
| Cleanup | Can we find and remove idle and orphaned resources automatically? |
| Right-sizing | Which workloads are over-provisioned? |
| Allocation | Can we split shared costs fairly and show teams their share? |
| Governance | Can we enforce tags, budgets and policies? |
Also weigh these factors: how much operational effort it needs, whether it supports your clouds, how active the community is, what license it uses, and whether it needs elevated permissions in your accounts.
Quick Comparison
| Tool | Best for | Clouds / scope | Type of tool |
|---|---|---|---|
| OpenCost | Kubernetes cost allocation | Kubernetes on any cloud, with cloud pricing integrations | Real-time cost monitoring |
| Infracost | Cost estimates in pull requests | Terraform and similar infrastructure-as-code, major clouds | Shift-left cost estimation |
| Cloud Custodian | Automated cleanup and policy enforcement | AWS, Azure, GCP and others | Rules engine for governance |
| Steampipe | Querying cloud resources with SQL | AWS, Azure, GCP and many other services | Query engine and compliance mods |
| Goldilocks | Right-sizing Kubernetes requests | Kubernetes | VPA-based recommendation dashboard |
| Cloud Carbon Footprint | Estimating cloud emissions alongside cost | AWS, Azure, GCP | Sustainability and cost estimation |
| Prometheus + Grafana | Custom dashboards and alerts | Anything you instrument | Monitoring stack |
| Kubecost (free tier) | Richer Kubernetes cost UI, built on OpenCost | Kubernetes | Free tier of a commercial product, not fully open source |
1. OpenCost: The Standard for Kubernetes Cost Monitoring
OpenCost is a CNCF project that provides vendor-neutral Kubernetes cost allocation. It measures the cost of CPU, memory, storage, network and load balancers, and assigns it to namespaces, deployments, pods and labels, using on-demand pricing or your cloud provider’s pricing data.
Strengths
- Real-time visibility into cost per namespace, controller and label
- Open specification and open-source implementation, with broad community support
- Exposes a Prometheus metrics endpoint, so it fits straight into Grafana dashboards and alerting
- Free, and the engine under several commercial products, including Kubecost
Limitations
- Focused on Kubernetes. It does not replace a full cloud bill analysis tool.
- The built-in UI is simpler than commercial alternatives, and reports and savings recommendations are limited.
- Reconciling to your actual invoice requires configuring cloud pricing integrations.
Quick start
helm install opencost opencost \
--repo https://opencost.github.io/opencost-helm-chart \
--namespace opencost --create-namespace
OpenCost depends on Prometheus metrics. Follow the current installation guide for the required Prometheus configuration. For a comparison with the commercial option see [OpenCost vs Kubecost: Which Open-Source Tool Wins?], and for hands-on use see [How to Use Kubecost to Track Namespace Spending in Real Time].
2. Infracost: Cost Estimates Before You Deploy
Infracost reads your Terraform (and related infrastructure-as-code) and calculates the expected monthly cost, then shows the difference in a pull request. It turns cost into a code review item, catching a 10x mistake before it reaches production.
Strengths
- Cost diff comments directly on pull requests
- Works from the command line and in CI systems such as GitHub Actions and GitLab CI
- Supports policies, such as failing a check if a change increases monthly cost above a threshold
- Uses public cloud price books, so it needs no access to your cloud accounts to estimate
Limitations
- Estimates are based on declared resources. Usage-based costs (such as data transfer and requests) need usage assumptions.
- Some advanced features, dashboards and governance are part of a paid cloud product. Check what the open-source CLI includes.
Quick start
# Cost breakdown of a Terraform project
infracost breakdown --path .
# Compare a change against a baseline
infracost breakdown --path . --format json --out-file infracost-base.json
# ...make changes...
infracost diff --path . --compare-to infracost-base.json
You will need to authenticate the CLI to fetch pricing, following the project’s setup instructions.
3. Cloud Custodian: Automate Cleanup and Governance
Cloud Custodian is a rules engine that lets you describe cloud governance in YAML. You write policies that find resources matching conditions (for example, unattached volumes, untagged instances, stopped instances older than 30 days) and take actions on them (notify, tag, stop or delete).
Strengths
- Declarative, readable policies that can be reviewed like code
- Runs on a schedule or in response to events, including serverless execution
- Handles tagging enforcement, cleanup, off-hours schedules and compliance in one tool
- Supports AWS, Azure, GCP and other providers
Limitations
- It acts on your accounts, so permissions and testing discipline matter. Always start with dry-run and notify-only policies.
- It is a governance engine, not a cost analytics UI.
Example: mark unattached EBS volumes and delete them after 14 days
policies:
- name: ebs-unattached-mark
resource: aws.ebs
filters:
- State: available
- "tag:keep": absent
- "tag:custodian_cleanup": absent
actions:
- type: mark-for-op
tag: custodian_cleanup
op: delete
days: 14
- name: ebs-unattached-delete
resource: aws.ebs
filters:
- type: marked-for-op
tag: custodian_cleanup
op: delete
- State: available
actions:
- type: delete
# Always test with a dry run first
custodian run --dryrun -s output policy.yml
This pattern of tagging first and deleting later gives owners a grace period. See also [Best Practices to Eliminate Unattached EBS Volumes and Idle IPs] and [How to Automate Resource Shutdown During Non-Working Hours in AWS].
4. Steampipe: Ask Your Cloud Questions in SQL
Steampipe exposes cloud APIs as SQL tables. Instead of clicking through consoles or writing scripts against SDKs, you query resources directly, across accounts and even across clouds, and join them with other data. The community also publishes “thrifty” benchmark mods that check for common cost wastes such as idle resources and oversized instances.
Strengths
- Fast, flexible investigation using SQL
- Multi-account and multi-cloud queries
- Ready-made cost-related benchmarks you can run and adapt
Limitations
- It queries live resource configuration, not your billing data, so it is not a cost allocation tool by itself.
- Check the project’s license (the core is under a copyleft license) to ensure it fits your use.
Example: find unattached EBS volumes across regions
select
account_id, region, volume_id, size, volume_type, create_time
from aws_ebs_volume
where state = 'available'
order by size desc;
steampipe query "select region, count(*) from aws_ebs_volume where state='available' group by region"
5. Goldilocks: Right-Sizing Recommendations for Kubernetes
Goldilocks, from Fairwinds, runs the Kubernetes Vertical Pod Autoscaler in recommendation mode for your workloads and presents the results in a dashboard. For each deployment you see suggested CPU and memory requests for both “Guaranteed” and “Burstable” quality-of-service classes.
Strengths
- Turns VPA recommendations into an easy dashboard per namespace
- Helps teams right-size without hand-writing queries
- Safe by default, because it recommends rather than changes
Limitations
- Depends on VPA and enough usage history to be reliable
- Recommendations need human review, especially for spiky workloads
For the right-sizing method behind it, read [Preventing Cloud Waste Caused by Over-Provisioned Pods and CPU Limits].
6. Cloud Carbon Footprint: Cost and Emissions Together
Cloud Carbon Footprint estimates the energy use and carbon emissions of cloud usage across the major providers, using billing and usage data. It is not a pure cost tool, but it helps teams report sustainability alongside spend, and cost reductions often reduce emissions too.
Use it if your organization has sustainability reporting goals. Treat the numbers as estimates, since methodologies rely on assumptions.
7. Prometheus and Grafana: Build the Dashboards You Need
Many teams already run Prometheus and Grafana. With OpenCost metrics and cloud exporters, you can build dashboards that show:
- Cost per namespace and per team
- Request efficiency (requested vs used CPU and memory)
- Idle capacity trends
- Alerts on cost spikes
Example queries:
# Monthly cost estimate by namespace using OpenCost metrics
sum by (namespace) (
container_cpu_allocation * on (node) group_left() node_cpu_hourly_cost
) * 730
Metric names depend on your OpenCost version and configuration, so start from the dashboards provided in the project documentation and adapt them.
8. Kubecost Free Tier: A Middle Path
Kubecost is a commercial product built on OpenCost, with a free tier that provides core cost allocation and a more polished interface. It is not open source in the strict sense, but many teams use it as a stepping stone. Check the current free tier limits before relying on it.
Beyond Tools: Native Cloud Cost Reporting
Open-source tools complement, rather than replace, your cloud provider’s free cost tools. AWS Cost Explorer and Cost and Usage Reports, Azure Cost Management and Google Cloud billing exports remain the source of truth for what you actually pay. See [Azure Cost Management: Ultimate Guide for DevOps Engineers] for the Azure side. A common pattern is to export billing data into a warehouse (such as BigQuery or Athena) and build dashboards on top.
A Recommended Open-Source FinOps Stack
For a small to mid-sized engineering team, this combination covers most needs without licensing fees:
| Layer | Tool | Role |
|---|---|---|
| Billing truth | Cloud billing exports (CUR, Azure export, BigQuery export) | Authoritative spend data |
| Kubernetes allocation | OpenCost | Cost per namespace and workload |
| Right-sizing | Goldilocks (VPA) | Request recommendations |
| Pre-merge control | Infracost in CI | Cost diff on every pull request |
| Cleanup and governance | Cloud Custodian | Remove idle resources, enforce tags |
| Investigation | Steampipe | Ad hoc SQL over live resources |
| Dashboards and alerts | Prometheus and Grafana | Single pane for engineers |
A one-day rollout plan
- Morning: install OpenCost and wire it to Prometheus and Grafana. Share the namespace cost dashboard with team leads.
- Midday: add Infracost to your main Terraform repository in report-only mode.
- Afternoon: write two Cloud Custodian policies in notify-only mode (untagged resources, unattached volumes), and run Steampipe’s cost benchmarks for a one-off waste report.
- Next week: install Goldilocks in one namespace, review recommendations with the owners, and start tightening requests.
- Next month: turn Custodian from notify to action, and make Infracost a required check with a threshold.
Open Source vs Commercial: When to Pay
Open source is a strong fit when you have engineers who can run and maintain tools, want to avoid per-spend pricing and need to customize. Consider commercial platforms when you need polished multi-cloud reporting for finance, vendor support, advanced automation, commitment management or want to avoid operating the stack. See [Vantage vs Datadog Cloud Cost Management: In-Depth Comparison] for two commercial examples. Many organizations run a hybrid: open source for engineering workflows, commercial tools for finance reporting.
Common Mistakes
- Expecting one tool to do everything. Visibility, prevention, cleanup and right-sizing are different jobs.
- Giving automation delete rights on day one. Start with notification and tag-then-delete patterns.
- Ignoring the invoice. Always reconcile tool output with the real bill.
- Skipping tags and labels. Allocation tools need consistent metadata.
- Not budgeting maintenance time. Self-hosted tools need upgrades, access reviews and monitoring.
- Adopting abandoned projects. Check release activity and community health before depending on a tool.
Frequently Asked Questions
What is the best open-source tool for Kubernetes cost monitoring? OpenCost is the most widely adopted open-source option, and Goldilocks complements it for right-sizing.
Is there an open-source alternative to a full FinOps platform? Not as a single product. You can assemble a stack from billing exports, OpenCost, Infracost, Cloud Custodian, Steampipe and Grafana, which covers much of the same ground with more engineering effort.
Can open-source tools see my actual cloud bill? Some can reconcile with billing data through integrations, but the authoritative source remains your cloud provider’s billing exports and consoles.
Are these tools safe to run in production accounts? Read-only tools such as Steampipe and OpenCost are low risk if you grant least-privilege access. Tools that change resources, such as Cloud Custodian, should be rolled out with dry runs, notifications and approval gates.
Is Kubecost open source? The underlying OpenCost engine is open source. Kubecost itself is a commercial product with a free tier, so check the licensing terms.
Conclusion
Open-source cloud cost monitoring tools let developers build a capable FinOps practice with no licensing fees. Start with OpenCost for Kubernetes visibility, add Infracost to catch expensive changes in pull requests, use Cloud Custodian and Steampipe to find and remove waste, and tie it together with Grafana. Begin in read-only and notify-only modes, reconcile everything against your cloud bill, and graduate to automation as trust grows.
