@@ -6,20 +6,14 @@ services:
6
6
backend-services :
7
7
image : busybox
8
8
depends_on :
9
- - chronograf
10
- - influxdb
11
- - mysql
12
9
- rabbitmq
13
- - redis
14
10
- zookeeper
15
11
- minio
16
12
- grafana
17
13
18
14
backend-services-nodb :
19
15
image : busybox
20
16
depends_on :
21
- - chronograf
22
- - influxdb
23
17
- rabbitmq
24
18
- zookeeper
25
19
@@ -61,12 +55,7 @@ services:
61
55
- BROWSERUP_RABBITMQ_DEFAULT_PASS=${BROWSERUP_RABBITMQ_DEFAULT_PASS}
62
56
- BROWSERUP_RABBITMQ_QUEUE_PORT=5672
63
57
- BROWSERUP_ZOOKEEPER_HOST=${BROWSERUP_ZOOKEEPER_HOST}
64
- - BROWSERUP_ZOOKEEPER_CLIENT_PORT=2181
65
- - BROWSERUP_INFLUX_DB_HOST=${BROWSERUP_INFLUX_DB_HOST}
66
- - BROWSERUP_INFLUX_DB_PORT=8086
67
- - BROWSERUP_INFLUX_DB_NAME=browserup
68
- - BROWSERUP_INFLUX_DB_USER=browserup
69
- - BROWSERUP_INFLUX_DB_PASSWORD=${BROWSERUP_INFLUX_DB_PASSWORD}
58
+ - BROWSERUP_ZOOKEEPER_CLIENT_PORT=9181
70
59
- BROWSERUP_MINION_VUS=1
71
60
- BROWSERUP_MAX_MINIONS_PER_EC2_INSTANCE=${BROWSERUP_MAX_MINIONS_PER_EC2_INSTANCE}
72
61
- BROWSERUP_IS_CLOUD=false
@@ -88,8 +77,8 @@ services:
88
77
- BROWSERUP_S3_MINIO_HOST_PORT_1=${BROWSERUP_S3_MINIO_PORT_1}
89
78
- BROWSERUP_S3_MINIO_ARTIFACTS_BUCKET=${BROWSERUP_S3_MINIO_ARTIFACTS_BUCKET}
90
79
- BROWSERUP_CLUSTER_NAME=${BROWSERUP_CLUSTER_NAME}
80
+ - BROWSERUP_NATS_URLS=${BROWSERUP_NATS_URLS}
91
81
depends_on :
92
- - influxdb
93
82
- zookeeper
94
83
- rabbitmq
95
84
- fluentbit
@@ -119,12 +108,7 @@ services:
119
108
- BROWSERUP_RABBITMQ_DEFAULT_PASS=${BROWSERUP_RABBITMQ_DEFAULT_PASS}
120
109
- BROWSERUP_RABBITMQ_QUEUE_PORT=5672
121
110
- BROWSERUP_ZOOKEEPER_HOST=${BROWSERUP_ZOOKEEPER_HOST}
122
- - BROWSERUP_ZOOKEEPER_CLIENT_PORT=2181
123
- - BROWSERUP_INFLUX_DB_HOST=${BROWSERUP_INFLUX_DB_HOST}
124
- - BROWSERUP_INFLUX_DB_PORT=8086
125
- - BROWSERUP_INFLUX_DB_NAME=browserup
126
- - BROWSERUP_INFLUX_DB_USER=browserup
127
- - BROWSERUP_INFLUX_DB_PASSWORD=${BROWSERUP_INFLUX_DB_PASSWORD}
111
+ - BROWSERUP_ZOOKEEPER_CLIENT_PORT=9181
128
112
- BROWSERUP_MINION_VUS=1
129
113
- BROWSERUP_MINION_IMAGE_VERSION_TAG=${MINION_IMAGE_VERSION_TAG}
130
114
- BROWSERUP_S3_MINIO_ACCESS_KEY_ID=${BROWSERUP_S3_MINIO_ACCESS_KEY_ID}
@@ -138,6 +122,33 @@ services:
138
122
- BROWSERUP_CLUSTER_NAME=${BROWSERUP_CLUSTER_NAME}
139
123
- BROWSERUP_USER_ARTIFACT_CACHE_PATH=/bu/artifactcache
140
124
- BROWSERUP_USE_LOCAL_DOCKER_CACHED_IMAGE=${BROWSERUP_USE_LOCAL_DOCKER_CACHED_IMAGE}
125
+ - BROWSERUP_NATS_URLS=${BROWSERUP_NATS_URLS}
126
+ depends_on :
127
+ - zookeeper
128
+ - rabbitmq
129
+ - grid-java-api
130
+ - fluentbit
131
+ - clickhouse
132
+ logging :
133
+ driver : " fluentd"
134
+ options :
135
+ fluentd-address : " localhost:24224"
136
+
137
+ grid-java-observer :
138
+ container_name : browserup_grid-java-observer
139
+ image : docker.io/browserup/observer:latest
140
+ volumes :
141
+ - /var/run/docker.sock:/var/run/docker.sock
142
+ restart : on-failure
143
+ environment :
144
+ - BROWSERUP_RABBITMQ_HOST=${BROWSERUP_RABBITMQ_HOST}
145
+ - BROWSERUP_RABBITMQ_DEFAULT_USER=browserup
146
+ - BROWSERUP_RABBITMQ_DEFAULT_PASS=${BROWSERUP_RABBITMQ_DEFAULT_PASS}
147
+ - BROWSERUP_RABBITMQ_QUEUE_PORT=5672
148
+ - BROWSERUP_ZOOKEEPER_HOST=${BROWSERUP_ZOOKEEPER_HOST}
149
+ - BROWSERUP_ZOOKEEPER_CLIENT_PORT=9181
150
+ - BROWSERUP_IS_CLOUD=false
151
+ - BROWSERUP_NATS_URLS=${BROWSERUP_NATS_URLS}
141
152
depends_on :
142
153
- zookeeper
143
154
- rabbitmq
@@ -150,29 +161,21 @@ services:
150
161
151
162
webconsole :
152
163
container_name : browserup_webconsole
153
- image : docker.io/browserup/webconsole:latest
164
+ image : docker.io/browserup/webconsole:snapshot
154
165
privileged : true
155
166
security_opt :
156
167
- " seccomp=unconfined"
157
168
- " apparmor=unconfined"
158
169
devices :
159
170
- " /dev/fuse"
160
171
ports :
161
- - " ${BROWSERUP_WEBCONSOLE_PORT}:3000 "
172
+ - " ${BROWSERUP_WEBCONSOLE_PORT}:3100 "
162
173
environment :
163
174
- DOCKER_LOGS=true
164
- - BROWSERUP_MYSQL_HOST=${BROWSERUP_MYSQL_HOST}
165
- - BROWSERUP_MYSQL_USERNAME=browserup
166
- - BROWSERUP_MYSQL_PASSWORD=${BROWSERUP_MYSQL_PASSWORD}
167
- - BROWSERUP_MYSQL_PORT=3306
168
- - BROWSERUP_INFLUX_DB_HOST=${BROWSERUP_INFLUX_DB_HOST}
169
- - BROWSERUP_INFLUX_DB_PORT=8086
170
- - BROWSERUP_INFLUX_DB_NAME=browserup
171
- - BROWSERUP_INFLUX_DB_USER=browserup
172
- - BROWSERUP_INFLUX_DB_PASSWORD=${BROWSERUP_INFLUX_DB_PASSWORD}
175
+ - BROWSERUP_CLICKHOUSE_HOST=${BROWSERUP_CLICKHOUSE_HOST}
173
176
- BROWSERUP_GRID_SERVICE_URL=http://${BROWSERUP_GRID_JAVA_API_HOST}:8080/grid
177
+ - BROWSERUP_LOKI_SERVICE_URL=http://${BROWSERUP_LOKI_HOST}:3100
174
178
- BROWSERUP_IS_CLOUD=false
175
- - BROWSERUP_REDIS_URL=redis://${BROWSERUP_REDIS_HOST}:6379/1
176
179
- BROWSERUP_S3_MINIO_ACCESS_KEY_ID=${BROWSERUP_S3_MINIO_ACCESS_KEY_ID}
177
180
- BROWSERUP_S3_MINIO_SECRET_ACCESS_KEY=${BROWSERUP_S3_MINIO_SECRET_ACCESS_KEY}
178
181
- BROWSERUP_S3_MINIO_ARTIFACTS_BUCKET=${BROWSERUP_S3_MINIO_ARTIFACTS_BUCKET}
@@ -186,86 +189,62 @@ services:
186
189
- RAILS_LOG_TO_STDOUT=true
187
190
- RAILS_SERVE_STATIC_FILES=true
188
191
- BROWSERUP_S3_MINIO_HOST_PORT_1=${BROWSERUP_S3_MINIO_PORT_1}
192
+ - RAILS_MASTER_KEY=6f893b421a180634146cd1eb5f58cc80
193
+ - PORT=3000
194
+ - BROWSERUP_WC_RUNNING_AS_SERVER=true
195
+ - BROWSERUP_NATS_URLS=${BROWSERUP_NATS_URLS}
196
+ - BROWSERUP_NATS_SERVER_LIST=${BROWSERUP_NATS_SERVER_LIST}
189
197
depends_on :
190
- - mysql
191
- - influxdb
192
198
- grid-java-api
193
- - redis
194
199
- minio
195
200
- fluentbit
196
201
logging :
197
202
driver : " fluentd"
198
203
options :
199
204
fluentd-address : " localhost:24224"
200
- volumes :
201
- - ./containers:/var/lib/containers
202
205
203
- chronograf :
204
- image : chronograf:1.7.16
205
- ports :
206
- - " ${BROWSERUP_CHRONOGRAF_PORT}:8888"
207
- depends_on :
208
- - influxdb
209
- - fluentbit
210
- logging :
211
- driver : " fluentd"
212
- options :
213
- fluentd-address : " localhost:24224"
214
-
215
- influxdb :
216
- container_name : browserup_influxdb
217
- image : influxdb:1.8.10
206
+ clickhouse :
207
+ image : ' clickhouse/clickhouse-server:25.1'
208
+ container_name : clickhouse
209
+ hostname : clickhouse
218
210
volumes :
219
- - influxdb-volume:/var/lib/influxdb
220
- ports :
221
- - " ${BROWSERUP_INFLUX_DB_PORT}:8086"
222
- environment :
223
- - INFLUXDB_DB=browserup
224
- - INFLUX_DB_USER=browserup
225
- - INFLUX_DB_PASSWORD=${BROWSERUP_INFLUX_DB_PASSWORD}
226
- - INFLUXDB_LOGGING_LEVEL=debug
227
- - INFLUXDB_DATA_MAX_SERIES_PER_DATABASE=0
228
- - INFLUXDB_DATA_MAX_VALUES_PER_TAG=0
229
- - INFLUXDB_HTTP_LOG_ENABLED=false
211
+ - ./resources/click-house/config.xml:/etc/clickhouse-server/config.d/config.xml
212
+ - ./resources/click-house/users.xml:/etc/clickhouse-server/users.d/users.xml
213
+ - ./resources/click-house/schemas/errors.proto:/var/lib/clickhouse/format_schemas/errors.proto
214
+ - ./resources/click-house/schemas/run_infos.proto:/var/lib/clickhouse/format_schemas/run_infos.proto
215
+ - ./resources/click-house/schemas/steps.proto:/var/lib/clickhouse/format_schemas/steps.proto
216
+ - ./resources/click-house/schemas/system_stats.proto:/var/lib/clickhouse/format_schemas/system_stats.proto
217
+ - ./resources/click-house/schemas/urls.proto:/var/lib/clickhouse/format_schemas/urls.proto
218
+ - ./resources/click-house/schemas/verifications.proto:/var/lib/clickhouse/format_schemas/verifications.proto
219
+ - ./resources/click-house/schemas/vu_logs.proto:/var/lib/clickhouse/format_schemas/vu_logs.proto
220
+ - ./resources/click-house/schemas/vu_statuses.proto:/var/lib/clickhouse/format_schemas/vu_statuses.proto
230
221
depends_on :
222
+ - zookeeper
223
+ - nats
231
224
- fluentbit
232
225
logging :
233
226
driver : " fluentd"
234
227
options :
235
228
fluentd-address : " localhost:24224"
236
229
237
- mysql :
238
- container_name : browserup_mysql
239
- image : mysql:8.0.31-oracle
240
- command : mysqld --default-authentication-plugin=mysql_native_password
230
+ zookeeper :
231
+ image : ' clickhouse/clickhouse-keeper:24.4 '
232
+ container_name : zookeeper
233
+ hostname : zookeeper
241
234
volumes :
242
- - mysql-volume:/var/lib/mysql
243
- - ./resources/init.sql:/docker-entrypoint-initdb.d/z-create-test-db.sql
244
- ports :
245
- - " ${BROWSERUP_MYSQL_PORT}:3306"
246
- environment :
247
- - MYSQL_RANDOM_ROOT_PASSWORD=yes
248
- - MYSQL_DATABASE=browserup_development
249
- - MYSQL_USER=browserup
250
- - MYSQL_PASSWORD=${BROWSERUP_MYSQL_PASSWORD}
235
+ - ./resources/click-house/keeper-config.xml:/etc/clickhouse-keeper/keeper_config.xml
251
236
depends_on :
252
237
- fluentbit
253
238
logging :
254
239
driver : " fluentd"
255
240
options :
256
241
fluentd-address : " localhost:24224"
257
242
258
- redis :
259
- container_name : browserup_redis
260
- image : redis:6.2.5
261
- ports :
262
- - " ${BROWSERUP_REDIS_PORT}:6379"
263
- depends_on :
264
- - fluentbit
265
- logging :
266
- driver : " fluentd"
267
- options :
268
- fluentd-address : " localhost:24224"
243
+ nats :
244
+ image : nats
245
+ volumes :
246
+ - ./resources/nats/nats-server.conf:/etc/nats/nats-server.conf
247
+ command : " --cluster_name NATS --cluster nats://0.0.0.0:6222 --http_port 8222 -c /etc/nats/nats-server.conf"
269
248
270
249
rabbitmq :
271
250
container_name : browserup_rabbitmq
@@ -291,28 +270,6 @@ services:
291
270
options :
292
271
fluentd-address : " localhost:24224"
293
272
294
- zookeeper :
295
- container_name : browserup_zookeeper
296
- image : zookeeper:3.8.1
297
- volumes :
298
- - ./resources/zoo.cfg:/conf/zoo.cfg
299
- - zookeeper-data-volume:/data
300
- - zookeeper-datalog-volume:/datalog
301
- ports :
302
- - " ${BROWSERUP_ZOOKEEPER_CLIENT_PORT}:2181"
303
- environment :
304
- - ZOO_TICK_TIME=300000 # Helpful for debugging
305
- - ZOO_CFG_EXTRA=warn
306
- - ZOO_MAX_CLIENT_CNXNS=${BROWSERUP_ZOO_MAX_CLIENT_CNXNS}
307
- depends_on :
308
- - fluentbit
309
- - loki
310
- - grafana
311
- logging :
312
- driver : " fluentd"
313
- options :
314
- fluentd-address : " localhost:24224"
315
-
316
273
minio :
317
274
container_name : browserup_minio
318
275
image : quay.io/minio/minio:RELEASE.2022-01-08T03-11-54Z
@@ -336,17 +293,13 @@ services:
336
293
337
294
# router
338
295
fluentbit :
339
- image : fluent/fluent-bit:2.1.10
296
+ image : fluent/fluent-bit:3.0.3
340
297
depends_on :
341
298
- loki
342
299
environment :
343
300
- LOG_PATH=/tmp
344
- ports :
345
- - " 24224:24224"
346
- - " 24224:24224/udp"
347
- - " 2020:2020"
348
301
volumes :
349
- - ./resources/fluent-bit.conf :/fluent-bit/etc/fluent-bit.conf
302
+ - ./resources/fluent-bit:/fluent-bit/etc
350
303
351
304
# storage
352
305
loki :
@@ -371,6 +324,18 @@ services:
371
324
- ./resources/grafana-default-dashboard.json:/etc/grafana/provisioning/dashboards/grafana-default-dashboard.json
372
325
- ./resources/grafana-zookeeper-dashboard.json:/etc/grafana/provisioning/dashboards/grafana-zookeeper-dashboard.json
373
326
- ./resources/grafana-grid-services-dashboard.json:/etc/grafana/provisioning/dashboards/grafana-grid-services-dashboard.json
327
+ - ./resources/grafana-cadvisor-dashboard.json:/etc/grafana/provisioning/dashboards/grafana-cadvisor-dashboard.json
328
+ - ./resources/grafana-clickhouse-dashboard.json:/etc/grafana/provisioning/dashboards/grafana-clickhouse-dashboard.json
329
+
330
+ cadvisor :
331
+ image : gcr.io/cadvisor/cadvisor
332
+ container_name : cadvisor
333
+ volumes :
334
+ - /:/rootfs:ro
335
+ - /var/run:/var/run:ro
336
+ - /sys:/sys:ro
337
+ - /var/lib/docker/:/var/lib/docker:ro
338
+ - /dev/disk:/dev/disk/:ro
374
339
375
340
prometheus :
376
341
image : prom/prometheus:v2.44.0
@@ -380,8 +345,6 @@ services:
380
345
- " ${PROMETHEUS_PORT}:9090"
381
346
382
347
volumes :
383
- influxdb-volume :
384
- mysql-volume :
385
348
rabbitmq-volume :
386
349
zookeeper-data-volume :
387
350
zookeeper-datalog-volume :
0 commit comments