System metrics
Overview
The System > Metrics tab embeds a dashboard from your observability platform inside Posit Connect. Connect exports metrics via OpenTelemetry, and the tab renders a dashboard URL you provide in an iframe.
After you configure a dashboard URL, the tab displays metrics such as CPU utilization, memory usage, and job queue depth. Without a configured URL, the tab shows a setup prompt linking to this guide and the getting started with OpenTelemetry admin guide.
Prerequisites
Before you set Metrics.DashboardURL:
Enable OpenTelemetry in your Connect configuration:
/etc/rstudio-connect/rstudio-connect.gcfg
[OpenTelemetry] Enabled = trueSet up an observability platform such as Grafana or Datadog that can receive OpenTelemetry signals and display dashboards.
Configure an OpenTelemetry Protocol (OTLP) endpoint to export signals from Connect to your platform:
/etc/rstudio-connect/rstudio-connect.gcfg
[OTLPEndpoint "mybackend"] Endpoint = http://<host>:4318
For setup instructions, see the getting started with OpenTelemetry admin guide.
Configuring the Metrics tab
To embed a dashboard in the Metrics tab, set the Metrics.DashboardURL configuration option in your rstudio-connect.gcfg file:
/etc/rstudio-connect/rstudio-connect.gcfg
[Metrics]
DashboardURL = http://grafana:3000/d/DASHBOARD_UID/?kiosk&theme=lightUse a URL in your dashboard’s embedded display mode. Most platforms call this “kiosk” or “TV” mode. For example:
- Grafana: append
?kioskor?kiosk&theme=lightto the dashboard URL. - Datadog: use a shared dashboard URL with the embed-friendly layout.
After setting this option, restart Connect.
Starter dashboards
Connect provides starter dashboards for health, performance, job queues, content operations, license capacity, and request rejections:
- Grafana: import the Grafana starter dashboard via Dashboards > New > Import in Grafana.
- Datadog: import the Datadog starter dashboard via Dashboards > New Dashboard > Import in Datadog.
These dashboards use the metrics documented in the OpenTelemetry operational guide. Customize them for your environment.
After importing a starter dashboard, copy its URL in kiosk or embed mode and set it as Metrics.DashboardURL.
Choosing an observability platform
If you do not already have an observability platform, choose one of these:
| Platform | Notes |
|---|---|
| Grafana + Prometheus | Open source. Prometheus scrapes metrics from the Connect /metrics endpoint or receives them via OTLP. Grafana visualizes the data. |
| Grafana Cloud | Managed Grafana with built-in Prometheus-compatible storage. Requires only an OpenTelemetry Collector or Grafana Alloy agent, with no other local infrastructure. |
| Datadog | Commercial application performance monitoring (APM) platform with native OTLP ingestion. Requires the Datadog Agent running on the Connect host. |
Connect supports native OpenTelemetry export and Prometheus scraping. Use either or both. See Prometheus and OpenTelemetry for details on running them side by side.
Troubleshooting
The Metrics tab shows the setup prompt instead of my dashboard
- Verify that
Metrics.DashboardURLis set in your configuration file. - Confirm the URL begins with
http://orhttps://. - Restart Connect after making configuration changes.
The dashboard frame is blank or shows an error
- Check that the dashboard URL is accessible from the browser (not just the server).
- Verify your dashboard allows iframe embedding (some platforms restrict this by default).
- For Grafana, ensure
allow_embedding = trueis set in your Grafana configuration under[security].