liveBook · Manning

Grafana

As explained in Cloud Observability in Action

A Grafana dashboard is a Grafana interface that presents selected observability data and visualizations.

Grafana is a frontend destination for observability: it queries backend data sources and presents selected signals through dashboards, visualizations, and alerts. It is especially suited to time-series-focused, graph-oriented views while supporting multiple backends. section 6.1.1 section 5.0

Its central resources organize the observability workflow:

  • Data sources connect dashboards and alerts to backends such as Prometheus, Jaeger, MySQL, and Amazon CloudWatch. section 6.1.1
  • Dashboards organize related visualizations and can parameterize queries with dashboard variables. section 6.1.1
  • Alerts evaluate conditions and notify contact points such as email, Slack, PagerDuty, Kafka, or webhooks. section 7.2.2

Grafana is useful as a single pane across multiple observability backends, but it does not replace those backends: it queries them to visualize or evaluate signals. Alert rules can still incur backend-query costs even when notifications are silenced. section 7.2.2 section 5.0

From service error to root cause

An on-call engineer opens a Grafana dashboard and sees an increased error rate in Prometheus metrics. An exemplar trace ID leads to Jaeger, where trace duration and error codes guide a drill-down into service logs. This metric-to-trace-to-log workflow correlates signals rather than relying on one signal type alone. section 1.5.2

Listing 6.1 The Docker Compose configuration for the Grafana instance
version: "3.5"
services:
  grafana:
    image: grafana/grafana-oss:9.1.4
    ports:
    - "3000:3000"
    volumes:
    - ./grafana.ini:/etc/grafana/grafana.ini                           #1
    - ./ds.yaml:/etc/grafana/provisioning/datasources/datasource.yaml  #2
    depends_on:
    - prometheus
 
  prometheus:
    image: prom/prometheus:latest
    ports:
    - "9090:9090"
    volumes:
    - ./prom-config.yaml:/etc/prometheus/prometheus.yml

A Docker Compose configuration stands up Grafana 9.1.4 alongside Prometheus, exposes Grafana on port 3000, and provisions its data source configuration. section 6.1.1

How Cloud Observability in Action covers it

How deep it goes
Explains data sources, dashboards, variables, alerting, and setup, while deferring backend storage and ingestion to other systems.
Examples
Uses an instrumented Go echo service, Prometheus dashboards, Jaeger traces, Docker Compose, and parameterized PromQL queries.
What it assumes
Assumes familiarity with observability signals and backend destinations while demonstrating the frontend role through concrete Prometheus and Jaeger workflows.
What you can do after
Operate/configure Grafana with data sources, dashboards, variables, PromQL panels, and unified alerts across observability backends.
How it connects
Connects dashboards and alerts with Prometheus, Jaeger, metrics, traces, logs, data sources, and backend destinations.

Also explained in

Compare how 9 books explain Grafana →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Cloud Observability in Action. The section links point to the parts of the book it draws on.