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
grafananamespace - A Loki, Tempo & Mimir datasource in the
grafananamespace - A set of Kubernetes dashboards resources in the
grafananamespace
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.