Install the monitoring stack
To monitor a RisingWave cluster, you can use the monitoring stack in theRisingWave-Operator
repository. The stack includes Prometheus for collecting data, Grafana for visualization and alerting, and other necessary resources.
Clone or download the RisingWave-Operator
repository to your environment.
monitoring
namespace and deploy all monitoring services in the namespace.
Start monitoring
The RisingWave operator is now integrated with the Prometheus operator, which creates a service monitor for RisingWave and ensures that data is collected automatically.- Check if Prometheus is collecting data from RisingWave:
- Forward the web port of Grafana to localhost.
--address 0.0.0.0
to the command to allow Grafana to accept requests from external hosts. The complete command is:
- Go to http://localhost:3000 if you access Grafana from a local machine, or
http://<client_address>:3000
if you access Grafana from a different host, where<client_address>
is the IP address of the machine running the Grafana service. When prompted, enter the default credentials (username:admin
; password:prom-operator
). - From Dashboards, select RisingWave -> RisingWave Dashboard. You can edit metrics in the dashboard and add new metrics.

Generate a Grafana dashboard for multiple RisingWave clusters
This section explains how to generate a Grafana dashboard for monitoring multiple RisingWave clusters deployed within a Kubernetes environment. These steps only generate the dashboard’s JSON model and can be performed on any machine with the necessary tools.- Clone the risingwave repository:
- Follow the instructions in the RisingWave Grafana directory README to configure the required toolchain.
- Generate the Grafana dashboard JSON model. Execute the following command to create the Grafana dashboard JSON model, enabling multi-cluster support:
-
DASHBOARD_NAMESPACE_FILTER_ENABLED=true
: Enables filtering by Kubernetes namespace. -
DASHBOARD_RISINGWAVE_NAME_FILTER_ENABLED=true
: Enables filtering by RisingWave cluster name. -
DASHBOARD_DYNAMIC_SOURCE=true
: Enables dynamic selection of the data source in Grafana. -
DASHBOARD_UID=risingwave_dashboard
: Sets the unique identifier (UID) for the dashboard.
- Import the generated JSON models (with the extension
.gen.json
) into your Grafana instance.
Troubleshooting
Namespace filter not working
If the namespace filter in your Grafana dashboard is not functioning correctly, the issue may stem from the absence of therisingwave_name
label in your collected metrics. To resolve this, you can use the metricRelabelings and relabelings fields in the Prometheus Operator endpoint spec to append this label to your metrics.