Back to Education

Observability: OpenTelemetry and Grafana

Bring logs, metrics and traces together and follow a user request from the browser to the database with OpenTelemetry, Grafana, Loki and Tempo.

Duration: 5 days (40 hours) Level: Intermediate Target Audience: Backend developers, SRE and DevOps engineers
OpenTelemetry Grafana Loki Tempo Observability

Overview

When a bug is reported, most teams spend hours searching through logs. Logs, metrics and traces linked by a trace ID turn those hours into minutes. In this training we instrument .NET services with OpenTelemetry, send the data to the Grafana stack and follow a request across services and a message queue as a single trace. The dashboards and alerts of our own products run on this setup.

Course content

1. Observability fundamentals

  • Monitoring versus observability
  • Logs, metrics and traces: which question each answers
  • Cardinality and cost
  • The RED and USE methods

2. OpenTelemetry

  • API, SDK and Collector
  • The OTLP protocol
  • Automatic and manual instrumentation
  • Resource attributes: service name, environment, version

3. Traces

  • Spans, traces and context
  • W3C traceparent
  • Propagating context over HTTP and gRPC
  • Propagating context through Kafka and the outbox
  • Sampling strategies

4. Logs

  • Structured logging
  • Putting the trace ID on every log line
  • Log levels and noise
  • Loki and LogQL

5. Metrics

  • Counters, gauges and histograms
  • Prometheus and PromQL
  • Error rate and latency from span metrics
  • Lab: an end-to-end trace across three services

6. Grafana

  • Data sources: Loki, Tempo, Prometheus
  • Moving between logs, traces and metrics
  • Dashboard design: summary first, then detail
  • Managing dashboards as code

7. Alerting

  • Alerting on symptoms
  • SLOs and error budgets
  • Cutting noise and grouping
  • Alert channels and on-call

8. The client side

  • Browser telemetry (Faro)
  • Mobile crash reporting linked to traces
  • Real user monitoring and Core Web Vitals

9. Personal data and retention

  • What must not be stored in logs and traces
  • Masking and filtering
  • Retention periods and storage cost

10. Incident investigation

  • From the alert to the line of code
  • Finding where latency comes from
  • A post-incident review template
  • Lab: following a real bug end to end

Schedule

Each module takes about 4 hours, half a day; 40 hours in total.

  • Day 1: modules 1 and 2
  • Day 2: modules 3 and 4
  • Day 3: modules 5 and 6
  • Day 4: modules 7 and 8
  • Day 5: modules 9 and 10

Prerequisites

  • Experience building services in a backend language (C# preferred)
  • HTTP and basic networking
  • Running containers locally with Docker

Training format

  • On site or remote: at your office or in live virtual sessions.
  • Hands-on: every day ends with lab sessions where you apply that day’s topic to a working example.
  • Lab environment: participants get a prepared working environment and a sample code repository.
  • Tailored to your team: content and examples are adapted to your stack after a short call before the training.
  • Materials: slides, lab guides and reference code stay with you after the training.
Ready to Start?

Ready to start your project?

Let's discuss how we can help bring your ideas to life.