Rok Monitoring

Learning how to monitor Rok is of vital importance when running Arrikto EKF in production. Monitoring your Rok cluster lets you validate that EKF performs as expected, while detecting and troubleshooting issues in a timely manner.

Monitoring the performance and status of Rok is key to keep your EKF cluster functional. The Rok Monitoring Stack helps you inspect the data storage and management layer of your EKF cluster by collecting and visualizing Prometheus metrics directly exposed by Rok. This allows you to maintain high levels of performance and availability.

This guide also contains commands that you can run to access the Rok Grafana dashboard. Here is what you will need to follow them:

Important

Before proceeding, ensure that you have been granted proper rights to access the Rok Monitoring Stack UI. Currently, access to the Rok Monitoring Stack is allowed only to admin users.

Introduction

Rok uses Prometheus for metrics reporting at the /metrics HTTP endpoint. The metrics that Rok exposes can be used for real-time monitoring, performance evaluation and debugging. Rok does not persist the metrics it exposes, that is, metrics are reset upon restarts.

To persist Rok metrics on Kubernetes, the Rok Monitoring Stack creates a ServiceMonitor custom resource in the namespace where Rok is deployed to configure Rok Prometheus to periodically pull metrics from Rok and save them in its time-series database.

Note

By default, Rok Prometheus retains metrics for 3 days.

Metrics

Rok exposes aggregated, application-level metrics through its API, under the rok prefix. Rok Prometheus collects and stores all metrics that Rok exposes, while Rok Grafana retrieves and visualizes these metrics to monitor the following areas:

  • cluster information (software version, configuration version, license)
  • accounts, buckets, objects, versions
  • API requests/responses

Note

We are gradually extending the list of Prometheus metrics that Rok exposes.

In the table below you can view which Rok metrics are included in the Rok Grafana dashboard:

Name Description Type
rok_info Software info (version, cluster config) Gauge
rok_accounts Number of accounts Gauge
rok_buckets Number of buckets, across all accounts Gauge
rok_objects Number of objects, across all accounts and buckets Gauge
rok_versions Number of versions, across all accounts, buckets and objects Gauge
rok_objects_bytes Size of objects, across all accounts and buckets Gauge
rok_versions_bytes Size of versions, across all accounts, buckets and objects Gauge
rok_http_requests_total Number of HTTP requests Counter
rok_http_responses_total Number of HTTP responses Counter
rok_http_request_duration_seconds Request duration Histogram
rok_http_request_body_size Request body size Histogram
rok_http_response_body_size Response body size Histogram

View Grafana Dashboard

Note

The Rok Monitoring Stack places Grafana dashboards for individual EKF components under the EKF folder.

  1. Visit the Kubeflow central dashboard with your browser at

    https://<FQDN>

    Replace <FQDN> with your the value of your domain. For example:

    https://arrikto-cluster.apps.example.com
  2. If prompted, log in using your credentials:

    ../../_images/kubeflow-login.png
  3. Select Metrics from the left side bar to navigate to Grafana:

    ../../_images/kubeflow-dashboard-metrics.png
  4. In the left side bar, hover your cursor over the Dashboards entry and then click Manage to navigate to the Grafana Dashboards page:

    ../../_images/grafana-dashboard-manage.png

    Note

    In the Grafana Dashboards page you can search, view, and select dashboards.

  5. Go to the EKF folder and select the Rok dashboard:

    ../../_images/rok-grafana-dashboard-select.png
  6. View visualizations of collected Rok metrics:

    ../../_images/rok-grafana-dashboard.png

Summary

In this guide you gained insight on how the Rok Monitoring Stack integrates with Rok and which metrics it collects and visualizes.

What’s Next

To learn more about EKF and its components, check out the rest of our user guides.