Creating custom Grafana dashboards

Guide explaining how to manage custom Grafana dashboards in the Observability Platform.

You can find in your installations Grafana a set of out-of-the-box dashboards provided by Giant Swarm. However these default dashboards might not satisfy your specific observability requirements or your apps or clusters unique context. This is why the Observability Platform allows you to create your own dashboards in self-service.

Creating your own dashboard

You can create a dashboard either with our recommended GitOps approach, or through the Grafana UI. Following you can learn more about both ways.

GitOps

You can create a configmap resource in the management cluster in any namespace you want containing the dashboard. For example:

apiVersion: v1
data:
  my-dashboard.json: |-
    { ... my dashboard in JSON format }    
kind: ConfigMap
metadata:
  annotations:
    ## Define the organization in Grafana where the dashboard will be added
    observability.giantswarm.io/organization: Customer
  labels:
    ## Tell Grafana to load this configmap as a dashboard
    app.giantswarm.io/kind: dashboard
  name: my-grafana-dashboard
  namespace: my-namespace

warning: the observability.giantswarm.io/organization annotation’s value must be equal to an existing GrafanaOrganization CR’s display name. For more information on Grafana organizations, check our documentation on multi-tenancy. Also, the dashboard’s JSON must contain a unique UID in a given organization otherwise it won’t be provisioned.

This is the preferred approach as it allows shared dashboards across all installations (if you have multiple ones) and comes with a linting job in the CI pipeline to ensure the dashboard is valid.

Grafana UI

You can also create your dashboards directly through the Grafana UI. You can learn more about how to create a dashboard through Grafana in the official documentation.

The Observability Platforms Grafana stores its data in a PostgreSQL database which creates backups hourly so we can recover the state of Grafana in case of a disaster.


This part of our documentation refers to our vintage product. The content may be not valid anymore for our current product. Please check our new documentation hub for the latest state of our docs.