version: "2" services: # Jaeger jaeger-all-in-one: image: jaegertracing/all-in-one:latest ports: - "16686:16686" - "14268" - "14250" # Zipkin zipkin-all-in-one: image: openzipkin/zipkin:latest ports: - "9411:9411" # Collector otel-collector: image: otelcol:latest command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - "1888:1888" # pprof extension - "8888:8888" # Prometheus metrics - "8889:8889" # Prometheus exporter metrics - "13133:13133" # health_check extension - "55678" # OpenCensus receiver - "55680:55679" # zpages extension depends_on: - jaeger-all-in-one - zipkin-all-in-one # Agent otel-agent: image: otelcol:latest command: ["--config=/etc/otel-agent-config.yaml"] volumes: - ./otel-agent-config.yaml:/etc/otel-agent-config.yaml ports: - "1777:1777" # pprof extension - "14268" # Jaeger receiver - "55678" # OpenCensus receiver - "55679:55679" # zpages extension - "13133" # health_check depends_on: - otel-collector # Synthetic load generator synthetic-load-generator: image: omnition/synthetic-load-generator:1.0.25 environment: - JAEGER_COLLECTOR_URL=http://otel-agent:14268 depends_on: - otel-agent metrics-load-generator: image: golang:1.12.7 volumes: - ../main.go:/usr/src/main.go environment: - GO111MODULE=on - OTEL_AGENT_ENDPOINT=otel-agent:55678 command: ["bash", "-c", "go run /usr/src/main.go"] depends_on: - otel-agent prometheus: container_name: prometheus image: prom/prometheus:latest volumes: - ./prometheus.yaml:/etc/prometheus/prometheus.yml ports: - "9090:9090"