Skip to content

About

Local instrument for measuring the height of your AWS cloud bill

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Ceilometer

A local instrument for measuring the height of your AWS cloud bill.

Ceilometer is a small self-hosted dashboard that talks to the AWS Cost Explorer API using your local AWS profiles, caches responses, and renders the results in a browser. No data leaves your machine.

Requirements

  • Node.js 18+ (uses node --watch and native fetch)
  • One or more AWS profiles configured in ~/.aws/config or ~/.aws/credentials
  • The profile(s) must have permission to call ce:Get* (Cost Explorer)

Install

npm install

Run

npm start        # node server.js
npm run dev      # node --watch server.js

Then open http://localhost:3456.

Environment variables

Variable Default Description
AWS_PROFILE default Default profile used when the UI doesn't specify one
PORT 3456 HTTP port the server listens on

If a request fails with a credentials/SSO error, the server response includes a hint such as aws sso login --profile <profile>.

API

All endpoints accept profile, start, end, and (where relevant) linkedAccount as query parameters. Responses are cached for 5 minutes per parameter set.

Endpoint Purpose
GET /api/config Default profile and discovered profile list
GET /api/accounts Linked accounts visible to the profile in the time range
GET /api/summary Gross, net, credits, and amortized totals
GET /api/daily Daily cost grouped by service
GET /api/by-dimension Generic grouping by SERVICE / LINKED_ACCOUNT / REGION / etc.
GET /api/sp-coverage Savings Plans coverage by service
GET /api/sp-utilization Savings Plans utilization

Project layout

server.js      Express server + Cost Explorer client
public/        Static frontend (index.html, app.js, styles.css)

About

Local instrument for measuring the height of your AWS cloud bill

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages