-
Notifications
You must be signed in to change notification settings - Fork 190
Expand file tree
/
Copy pathdocker-compose-multiexec-host.yml
More file actions
212 lines (194 loc) · 6.36 KB
/
Copy pathdocker-compose-multiexec-host.yml
File metadata and controls
212 lines (194 loc) · 6.36 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
version: "3.8"
services:
testserver:
build:
context: ../../..
dockerfile: internal/test/integration/components/testserver/Dockerfile
image: hatest-testserver
ports:
- "8080:8080"
- "8088:8088"
environment:
LOG_LEVEL: DEBUG
BYPASS_JSONRPC: "${BYPASS_JSONRPC}"
depends_on:
otelcol:
condition: service_started
jaeger:
condition: service_started
# another instance of the above image. Used to test the deduplication
# of metrics when they come from the same executable file
testserver-unused:
image: hatest-testserver
ports:
- "38080:8080"
environment:
LOG_LEVEL: DEBUG
BYPASS_JSONRPC: "${BYPASS_JSONRPC}"
testserver1:
build:
context: ../../..
dockerfile: internal/test/integration/components/testserver/Dockerfile_rename1
image: hatest-testserver1
ports:
- "8900:8900"
environment:
LOG_LEVEL: DEBUG
BYPASS_JSONRPC: "${BYPASS_JSONRPC}"
# image that runs two instances of the 'testserver' executable
# Used to test the deduplication
# of metrics when they come from the same executable file
testserver-duplicate:
build:
context: ../../..
dockerfile: internal/test/integration/components/testserver/Dockerfile_duplicate
image: hatest-testserver-duplicate
ports:
- "18080:18080"
- "18090:18090"
environment:
LOG_LEVEL: DEBUG
BYPASS_JSONRPC: "${BYPASS_JSONRPC}"
rtestserver:
image: ghcr.io/open-telemetry/obi-testimg:rust-0.1.3@sha256:b76147c36641b1658231cbf82f5731e73b8c6c8a407c22e853f8c06deda7aebe
ports:
- 8091:8090
rtestserverssl:
image: ghcr.io/open-telemetry/obi-testimg:rust-ssl-0.1.3@sha256:2dfbacdd71da27dec22c585eac08b60ae4a388802fb6ea9b4dcdfac035e3510d
ports:
- 8491:8490
environment:
LOG_LEVEL: DEBUG
pytestserverssl:
build:
context: ../../..
dockerfile: internal/test/integration/components/pythonserver/Dockerfile_tls
image: hatest-testserver-python-ssl
ports:
- 8381:8380
pytestserver:
build:
context: ../../..
dockerfile: internal/test/integration/components/pythonserver/Dockerfile_7773
image: hatest-testserver-python
ports:
- 7773:7773
ntestserverssl:
build:
context: ../../..
dockerfile: internal/test/integration/components/nodejsserver/Dockerfile
image: hatest-testserver-node-ssl
command:
- node
- app_tls.js
ports:
- 3034:3033
ntestserver:
build:
context: ../../..
dockerfile: internal/test/integration/components/nodejsserver/Dockerfile
image: hatest-testserver-node
command:
- node
- app.js
ports:
- 3031:3030
utestserver:
image: ghcr.io/open-telemetry/obi-testimg:rails-0.1.3@sha256:a2a1f3dc2f8588d0f8cb1859a8b88f308f97b8491d581daa5ce833df96c79103
ports:
- 3041:3040
utestserverssl:
image: ghcr.io/open-telemetry/obi-testimg:rails-ssl-0.1.3@sha256:eeb4caba1f40561f38387064250d09d370e76f9a481f5b5d3e8da176feeb50ea
ports:
- 3044:3043
jtestserver:
image: ghcr.io/open-telemetry/obi-testimg:java-jar-0.1.5@sha256:7918fd747a6a1bd34f1fc1402a30fd6066e5e405296ad2b62070cf1488262cc4
ports:
- "8086:8085"
obi:
build:
context: ../../..
dockerfile: ./internal/test/integration/components/obi/Dockerfile
command:
- --config=/configs/obi-config-multiexec-host.yml
volumes:
- ./configs/:/configs
- ./system/sys/kernel/security:/sys/kernel/security
- /sys/kernel/tracing:/sys/kernel/tracing:ro
- /sys/fs/cgroup:/sys/fs/cgroup
- ../../../testoutput:/coverage
- ../../../testoutput/run-multi:/var/run/obi
image: hatest-obi
privileged: true # in some environments (not GH Pull Requests) you can set it to false and then cap_add: [ SYS_ADMIN ]
network_mode: "host"
pid: "host"
environment:
GOCOVERDIR: "/coverage"
OTEL_EBPF_METRICS_FEATURES: "application,application_span_otel"
OTEL_EBPF_TRACE_PRINTER: "text"
OTEL_EBPF_METRICS_INTERVAL: "1s"
OTEL_EBPF_BPF_BATCH_TIMEOUT: "10ms"
OTEL_EBPF_LOG_LEVEL: "DEBUG"
OTEL_EBPF_BPF_DEBUG: "TRUE"
OTEL_EBPF_HOSTNAME: "obi"
OTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PORT: 8999
OTEL_EBPF_OTLP_TRACES_BATCH_TIMEOUT: "0ms"
OTEL_EBPF_INTERNAL_METRICS_PROMETHEUS_PATH: /metrics
OTEL_EBPF_BPF_DISABLE_BLACK_BOX_CP: "${OTEL_EBPF_BPF_DISABLE_BLACK_BOX_CP}"
OTEL_EBPF_BPF_CONTEXT_PROPAGATION: "${OTEL_EBPF_BPF_CONTEXT_PROPAGATION}"
OTEL_EBPF_BPF_TRACK_REQUEST_HEADERS: "${OTEL_EBPF_BPF_TRACK_REQUEST_HEADERS}"
OTEL_EBPF_SHUTDOWN_TIMEOUT: "5s"
ports:
- "8999:8999"
# OpenTelemetry Collector
otelcol:
image: otel/opentelemetry-collector-contrib:0.161.0@sha256:fd328de2552466ad78385e1b1289c3f2402b1c45f265b252aab1955b42845ac1
container_name: otel-col
deploy:
resources:
limits:
memory: 125M
restart: unless-stopped
command: ["--config=/etc/otelcol-config/otelcol-config-4017-weaver.yml"]
volumes:
- ./configs/:/etc/otelcol-config
ports:
- "4017" # OTLP over gRPC receiver
- "4018:4018" # OTLP over HTTP receiver
- "9464" # Prometheus exporter
- "8888" # metrics endpoint
depends_on:
prometheus:
condition: service_started
jaeger:
condition: service_started
weaver:
condition: service_healthy
weaver:
extends:
file: components/weaver/service.yml
service: weaver
volumes:
- ../../../schemas/obi:/obi-registry:ro
prometheus:
image: quay.io/prometheus/prometheus:v3.15.0@sha256:efd719c99d83b060d9daefdcf00360461adf279f45ef5391f8d111892118753e
container_name: prometheus
command:
- --config.file=/etc/prometheus/prometheus-config.yml
- --web.enable-lifecycle
- --web.route-prefix=/
- --log.level=debug
volumes:
- ./configs/:/etc/prometheus
ports:
- "9090:9090"
jaeger:
image: jaegertracing/jaeger:2.21.0@sha256:3d0ac795ff98aa04d1be04311d2dac6c25b4bfc8322dc02e53bc5b170c5018c3
ports:
- "16686:16686" # Query frontend
- "4317:4317" # OTEL GRPC traces collector
- "4318:4318" # OTEL HTTP traces collector
command:
- "--set=service.telemetry.logs.level=debug"
# curl http://localhost:16686/api/services
# curl http://localhost:16686/api/traces?service=testserver