Skip to main content

Grafana

Grafana is an open-source platform for monitoring and observability, specializing in data visualization. It allows users to create, explore, and share dashboards with real-time metrics, logs, and traces.

Role in the LGTM Stack

Grafana is a core component of the LGTM stack (Loki, Grafana, Tempo, Mimir), which is a modern observability suite:

  • Loki: Log aggregation and querying
  • Grafana: Visualization and dashboarding
  • Tempo: Distributed tracing
  • Mimir: Long-term storage and scalable metrics

Grafana acts as the central interface, enabling users to query and visualize data from Loki, Tempo, and Mimir in a single pane of glass.

Grafana Operator

The Grafana Operator is a Kubernetes-native way to deploy and manage Grafana instances, dashboards, and datasources. It automates the lifecycle of Grafana resources, ensuring consistency and reproducibility.

Key Features

  • Declarative Management: Grafana instances, dashboards, and datasources are defined as Kubernetes Custom Resources (CRs).
  • GitOps-Friendly: Configuration is stored as code
  • Automated Reconciliation: The operator ensures the actual state matches the desired state defined in the CRs.

Within the HavenPlus stack, by default we let the Grafana Operator deploy the following:

  • A Grafana instance in the grafana namespace
  • A Loki, Tempo & Mimir datasource in the grafana namespace
  • A set of Kubernetes dashboards resources in the grafana namespace

All these resources can be found in infrastructure/grafana/config/base, with required overlays in /infrastructure/grafana/config/overlays/.

Furthermore, the Grafana Operator itself lives in the grafana-operator namespace.