Cloud Experts Documentation

Deploying Grafana on Openshift 4

This content is authored by Red Hat experts, but has not yet been tested on every supported configuration.

OpenShift users want access to a Grafana interface in order to build custom dashboards for their cluster and application workloads. The Grafana that shipped with OpenShift was read-only and has been deprecated in OpenShift 4.11 and removed in OpenShift 4.12 .

Since OpenShift uses Prometheus for both Cluster and User Workload metrics, its fairly straight forward to deploy a Grafana instance using the Grafana Operator and then view those cluster metrics and create custom Dashboards.

Grafana Operator

  1. Create a namespace for the Grafana Operator to be installed in

    oc new-project grafana-operator
  2. Deploy the Grafana Operator

    cat << EOF | oc create -f -
    kind: OperatorGroup
      generateName: grafana-operator-
      namespace: grafana-operator
      - grafana-operator
    kind: Subscription
      generateName: grafana-operator-
      namespace: grafana-operator
      channel: v4
      name: grafana-operator
      installPlanApproval: Automatic
      source: community-operators
      sourceNamespace: openshift-marketplace
  3. Wait for the Operator to be ready

    oc -n grafana-operator rollout status \
      deployment grafana-operator-controller-manager

Deploy Grafana

  1. Add the Managed OpenShift Black Belt helm repo

    helm repo add mobb
  2. Deploy Grafana

    helm upgrade --install -n grafana-operator \
      grafana mobb/grafana-cr --set "basicAuthPassword=myPassword"

Create Prometheus DataSource

  1. Give the Grafana service account the cluster-monitoring-view role

    oc adm policy add-cluster-role-to-user \
      cluster-monitoring-view -z grafana-serviceaccount
  2. Get a bearer token for the grafana service account

    BEARER_TOKEN=$(oc create token grafana-serviceaccount)
  3. Deploy the prometheus data source

    cat << EOF | oc apply -f -
    kind: GrafanaDataSource
      name: prometheus-grafanadatasource
        - access: proxy
          editable: true
          isDefault: true
            httpHeaderName1: 'Authorization'
            timeInterval: 5s
            tlsSkipVerify: true
          name: Prometheus
            httpHeaderValue1: 'Bearer ${BEARER_TOKEN}'
          type: prometheus
          url: 'https://thanos-querier.openshift-monitoring.svc.cluster.local:9091'
      name: prometheus-grafanadatasource.yaml
  4. Deploy a Dashboard

    oc apply -f
  5. Get the URL for Grafana

    oc get route grafana-route -o jsonpath='{"https://"}{}{"\n"}'
  6. Browse to the URL from above, log in via your OCP credentials

  7. Click Dashboards -> Manage -> grafana-operator -> Cluster Metrics

grafana dashboard

Interested in contributing to these docs?

Collaboration drives progress. Help improve our documentation The Red Hat Way.

Red Hat logo LinkedIn YouTube Facebook Twitter



Try, buy & sell


About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Subscribe to our newsletter, Red Hat Shares

Sign up now
© 2023 Red Hat, Inc.