Skip to content

OpenTelemetry/Grafana/AlertManager/Prometheus/Tempo/Loki playground

Notifications You must be signed in to change notification settings

rgl/opentelemetry-grafana-playground

Repository files navigation

About

This is a OpenTelemetry/Grafana/Prometheus/Tempo/Loki playground.

The following components are used:

components

Usage (Ubuntu 22.04)

# create the environment defined in docker-compose.yml
# and leave it running in the background.
docker compose up -d --build

# show running containers.
docker compose ps

# show logs.
docker compose logs

# open a container network interface in wireshark.
./wireshark.sh quotes

# open the quotes service swagger.
xdg-open http://localhost:8000/swagger

# make a request.
http \
  --verbose \
  http://localhost:8000/quote

# make a failing request.
http \
  --verbose \
  http://localhost:8000/quote?opsi=opsi

# make a request that includes a parent trace.
# NB the dotnet trace id will be set to the traceparent trace id.
# NB the tracestate does not seem to be stored or propagated anywhere.
http \
  --verbose \
  http://localhost:8000/quote \
  traceparent:00-f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1-2f2f2f2f2f2f2f2f-01 \
  tracestate:x.client.state=example

# open grafana explore tempo (traces).
xdg-open 'http://localhost:3000/explore?left=%7B%22datasource%22:%22Tempo%22,%22context%22:%22explore%22%7D'

# open grafana explore loki (logs).
xdg-open 'http://localhost:3000/explore?left=%7B%22datasource%22:%22Loki%22,%22context%22:%22explore%22%7D'

# open prometheus (metrics).
xdg-open http://localhost:9090

# open alertmanager (alerts).
xdg-open http://localhost:9093

# open mailpit (email).
xdg-open http://localhost:8025

# destroy the environment.
docker compose down --remove-orphans --volumes --timeout=0

Notes

Reference