1. Paste your log groups
2. What it found
Modelled monthly cost per log group
| Log group | Per month |
|---|
Findings
| Rule | Level | Detail |
|---|
Prefer a CLI, or want a CI check?
Same logic, zero dependencies, one command — reads a file or stdin:
node cli.mjs analyze groups.csv cat groups.csv | node cli.mjs analyze - node cli.mjs analyze groups.csv --retention 14 --fail-on warn # exit 1 on any waste node cli.mjs analyze groups.csv --json --prices my-prices.json
Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: CloudWatch Logs cost: retention, ingestion and Infrequent Access.
What's recognised
| Input | Handling |
|---|
Prices are illustrative and dated; edit them with --prices in the CLI. Other regions, vended-log tiers, Logs Insights queries, data protection and exports are not modelled.
Comparing hosted logging vendors rather than costing CloudWatch? Price Datadog, Grafana Cloud, Axiom, Better Stack and Papertrail side by side at your GB-per-month volume.
Common questions
Does this connect to my AWS account?
No. It reads the rows you paste and never contacts AWS. It cannot see your real invoice, free tier or vended-log pricing, so every dollar figure is the rows you pasted times list prices you can edit.
How do I get the numbers?
Stored bytes, retention and creation time come from aws logs describe-log-groups (storedBytes, retentionInDays, creationTime). Ingested GB is the sum of the IncomingBytes metric per log group over 30 days, divided by 1e9. A group with no retentionInDays never expires.
Why is my CloudWatch Logs bill mostly ingestion?
Ingestion is $0.50 per GB, billed once when the data arrives, while storage is only $0.03 per GB-month. Shortening retention trims the small line; cutting what you log (debug level, health checks, request bodies) trims the big one.
Does setting a retention policy delete data?
Yes. Log events older than the retention period are deleted, usually within a day, and that cannot be undone. Export anything you must keep to S3 first and check audit and compliance requirements.
Is my data uploaded anywhere?
No. The browser page analyses the text in your own browser and never sends it anywhere. The CLI reads a local file or stdin and makes no network call.