> ## Documentation Index
> Fetch the complete documentation index at: https://docs.niro.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Cost Monitoring

> Track monthly Kubernetes cost by cluster, namespace, and workload using your node pricing and observed resource usage.

## Overview

The **Cost** page shows how your Kubernetes spending is distributed across clusters, namespaces, and individual workloads. It splits cost into what's requested, what's actually used, and what's sitting idle — so you can see at a glance where money is being spent and where it's being wasted.

<Note>
  Cost monitoring is available on <Badge>Pro</Badge> and above.
</Note>

## How cost is calculated

Niro calculates cost from the resource requests each workload declares (CPU and memory), not from billing APIs. This gives you a consistent view of cost allocation that maps directly to scheduling decisions.

For each node, Niro divides the node's hourly rate proportionally across the workloads scheduled on it, based on their resource requests relative to the node's total capacity. Idle capacity (unscheduled) is tracked separately.

**Three cost components:**

| Component         | What it means                                                                   |
| ----------------- | ------------------------------------------------------------------------------- |
| **Requested**     | The total monthly cost of CPU and memory your pods have reserved                |
| **Used**          | The portion of requested cost backed by actual observed usage                   |
| **Idle / wasted** | Requested cost with no corresponding usage — capacity reserved but not consumed |

The gap between requested and used is the most actionable signal — it points to workloads you can [right-size](/features/rightsizing).

## Node pricing

Niro needs to know the hourly rate for your nodes to calculate cost. You can configure this in one of two ways:

**Cloud catalog pricing (AWS, GCP, Azure)** — if your cluster reports node instance types, Niro can look up prices from the cloud provider's public pricing catalog automatically. No configuration needed for the base rate.

**Manual rates** — for on-premises, bare-metal, or edge clusters where cloud catalog pricing doesn't apply, enter a custom hourly rate per node or node group in the cluster **Settings** → **Cost**.

To set or override node pricing, open the cluster detail page → **Optimize** → **Cost** → **Node pricing**.

## What you can see

### Fleet-level view (`/cost`)

The top-level cost page shows:

* **Total monthly cost** across all connected clusters
* **Cost breakdown** — requested vs. used vs. idle, as a proportion of total
* **By cluster** — each cluster's share of total cost
* **By namespace** — the most expensive namespaces across the fleet

### Cluster-level view

Open a cluster → **Optimize** → **Cost** for a drill-down into that cluster:

* Filter by namespace or workload
* See the per-workload cost table with requested vs. used side by side

## Using cost data

The most common workflow:

1. Find clusters or namespaces with high idle cost
2. Drill into the namespace to find which workloads are over-requested
3. Use [Rightsizing](/features/rightsizing) to see CPU/memory recommendations for those workloads
4. Apply recommendations via PR to reduce wasted cost

## Related

<CardGroup cols={2}>
  <Card title="Rightsizing" icon="chart-bar" href="/features/rightsizing">
    CPU and memory recommendations based on actual usage to reduce wasted cost.
  </Card>

  <Card title="Plans" icon="credit-card" href="/reference/plans">
    Cost monitoring is available on Pro and Enterprise plans.
  </Card>

  <Card title="Fleet monitoring" icon="gauge" href="/guides/fleet-monitoring">
    Overall cluster and workload health.
  </Card>

  <Card title="Autoscaling insights" icon="arrows-up-down" href="/features/autoscaling">
    Node autoscaler visibility alongside cost data.
  </Card>
</CardGroup>
