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

# Building dashboards in Grafana

## Connect Grafana to Prometheus

Grafana must have Prometheus configured as a data source before you can build dashboards.

1. Go to **Connections → Data Sources** and check whether Prometheus is already listed. If it is, confirm it shows "Data source is working."
2. If not, click **Add data source**, select **Prometheus**, enter your Prometheus endpoint URL, and click **Save & test**.

***

## Example dashboards

### Detect thermal issues before they cause downtime

Build a dashboard to catch overheating RDUs and hosts before thermal throttling or shutdown occurs.

| Panel                                | Query                                                                | Alert threshold                       |
| :----------------------------------- | :------------------------------------------------------------------- | :------------------------------------ |
| Host inlet temperature (time series) | `ipmi_temperature_celsius{name=~".*[Ii]nlet.*&#124;.*[Aa]mbient.*"}` | Warn at 35 °C, critical at 40 °C      |
| XRDU core temperature (time series)  | `xrdu_bmc_temp_celsisus{sensor=~".*CORETEMP.*"}`                     | Warn at 80 °C, critical at 90 °C      |
| Fan speeds (time series)             | `ipmi_fan_speed_rpm`                                                 | Alert if any fan drops below 1000 RPM |
| Cooling fault state (stat)           | `ipmi_chassis_cooling_fault_state`                                   | `0` = fault (red), `1` = OK (green)   |

**Recommended variables:** `rack`, `node` – lets operators drill from cluster-wide heat map down to a specific host.

### Monitor RDU utilization across the cluster

Build a dashboard to see which RDUs are active, idle, or fully loaded – useful for capacity planning and detecting stalled workloads.

| Panel                                           | Query                                          | Notes                                     |
| :---------------------------------------------- | :--------------------------------------------- | :---------------------------------------- |
| Tile execution % (time series, grouped by node) | `sambanova_tile_exec_percent`                  | High value = RDU under load               |
| Tile idle % (time series)                       | `sambanova_tile_idle_percent`                  | Sustained 100% = unused capacity          |
| Tile frequency (time series)                    | `sambanova_tile_frequency_mhz`                 | Drop in frequency may indicate throttling |
| Platform fault count (stat)                     | `increase(sambanova_platform_fault_count[1h])` | Alert on any non-zero value               |
| Platform error count (stat)                     | `increase(sambanova_platform_error_count[1h])` | Alert on any non-zero value               |

**Recommended variables:** `rack`, `node`, `xrdu` – lets operators isolate a single XRDU's utilization.

***

## Add topology drill-down with variables

To make every panel filterable by rack, node, or XRDU, add Grafana dashboard variables.

Open: **Dashboard settings → Variables → Add variable**

| Variable | Type  | Query                                      | Purpose        |
| :------- | :---- | :----------------------------------------- | :------------- |
| `rack`   | Query | `label_values(xrdu_bmc_power_watts, rack)` | Filter by rack |
| `node`   | Query | `label_values(xrdu_bmc_power_watts, node)` | Filter by node |
| `xrdu`   | Query | `label_values(xrdu_bmc_power_watts, xrdu)` | Filter by XRDU |

<Note>
  The `node` label on XRDU metrics comes from the `node:` field in your `values.yaml` target entries (Manual discovery mode). If you used Auto Discovery, XRDU metrics do not carry a `node` label and the `$node` variable dropdown will be empty. Verify available labels with `label_values(xrdu_bmc_power_watts)` in the Grafana Explore view.
</Note>

Then update your panel queries to use the variables:

```promql theme={null}
xrdu_bmc_temp_celsisus{rack="$rack", node="$node"}
xrdu_bmc_power_watts{rack="$rack", sensor=~"ps.*input.*"}
```

***

## What's next

<Card title="Monitoring metrics reference" icon="table" href="./monitoring-metrics">
  Full catalog of all Prometheus metrics exposed by each exporter
</Card>
