> For the complete documentation index, see [llms.txt](https://docs.rumi.systems/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rumi.systems/rumi-management/guides/monitor/setting-up-dashboards.md).

# Setting Up Dashboards

This guide covers connecting Rumi Monitor to InfluxDB and loading the canned dashboards.

## Connecting to InfluxDB

Rumi Monitor dashboards read telemetry data from InfluxDB. To set up the connection:

### Via Rumi Admin (Automatic)

When using Rumi Admin, the InfluxDB data source is created automatically during startup. The Admin reads the InfluxDB connection details from the Agent's `GET /datasources` endpoint and configures Grafana accordingly.

### Via Standalone Grafana (Manual)

To configure the data source manually in Grafana:

1. Navigate to **Configuration** > **Data Sources** > **Add data source**.
2. Select **InfluxDB**.
3. Configure the connection:
   * **URL** — InfluxDB HTTP endpoint (e.g., `http://localhost:8086`).
   * **Database** — The database where the Agent writes heartbeat data.
   * **Retention policy** — Set to `rumi_heartbeat_rp` (or leave blank to use the default).
4. Click **Save & Test** to verify the connection.

## Loading Canned Dashboards

The canned dashboards use template variables for dynamic filtering. After loading, the dashboards automatically populate dropdown filters based on the data available in InfluxDB.

### Template Variables

The dashboards define template variables that query InfluxDB for available values:

| Variable      | Query                                                                             | Description                        |
| ------------- | --------------------------------------------------------------------------------- | ---------------------------------- |
| `system_name` | `SHOW TAG VALUES FROM "rumi_heartbeat_rp"."application" WITH KEY = "system_name"` | Available systems                  |
| `vm_name`     | `SHOW TAG VALUES ... WHERE "system_name" =~ /^$system_name$/`                     | Containers in selected system      |
| `app_name`    | `SHOW TAG VALUES ... WHERE "vm_name" =~ /^$vm_name$/`                             | Applications in selected container |
| `host_name`   | `SHOW TAG VALUES ... WITH KEY = "host_name"`                                      | Available hosts (host dashboard)   |

These variables create cascading dropdown filters at the top of each dashboard.

## Verifying Dashboard Data

After setting up dashboards, verify that data is flowing:

1. Open a dashboard (e.g., Container Stats).
2. Select a system from the system dropdown.
3. Select a container from the container dropdown.
4. Verify that panels display data (CPU, memory, etc.).

If panels show "No data":

* Verify that the Agent is running and connected to InfluxDB.
* Verify that containers are running and emitting heartbeats.
* Check the InfluxDB data source connection in Grafana.
* Verify the retention policy matches (`rumi_heartbeat_rp`).
