kanidm/scripts/otel
James Hodgkinson 60e5935faa
Moving daemon tracing to OpenTelemetry (#2292)
* sally forth into the great otel unknown
* make the build env identification slightly more durable
* docs updates
* wasm recompile
2023-11-09 05:15:12 +00:00
..
docker-compose.yml Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
grafana-datasources.yaml Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
loki-local-config.yaml Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
multi_curl.sh Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
prometheus.yml Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
README.md Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
startup.sh Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00
tempo.yaml Moving daemon tracing to OpenTelemetry (#2292) 2023-11-09 05:15:12 +00:00

OpenTelemetry for Kanidm

First, start the containers. You can use docker-compose if you know how, or ./startup.sh is a shortcut. You'll need docker (or similar) and docker-compose (or something that can handle docker-compose.yml).

Once that's stopped scrolling for a bit, run the Kanidm server, setting the otel_grpc_url to http://localhost:4317

Then access the Grafana UI and start clicking on traces 😁

Architecture of the docker containers

graph TD;

K[Kanidmd] --"OTLP tcp/4317"--> T

U[User] --tcp/3000--> G[Grafana]
G --tcp/3200-->T["Tempo (Traces)"]
G --tcp/9090-->P["Prometheus (Metrics)"]

T--cache-->TDV["Tempo Docker Volume"]
T--tcp/9000-->M["Minio (S3 Storage)"]

P--tcp/9000-->M
P--cache-->PDV["Prometheus Docker Volume"]
M-->DVM["Minio Docker Volume"]