Monitoring

What is Grafana, and How to Deploy It in an Enterprise Data Stack?

Last updated on
May 11, 2026

What is Grafana?

Grafana is an open-source monitoring and visualization platform that allows users to easily create and share dashboards, alerts, and panels for various data sources. It supports a wide range of data sources, including Prometheus, Graphite, Elasticsearch, and InfluxDB, and can be used for monitoring and analyzing various metrics such as system performance, application metrics, and log data.

Watch Grafana in action

No items found.

Why is Grafana better on Shakudo?

Deployment Runbook

<aside>📌 Command-first runbook for customer deployment calls. Replace placeholders before running. For production environments, run changes through the customer-approved change process.

</aside>

Step 1 — Confirm cluster access

Run:

export KUBECONFIG=/path/to/customer-kubeconfig
export KUBE_CONTEXT=<customer-context>

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" config current-context
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get nodes
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get namespace monitoring || kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create namespace monitoring

Step 2 — Clone the Shakudo chart

Run:

git clone --depth=1 --branch <release-branch> <https://github.com/devsentient/monorepo.git> /tmp/monorepo
cd /tmp/monorepo/stack-components/grafana/helm
helm dependency update .

Step 3 — Create required secrets

Run:

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" create secret generic grafana-admin -n monitoring --from-literal=admin-user='admin' --from-literal=admin-password='<strong-password>'

Step 4 — Prepare values.yaml

Run:

cat > /tmp/grafana-values.yaml <<'EOF_VALUES'
grafana:
 admin:
   existingSecret: grafana-admin
 persistence:
   enabled: true
   size: 10Gi
 datasources:
   datasources.yaml:
     apiVersion: 1
     datasources:
       - name: Prometheus
         type: prometheus
         access: proxy
         url: <http://prometheus-server.monitoring.svc.cluster.local>
         isDefault: true
 dashboardProviders:
   dashboardproviders.yaml:
     apiVersion: 1
     providers:
       - name: default
         folder: Shakudo
         type: file
         options:
           path: /var/lib/grafana/dashboards/default
ingress:
 enabled: true
 host: grafana.<customer-domain>
EOF_VALUES

Step 5 — Deploy or upgrade

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" upgrade --install grafana /tmp/monorepo/stack-components/grafana/helm \\
 --namespace monitoring \\
 --create-namespace \\
 --values /tmp/grafana-values.yaml \\
 --timeout 15m \\
 --wait

Step 6 — Validate Kubernetes resources

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" status grafana -n monitoring
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get pods,svc,pvc,ingress,virtualservice -n monitoring
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" get events -n monitoring --sort-by=.lastTimestamp | tail -n 60
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" logs -n monitoring -l app.kubernetes.io/instance=grafana --tail=100

Step 7 — Smoke test the service

Run:

kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" port-forward -n monitoring svc/grafana 3000:80

# In another terminal:
curl <http://localhost:3000/api/health>

Rollback

Run:

helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" history grafana -n monitoring
helm --kubeconfig "$KUBECONFIG" --kube-context "$KUBE_CONTEXT" rollback grafana <REVISION> -n monitoring
kubectl --kubeconfig "$KUBECONFIG" --context "$KUBE_CONTEXT" rollout status deployment/grafana -n monitoring || true

Why is better on Shakudo?

Core Shakudo Features

Own Your AI

Keep data sovereign, protect IP, and avoid vendor lock-in with infra-agnostic deployments.

Faster Time-to-Value

Pre-built templates and automated DevOps accelerate time-to-value.
integrate

Flexible with Experts

Operating system and dedicated support ensure seamless adoption of the latest and greatest tools.
See Shakudo in Action
Neal Gilmore
Get Started >