-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathdocker-compose_backend_distributed_tracing.yml
87 lines (83 loc) · 3 KB
/
docker-compose_backend_distributed_tracing.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
version: '2.1'
services:
opbeans-python:
image: opbeans/opbeans-python:latest
container_name: opbeans-python
logging:
driver: 'json-file'
options:
max-size: '2m'
max-file: '5'
environment:
- ELASTIC_APM_SERVICE_NAME=${ELASTIC_APM_SERVICE_NAME:-opbeans-python}
- ELASTIC_APM_SERVER_URL=${ELASTIC_APM_SERVER_URL:-http://apm-server:8200}
- ELASTIC_APM_JS_SERVER_URL=${ELASTIC_APM_JS_SERVER_URL:-http://localhost:8200}
- ELASTIC_APM_JS_SERVICE_NAME=${ELASTIC_APM_JS_SERVICE_NAME:-opbeans-react}
- ELASTIC_APM_FLUSH_INTERVAL=5
- ELASTIC_APM_TRANSACTION_MAX_SPANS=50
- ELASTIC_APM_TRANSACTION_SAMPLE_RATE=0.5
- ELASTIC_APM_SOURCE_LINES_ERROR_APP_FRAMES
- ELASTIC_APM_SOURCE_LINES_SPAN_APP_FRAMES=5
- ELASTIC_APM_SOURCE_LINES_ERROR_LIBRARY_FRAMES
- ELASTIC_APM_SOURCE_LINES_SPAN_LIBRARY_FRAMES
- ELASTIC_APM_ENVIRONMENT=production
- REDIS_URL=redis://redis:6379
- ELASTICSEARCH_URL=http://elasticsearch:9200
- DATABASE_URL=sqlite:////app/demo/db.sql
depends_on:
redis:
condition: service_healthy
apm-server:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "--write-out", "'HTTP %{http_code}'", "--silent", "--output", "/dev/null", "http://opbeans-python:3000/"]
interval: 10s
retries: 10
opbeans-java:
image: opbeans/opbeans-java:latest
container_name: opbeans-java
logging:
driver: 'json-file'
options:
max-size: '2m'
max-file: '5'
environment:
- ELASTIC_APM_SERVICE_NAME=${ELASTIC_APM_SERVICE_NAME:-opbeans-java}
- ELASTIC_APM_SERVER_URL=${ELASTIC_APM_SERVER_URL:-http://apm-server:8200}
- ELASTIC_APM_APPLICATION_PACKAGES=co.elastic.apm.opbeans
- ELASTIC_APM_JS_SERVER_URL=${ELASTIC_APM_JS_SERVER_URL:-http://localhost:8200}
- OPBEANS_SERVER_PORT=${OPBEANS_SERVER_PORT:-3000}
- ELASTIC_APM_ENABLE_LOG_CORRELATION=true
- ELASTIC_APM_ENVIRONMENT=production
- OTEL_RESOURCE_ATTRIBUTES=service.name=${ELASTIC_APM_SERVICE_NAME:-opbeans-java},deployment.environment=production
- OTEL_TRACES_EXPORTER=otlp
- OTEL_METRICS_EXPORTER=otlp
- OTEL_EXPORTER_OTLP_ENDPOINT=${OTEL_EXPORTER_OTLP_ENDPOINT:-http://apm-server:8200}
- OTEL_EXPORTER_OTLP_PROTOCOL=grpc
- APM_AGENT_TYPE=${APM_AGENT_TYPE:-elasticapm}
depends_on:
apm-server:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "--write-out", "'HTTP %{http_code}'", "--silent", "--output", "/dev/null", "http://opbeans-java:3000/"]
interval: 10s
retries: 10
redis:
image: redis:4
ports:
- 6379:6379
logging:
driver: 'json-file'
options:
max-size: '2m'
max-file: '5'
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
wait:
image: busybox
depends_on:
opbeans-python:
condition: service_healthy
opbeans-java:
condition: service_healthy