54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
version: "3"
|
|
services:
|
|
|
|
nginx:
|
|
image: nginx-otel
|
|
volumes:
|
|
- './shared/nginx_otel_module.conf:/etc/nginx/conf.d/opentelemetry_module.conf'
|
|
ports:
|
|
- 8080:80
|
|
depends_on:
|
|
- otel-collector
|
|
|
|
# And put them in an OTEL collector pipeline...
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector:0.61.0
|
|
command: [ "--config=/etc/otel-collector.yaml" ]
|
|
volumes:
|
|
- './shared/otel-collector.yaml:/etc/otel-collector.yaml'
|
|
|
|
# To eventually offload to Tempo...
|
|
tempo:
|
|
image: grafana/tempo:latest
|
|
command: [ "-config.file=/etc/tempo.yaml" ]
|
|
volumes:
|
|
- './shared/tempo.yaml:/etc/tempo.yaml'
|
|
- './shared/tempo-data:/tmp/tempo'
|
|
ports:
|
|
- "3200" # tempo
|
|
- "4317" # otlp grpc
|
|
- "4318" # otlp http
|
|
|
|
prometheus:
|
|
image: prom/prometheus:latest
|
|
command:
|
|
- --config.file=/etc/prometheus.yaml
|
|
- --web.enable-remote-write-receiver
|
|
- --enable-feature=exemplar-storage
|
|
volumes:
|
|
- './shared/prometheus.yaml:/etc/prometheus.yaml'
|
|
ports:
|
|
- "9090:9090"
|
|
|
|
grafana:
|
|
image: grafana/grafana:9.4.3
|
|
volumes:
|
|
- './shared/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml'
|
|
environment:
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
|
|
- GF_AUTH_DISABLE_LOGIN_FORM=true
|
|
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
|
|
ports:
|
|
- "3000:3000"
|