RL-Insight Monitor needs three Linux services before online monitoring can run:
| Service | Role | Required version | Installer version |
|---|---|---|---|
| Prometheus | stores and queries training metrics | >= 2.30.0 |
2.54.1 |
| Tempo | stores and queries RL state traces | >= 2.0.0 |
2.6.1 |
| Grafana | shows dashboards and trace views | >= 13.0.0 |
13.0.0 |
Choose one of the three approaches below depending on your network environment.
Automatic and manual installation are Linux-only.
| OS family | CPU architectures |
|---|---|
| Ubuntu / Debian | amd64 / x86_64, arm64 / aarch64 |
| CentOS / RHEL / Rocky / Alma | amd64 / x86_64, arm64 / aarch64 |
Windows and macOS can run the training-side Python APIs, but RL-Insight does not manage local Prometheus, Tempo, or Grafana services there yet.
Suitable for users whose nodes can reach GitHub release assets and dl.grafana.com directly. The installer downloads and manages everything.
rl-insight server installThe command downloads Prometheus, Tempo, and Grafana into ~/.rl-insight/services, then prints a dependency summary.
Then start the stack:
rl-insight server startUseful variants:
# Reinstall even if binaries already exist.
rl-insight server install --force
# Use a different managed install directory.
rl-insight server install --install-dir /opt/rl-insight/services
# Start in background and stop later.
rl-insight server start --detach
rl-insight server stopSuitable for nodes that cannot access official sources or have no internet connection at all. Pre-download the archives on another machine and provide them locally.
Run rl-insight server install on the target node. Even if it cannot download, it prints the planned URLs before attempting:
Planned downloads:
prometheus 2.54.1 https://github.com/prometheus/prometheus/releases/download/v2.54.1/prometheus-2.54.1.linux-amd64.tar.gz
tempo 2.6.1 https://github.com/grafana/tempo/releases/download/v2.6.1/tempo_2.6.1_linux_amd64.tar.gz
grafana 13.0.0 https://dl.grafana.com/oss/release/grafana-13.0.0.linux-amd64.tar.gz
Use a machine with network access to download the files listed above. The filenames must match exactly.
Place the three .tar.gz files in a single directory and run:
rl-insight server install --local-archive /path/to/archivesRL-Insight checks the local directory for each archive by exact filename. Archives that match are copied and used directly; any missing archive falls back to the configured download URL. The version is verified implicitly — the archive filename must include the version configured in install_version.
Suitable for air-gapped environments, centralized operations with unified deployment tooling, or users who need full control over binary placement and custom deployment requirements.
RL-Insight searches for binaries in this order: manifest.json → ~/.rl-insight/services → system PATH → system fixed paths. If your binaries are already on PATH or in a standard location, simply run rl-insight server start. To point at an arbitrary path, use binary_path in config:
prometheus:
binary_path: /opt/custom/prometheus
tempo:
binary_path: /opt/custom/tempo
grafana:
binary_path: /opt/custom/grafana-serverFollow Approach 2 to identify and download the three .tar.gz files.
The default managed directory is ~/.rl-insight/services. All three services extract the same way: tar -xzf into a temp directory, then copy the output into place.
PROMETHEUS_ARCHIVE=prometheus-2.54.1.linux-arm64.tar.gz
TEMPO_ARCHIVE=tempo_2.6.1_linux_arm64.tar.gz
GRAFANA_ARCHIVE=grafana-13.0.0.linux-arm64.tar.gz
# Prometheus — extracted directory name matches the archive (minus .tar.gz)
PROMETHEUS_DIR="${PROMETHEUS_ARCHIVE%.tar.gz}"
TMP_DIR="$(mktemp -d)"
tar -xzf "$PROMETHEUS_ARCHIVE" -C "$TMP_DIR"
mkdir -p ~/.rl-insight/services/prometheus
cp "$TMP_DIR/$PROMETHEUS_DIR/prometheus" ~/.rl-insight/services/prometheus/prometheus
chmod +x ~/.rl-insight/services/prometheus/prometheus
# Tempo — extracts a flat binary, no directory
TMP_DIR="$(mktemp -d)"
tar -xzf "$TEMPO_ARCHIVE" -C "$TMP_DIR"
mkdir -p ~/.rl-insight/services/tempo
cp "$TMP_DIR/tempo" ~/.rl-insight/services/tempo/tempo
chmod +x ~/.rl-insight/services/tempo/tempo
# Grafana — directory name drops the arch suffix; read it from the tarball
GRAFANA_DIR=$(tar -tzf "$GRAFANA_ARCHIVE" | head -1 | cut -d/ -f1)
TMP_DIR="$(mktemp -d)"
tar -xzf "$GRAFANA_ARCHIVE" -C "$TMP_DIR"
mkdir -p ~/.rl-insight/services/grafana
cp -a "$TMP_DIR/$GRAFANA_DIR" ~/.rl-insight/services/grafana/$GRAFANA_DIR~/.rl-insight/services/prometheus/prometheus --version
~/.rl-insight/services/tempo/tempo --version
~/.rl-insight/services/grafana/$GRAFANA_DIR/bin/grafana --version
rl-insight server startRL-Insight keeps server data on disk. By default, data is stored under ~/.rl-insight/data:
| Service | Persistent data |
|---|---|
| Prometheus | ~/.rl-insight/data/prometheus TSDB blocks |
| Tempo | ~/.rl-insight/data/tempo/traces and ~/.rl-insight/data/tempo/wal |
| Grafana | ~/.rl-insight/data/grafana data, logs, and plugins |
Ctrl+C and rl-insight server stop stop processes only. They do not delete collected metrics, traces, or dashboard state.
Prometheus and Tempo retain data for 30d by default:
prometheus:
retention_time: 30d
tempo:
retention_time: 30dSet a different persistent directory in server YAML:
server:
data_dir: /path/to/rl-insight/dataContinue with Quick Start to start the stack, instrument training code, and open Grafana.