You are not reading the latest stable version of this documentation. If you want up-to-date information, please have a look at v1.6.

Setting up Monitoring

Both Prometheus, Grafana and AlertManager were configured with specific rules for Scylla Monitoring. All of them will be available under the scylla-monitoring namespace. Customization can be done in examples/common/monitoring/values.yaml

  1. Add monitoring stack charts repository

    helm repo add prometheus-community
    helm repo update
  2. Install monitoring stack

    helm install monitoring prometheus-community/kube-prometheus-stack --values examples/common/monitoring/values.yaml --create-namespace --namespace scylla-monitoring

    If you want to tweak the prometheus properties, for example it’s assigned memory, you can override it by adding a command line argument like this: --set prometheus.resources.limits.memory=4Gi or edit values file located at examples/common/monitoring/values.yaml.

  3. Install Service Monitors

    ServiceMonitors are used by the Prometheus to discover applications exposing metrics.

    # Scylla Service Monitor
    kubectl apply -f examples/common/monitoring/scylla-service-monitor.yaml
    # Scylla Manager Service Monitor
    kubectl apply -f examples/common/monitoring/scylla-manager-service-monitor.yaml
  4. Download dashboards

    First you need to download the dashboards to make them available in Grafana. You can do this by running the following command:

    tar -xvf scylla-monitoring-3.6.0.tar.gz
  5. Install dashboards

    Scylla Monitoring comes with pre generated dashboards suitable for multiple Scylla versions. In this example we will use dashboards for Scylla 4.3, and Scylla Manager 2.2. Amend directory path to generated dashboards to version suitable for your deployment.

    Now the dashboards can be created like this:

    # Scylla dashboards
    kubectl -n scylla-monitoring create configmap scylla-dashboards --from-file=scylla-monitoring-scylla-monitoring-3.6.0/grafana/build/ver_4.3
    kubectl -n scylla-monitoring patch configmap scylla-dashboards  -p '{"metadata":{"labels":{"grafana_dashboard": "1"}}}'
    # Scylla Manager dashboards
    kubectl -n scylla-monitoring create configmap scylla-manager-dashboards --from-file=scylla-monitoring-scylla-monitoring-3.6.0/grafana/build/manager_2.2
    kubectl -n scylla-monitoring patch configmap scylla-manager-dashboards  -p '{"metadata":{"labels":{"grafana_dashboard": "1"}}}'

    Once Grafana sidecar picks up these dashboards they should be accessible in Grafana.

To access Grafana locally, run: kubectl -n scylla-monitoring port-forward deployment.apps/monitoring-grafana 3000

You can find it on and login with the credentials admin:admin.