{"record":{"id":"91451c3f93c14625","repo":"risingwavelabs/risingwave","slug":"prometheus-endpoint-is-not-set-91451c","errorCode":null,"errorMessage":"Prometheus endpoint is not set","messagePattern":"Prometheus endpoint is not set","errorType":"http","errorClass":"DashboardError","httpStatus":500,"severity":"warning","filePath":"src/meta/src/dashboard/prometheus.rs","lineNumber":140,"sourceCode":"                    .as_secs() as i64,\n                60.0,\n            )\n            .get()\n            .await\n            .map_err(err)?;\n        let memory_data = result\n            .data()\n            .as_matrix()\n            .unwrap()\n            .iter()\n            .map(PrometheusVector::from)\n            .collect();\n        Ok(Json(ClusterMetrics {\n            cpu_data,\n            memory_data,\n        }))\n    } else {\n        Err(err(anyhow!(\"Prometheus endpoint is not set\")))\n    }\n}\n","sourceCodeStart":122,"sourceCodeEnd":143,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/meta/src/dashboard/prometheus.rs#L122-L143","documentation":"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'.","triggerScenarios":"Requesting the dashboard cluster metrics endpoint (CPU/memory graphs) when the meta node runs without a Prometheus endpoint configured.","commonSituations":"Dev environments without the Prometheus component; Helm/risedev profiles that omit Prometheus; dashboard opened against a bare `risingwave meta-node` started with default flags.","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."],"exampleFix":"// before (risedev profile without prometheus)\n./risedev d\n// after\n./risedev d ci-extra  # or a profile including the prometheus component","handlingStrategy":"fallback","validationCode":"// Only enable cluster metrics panels when the meta node was started with a Prometheus endpoint\nif (!metaArgs.prometheusHost) console.warn('list_prometheus_cluster unavailable without a Prometheus endpoint');","typeGuard":"function prometheusConfigured(srvConfig) { return srvConfig.prometheusEndpoint != null; }","tryCatchPattern":"try { const metrics = await fetchClusterMetrics(); } catch (e) {\n  if (String(e).includes('Prometheus endpoint is not set')) {\n    // render an empty/no-data state instead of retrying\n  }\n}","preventionTips":["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."],"tags":["prometheus","configuration","dashboard","risingwave"],"backgroundTag":"missing-required-config-field","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}