risingwavelabs/risingwave · warning · DashboardError
Prometheus endpoint is not set
Error message
Prometheus endpoint is not set
What it means
The dashboard's Prometheus cluster-metrics handler (`list_prometheus_cluster`) needs the Prometheus endpoint configured on the meta service. If it is None, CPU/memory metric queries cannot be built, so the endpoint returns 'Prometheus endpoint is not set'.
Solutions
- Configure the Prometheus endpoint via the meta node's Prometheus flags or config, then restart the meta node.
- Ensure Prometheus is actually scraping RisingWave's metrics port so the endpoint returns useful data.
- Disable or avoid the metrics dashboard panels that depend on this endpoint if Prometheus is intentionally absent.
Example fix
// before (risedev profile without prometheus) ./risedev d // after ./risedev d ci-extra # or a profile including the prometheus component
Defensive patterns
Strategy: fallback
Validate before calling
// Only enable cluster metrics panels when the meta node was started with a Prometheus endpoint
if (!metaArgs.prometheusHost) console.warn('list_prometheus_cluster unavailable without a Prometheus endpoint'); Type guard
function prometheusConfigured(srvConfig) { return srvConfig.prometheusEndpoint != null; } Try / catch
try { const metrics = await fetchClusterMetrics(); } catch (e) {
if (String(e).includes('Prometheus endpoint is not set')) {
// render an empty/no-data state instead of retrying
}
} Prevention
- Use risedev/Helm profiles that include Prometheus when using the metrics dashboard.
- Document the Prometheus flags requirement next to the dashboard URL in internal runbooks.
- Validate the meta config at deploy time so missing Prometheus is caught before serving traffic.
When it happens
Trigger: Requesting the dashboard cluster metrics endpoint (CPU/memory graphs) when the meta node runs without a Prometheus endpoint configured.
Common situations: Dev environments without the Prometheus component; Helm/risedev profiles that omit Prometheus; dashboard opened against a bare `risingwave meta-node` started with default flags.
Understand the failure class
Background: "is required", "must be set", "missing required field": configuration validation errors across open-source libraries — this error's family across 36 libraries.
Related errors
- Prometheus endpoint is not set
- Failed to get streaming stats from worker
- should have meta client
- {0}
- adlsgen2.authority_host does not parse as a URL
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/91451c3f93c14625.
Report an issue: GitHub.
Appendix: source
Thrown at src/meta/src/dashboard/prometheus.rs:140
.as_secs() as i64,
60.0,
)
.get()
.await
.map_err(err)?;
let memory_data = result
.data()
.as_matrix()
.unwrap()
.iter()
.map(PrometheusVector::from)
.collect();
Ok(Json(ClusterMetrics {
cpu_data,
memory_data,
}))
} else {
Err(err(anyhow!("Prometheus endpoint is not set")))
}
}
View on GitHub (pinned to 6469eb736d)