Skip to content

Cost Dashboard / Chargeback

FinOps tab that turns the cluster's resource usage into € / $ - per VM, per tenant, per cluster - so you can hand a number to finance, do internal chargeback, or spot the runaway test-VM somebody forgot to shut down.

Inputs (Settings → Cost & Billing)

  • Currency (EUR, USD, GBP, CHF, …) and locale.
  • Price book: CPU per vCPU/h, RAM per GiB/h, Disk per GiB/month (per storage class), Backup per GiB/month (PBS), Public IP per month, fixed license fees.
  • Tenant tag prefix (e.g. tenant:) - VMs tagged tenant:acme roll up to that tenant.
  • Idle threshold (CPU% over N days) for the rightsizing recommendations.

What you get

Per-VM Cost

Sortable table - VM, tenant, cluster, CPU/RAM/disk/backup contributions, total €/month, trend arrow vs last month.

Top-N Cost Centers

Tenant rollup with stacked bars (CPU/RAM/Disk/Backup/IP), monthly trend chart.

Recommendations

Idle VMs (low CPU + low IO over N days) with potential savings, oversized VMs (vCPU/RAM far above 95-percentile), unattached disks, orphaned snapshots.

Exports

PDF (jsPDF + autoTable, WinAnsi-sanitized) and CSV for finance import. Filter scope is preserved in the export.

Scope

Every user sees costs only for what they may see: a tenant sees its own clusters, and from 1.3 a user limited to pools or single guests sees only the cost rows of those guests in the tenant chargeback.

API

Method Endpoint Description
GET /api/clusters/<id>/costs/summary?days=30 Monthly total + CPU/Mem/Storage breakdown, by-node, top-10
GET /api/clusters/<id>/costs/per-vm?days=30 Full per-VM cost table (sorted by total)
GET /api/tenants/<id>/chargeback?days=30&format=csv Per-tenant chargeback across the tenant's clusters (needs admin.tenants)
GET PUT DELETE /api/cost/rates[/<id>] List / read / update / delete cost rates (PUT/DELETE admin-only; use __default__ for global)

Window is days 1–30 (metrics retention).