Agent Teams Observability Stack
Local docker-compose deployment for the OpenTelemetry observability subsystem
shipped under openjiuwen/agent_teams/observability/.
What's in here
docker-compose.yml— OTel Collector + Langfuse (Postgres + ClickHouse).otel-collector-config.yaml— Collector pipeline definition.
Quick start
cd deploy/observability
docker-compose up -d
After the stack is healthy:
- Langfuse UI: http://localhost:3000 (sign up on first visit, then create a project).
- OTLP gRPC endpoint for the application:
http://localhost:4317. - OTLP HTTP endpoint:
http://localhost:4318.
Point the application at the collector via ObservabilityConfig:
from openjiuwen.agent_teams.observability import (
ObservabilityConfig,
init_observability,
)
init_observability(
ObservabilityConfig(
service_name="my-service",
exporter="otlp_grpc",
endpoint="http://localhost:4317",
),
)
Backend choice
Default: Langfuse. Reasons documented in
/Users/alan/.claude/plans/opentelemetry-replicated-quilt.md (section D2).
Replace langfuse-server with Phoenix / Jaeger / Tempo by editing
otel-collector-config.yaml's exporters block and pointing the pipeline
at the new exporter.
Production notes
- Replace
NEXTAUTH_SECRET,SALT, and the database password before exposing the stack outside localhost. - Set
ObservabilityConfig.sample_rate< 1.0 in production (e.g. 0.1) to bound trace volume. - Migrate Postgres / ClickHouse to managed services for any non-toy deployment — running stateful databases in docker-compose is fine for evaluation only.