If you run RisingWave in a Kubernetes cluster, you can monitor its performance, including the usage of resources like CPU, memory, and network, and the status of different nodes.
Install the monitoring stack
To monitor a RisingWave cluster, you can use the monitoring stack in the
RisingWave-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.
git clone https://github.com/risingwavelabs/risingwave-operator.git
Run the script to install the monitoring stack. It will create the
monitoring namespace and deploy all monitoring services in the namespace.
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:
kubectl get servicemonitors -A -l risingwave/name
The expected output is like this:
NAMESPACE NAME AGE
monitoring risingwave-service-monitor 119m
- Forward the web port of Grafana to localhost .
kubectl port-forward -n monitoring svc/prometheus-grafana 3000:http-web
The command above allows you to access Grafana from the local machine only. If you need to access Grafana from a different host, append
--address 0.0.0.0 to the command to allow Grafana to accept requests from external hosts. The complete command is:
kubectl port-forward -n monitoring svc/prometheus-grafana 3000:http-web --address 0.0.0.0
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:
From Dashboards, select RisingWave -> RisingWave Dashboard. You can edit metrics in the dashboard and add new metrics.