Skip to content

OpenTelemetry DEMO with Python, Django, React, Uptrace, Vector

License

Notifications You must be signed in to change notification settings

shimizukawa/try-otel

Repository files navigation

OpenTelemetry demo with django/celery

This is a OpenTelemetry DEMO.

Applications:

  • Nginx as Web Server (TRACE)
  • WSGI as Python Web Application Server (TRACE, METRIC)
  • Django as Python Web Application Server (TRACE, METRIC, LOG)
  • Django ORM with Postgres (TRACE, LOG)
  • Python logging (LOG)
  • Requests as Python HTTP Client (TRACE, LOG)
  • React as Web Frontend by JavaScript (TRACE, LOG)
  • Postgres (NOT READY)
  • Redis (NOT READY)
  • Celery (NOT READY)

Monitoring/Visualizing

  • OpenTelemetry Collector process
  • Uptrace monitor
  • Jaeger process for TRACING monitor
  • Zipkin process for TRACING monitor
  • Prometheus process for Metrics monitor

Email server

  • MailHog to receive alert

invoke docker components

$ docker compose up

And open:

invoke django app and celery

setup

$ docker compose run --rm backend python manage.py migrate
$ docker compose run --rm backend python manage.py createsuperuser --username=joe --email=joe@example.com

invoke celery (NOT READY)

$ python <TBD>

invoke django

$ docker compose run --rm backend

And open http://api.lvh.me/

Run console client

run client with manual instrumentation

$ docker compose run --rm console

run client with auto instrumentation

$ docker compose run --rm console-auto

run react frontend

Just open http://lvh.me/