|
@@ -121,51 +121,58 @@ services:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
- prod_net
|
|
- prod_net
|
|
|
|
|
|
|
|
- # ClickStack (HyperDX all-in-one) — observability UI (logs/traces/metrics)
|
|
|
|
|
- # NB! Port 8124 on ClickHouse'i HTTP; ClickStack UI jookseb pordil 18080.
|
|
|
|
|
|
|
+ # ClickStack (ametlik "Docker Compose" arhitektuur): HyperDX app-only + eraldi Mongo.
|
|
|
|
|
+ # (Varem: all-in-one, mis dubleeris ClickHouse'i + Mongo.) Port 8124 = ClickHouse HTTP; UI = 18080.
|
|
|
clickstack:
|
|
clickstack:
|
|
|
- image: docker.hyperdx.io/hyperdx/hyperdx-all-in-one:latest
|
|
|
|
|
|
|
+ image: docker.hyperdx.io/hyperdx/hyperdx:2.37.0
|
|
|
container_name: clickstack
|
|
container_name: clickstack
|
|
|
restart: unless-stopped
|
|
restart: unless-stopped
|
|
|
environment:
|
|
environment:
|
|
|
- TZ=Europe/Tallinn
|
|
- TZ=Europe/Tallinn
|
|
|
- FRONTEND_URL=http://100.87.1.24:18080
|
|
- FRONTEND_URL=http://100.87.1.24:18080
|
|
|
- - SERVER_URL=http://100.87.1.24:18080
|
|
|
|
|
|
|
+ - SERVER_URL=http://127.0.0.1:8000
|
|
|
- HYPERDX_APP_URL=http://100.87.1.24:18080
|
|
- HYPERDX_APP_URL=http://100.87.1.24:18080
|
|
|
- HYPERDX_APP_PORT=8080
|
|
- HYPERDX_APP_PORT=8080
|
|
|
- HYPERDX_API_PORT=8000
|
|
- HYPERDX_API_PORT=8000
|
|
|
- HYPERDX_API_KEY=02a19ecf-f62e-4e17-819f-3ee1498d69f3
|
|
- HYPERDX_API_KEY=02a19ecf-f62e-4e17-819f-3ee1498d69f3
|
|
|
|
|
+ - MONGO_URI=mongodb://clickstack-db:27017/hyperdx
|
|
|
|
|
+ - OPAMP_PORT=4320
|
|
|
|
|
+ - OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
|
|
|
|
|
+ - OTEL_SERVICE_NAME=hdx-oss-app
|
|
|
- NEXT_PUBLIC_IS_LOCAL_MODE=false
|
|
- NEXT_PUBLIC_IS_LOCAL_MODE=false
|
|
|
# Brauseri (session replay) collector-URL peab olema kliendist kättesaadav (mitte localhost).
|
|
# Brauseri (session replay) collector-URL peab olema kliendist kättesaadav (mitte localhost).
|
|
|
- NEXT_PUBLIC_OTEL_EXPORTER_OTLP_ENDPOINT=http://100.87.1.24:4318
|
|
- NEXT_PUBLIC_OTEL_EXPORTER_OTLP_ENDPOINT=http://100.87.1.24:4318
|
|
|
- EXPRESS_SESSION_SECRET=dev_session_secret_2026
|
|
- EXPRESS_SESSION_SECRET=dev_session_secret_2026
|
|
|
- - CLICKHOUSE_ENDPOINT=tcp://clickhouse:9000?dial_timeout=10s
|
|
|
|
|
- - CLICKHOUSE_USER=default
|
|
|
|
|
- - CLICKHOUSE_PASSWORD=dev_clickhouse_2026
|
|
|
|
|
- - HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
|
|
|
|
|
- 'DEFAULT_CONNECTIONS=[{"name":"Local ClickHouse","host":"http://clickhouse:8123","username":"default","password":"dev_clickhouse_2026"}]'
|
|
- 'DEFAULT_CONNECTIONS=[{"name":"Local ClickHouse","host":"http://clickhouse:8123","username":"default","password":"dev_clickhouse_2026"}]'
|
|
|
- command: ["sh", "/clickstack-entry.sh"]
|
|
|
|
|
ports:
|
|
ports:
|
|
|
- "127.0.0.1:18080:8080"
|
|
- "127.0.0.1:18080:8080"
|
|
|
- "100.87.1.24:18080:8080" # HyperDX UI
|
|
- "100.87.1.24:18080:8080" # HyperDX UI
|
|
|
- - "127.0.0.1:4317:4317"
|
|
|
|
|
- - "100.87.1.24:4317:4317"
|
|
|
|
|
- - "127.0.0.1:4318:4318"
|
|
|
|
|
- - "100.87.1.24:4318:4318"
|
|
|
|
|
volumes:
|
|
volumes:
|
|
|
- - ./data/clickstack:/data
|
|
|
|
|
- - ./clickstack-entry.sh:/clickstack-entry.sh:ro
|
|
|
|
|
- ./patches/4719-70b065addcfc053d.js:/app/packages/app/packages/app/.next/static/chunks/4719-70b065addcfc053d.js:ro
|
|
- ./patches/4719-70b065addcfc053d.js:/app/packages/app/packages/app/.next/static/chunks/4719-70b065addcfc053d.js:ro
|
|
|
- ./patches/pages/clickhouse-46029ebbad38b40a.js:/app/packages/app/packages/app/.next/static/chunks/pages/clickhouse-46029ebbad38b40a.js:ro
|
|
- ./patches/pages/clickhouse-46029ebbad38b40a.js:/app/packages/app/packages/app/.next/static/chunks/pages/clickhouse-46029ebbad38b40a.js:ro
|
|
|
- ./patches/4751-53b929fca5a575a9.js:/app/packages/app/packages/app/.next/static/chunks/4751-53b929fca5a575a9.js:ro
|
|
- ./patches/4751-53b929fca5a575a9.js:/app/packages/app/packages/app/.next/static/chunks/4751-53b929fca5a575a9.js:ro
|
|
|
- # ClickHouse peab olema terve (native 9000), muidu collector'i seed ebaõnnestub
|
|
|
|
|
- # ja OTLP sureb (metrikad/logid/trace'id seisma) -> vale "Teenus maas" alert.
|
|
|
|
|
|
|
+ # ClickHouse peab olema terve (native 9000), muidu collector'i seed ebaõnnestub.
|
|
|
depends_on:
|
|
depends_on:
|
|
|
|
|
+ clickstack-db:
|
|
|
|
|
+ condition: service_started
|
|
|
clickhouse:
|
|
clickhouse:
|
|
|
condition: service_healthy
|
|
condition: service_healthy
|
|
|
networks:
|
|
networks:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
|
|
|
|
|
|
|
+ # Mongo: HyperDX rakenduse olek (sources/dashboards/alerts/users). Migreeritud all-in-one'ist.
|
|
|
|
|
+ clickstack-db:
|
|
|
|
|
+ image: mongo:5.0.32-focal
|
|
|
|
|
+ container_name: clickstack-db
|
|
|
|
|
+ restart: unless-stopped
|
|
|
|
|
+ mem_limit: 512m
|
|
|
|
|
+ environment:
|
|
|
|
|
+ - TZ=Europe/Tallinn
|
|
|
|
|
+ volumes:
|
|
|
|
|
+ - ./data/mongo:/data/db
|
|
|
|
|
+ networks:
|
|
|
|
|
+ - main_ai_network
|
|
|
|
|
+
|
|
|
# Reverse-proxy pordil 8124: /clickstack/ -> ClickHouse staatiline UI,
|
|
# Reverse-proxy pordil 8124: /clickstack/ -> ClickHouse staatiline UI,
|
|
|
# backendi teed -> HyperDX, kõik muu -> ClickHouse (nii jääb 8124 DBeaver-ile tööle)
|
|
# backendi teed -> HyperDX, kõik muu -> ClickHouse (nii jääb 8124 DBeaver-ile tööle)
|
|
|
clickstack-proxy:
|
|
clickstack-proxy:
|
|
@@ -221,23 +228,35 @@ services:
|
|
|
networks:
|
|
networks:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
|
|
|
|
|
- # OTel kollektor: scrape node-exporter + cadvisor -> OTLP -> clickstack
|
|
|
|
|
|
|
+ # ClickStack ametlik OTel-collector (OpAMP -> clickstack app). Base config app'ist (skeem/rollupid);
|
|
|
|
|
+ # custom.config.yaml lisab hosti-meetrikad (node/cadvisor/llamacpp) + konteinerilogid.
|
|
|
otel-collector:
|
|
otel-collector:
|
|
|
- image: otel/opentelemetry-collector-contrib:latest
|
|
|
|
|
|
|
+ image: docker.clickhouse.com/clickhouse/clickstack-otel-collector:2
|
|
|
container_name: otel-collector
|
|
container_name: otel-collector
|
|
|
restart: unless-stopped
|
|
restart: unless-stopped
|
|
|
mem_limit: 512m
|
|
mem_limit: 512m
|
|
|
user: "0:0" # root: vaja lugeda /var/lib/docker/containers/*-json.log (710 root:root)
|
|
user: "0:0" # root: vaja lugeda /var/lib/docker/containers/*-json.log (710 root:root)
|
|
|
- command: ["--config=/etc/otel/config.yaml"]
|
|
|
|
|
environment:
|
|
environment:
|
|
|
- - HYPERDX_INGEST_KEY=${HYPERDX_INGEST_KEY}
|
|
|
|
|
|
|
+ - TZ=Europe/Tallinn
|
|
|
|
|
+ - CLICKHOUSE_ENDPOINT=tcp://clickhouse:9000?dial_timeout=10s
|
|
|
|
|
+ - CLICKHOUSE_USER=default
|
|
|
|
|
+ - CLICKHOUSE_PASSWORD=dev_clickhouse_2026
|
|
|
|
|
+ - HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
|
|
|
|
|
+ - OPAMP_SERVER_URL=http://clickstack:4320
|
|
|
|
|
+ - CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
|
|
|
extra_hosts:
|
|
extra_hosts:
|
|
|
- "host.docker.internal:host-gateway"
|
|
- "host.docker.internal:host-gateway"
|
|
|
volumes:
|
|
volumes:
|
|
|
- - ./config/otel-collector/config.yaml:/etc/otel/config.yaml:ro
|
|
|
|
|
|
|
+ - ./config/otel-collector/custom.config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
|
|
|
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
|
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
|
|
|
|
+ ports:
|
|
|
|
|
+ - "127.0.0.1:4317:4317"
|
|
|
|
|
+ - "100.87.1.24:4317:4317"
|
|
|
|
|
+ - "127.0.0.1:4318:4318"
|
|
|
|
|
+ - "100.87.1.24:4318:4318"
|
|
|
depends_on:
|
|
depends_on:
|
|
|
- clickstack
|
|
- clickstack
|
|
|
|
|
+ - clickhouse
|
|
|
- node-exporter
|
|
- node-exporter
|
|
|
- cadvisor
|
|
- cadvisor
|
|
|
networks:
|
|
networks:
|
|
@@ -259,7 +278,7 @@ services:
|
|
|
networks:
|
|
networks:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
|
|
|
|
|
- # Rate-limiter HyperDX OTLP ingest'ile (otel.odamus.com). Edge Caddy -> see -> clickstack:4318.
|
|
|
|
|
|
|
+ # Rate-limiter HyperDX OTLP ingest'ile (otel.odamus.com). Edge Caddy -> see -> otel-collector:4318.
|
|
|
# nginx limit_req (Caddy standardbuildis rate_limit plugin't pole).
|
|
# nginx limit_req (Caddy standardbuildis rate_limit plugin't pole).
|
|
|
otel-ratelimit:
|
|
otel-ratelimit:
|
|
|
image: nginx:alpine
|
|
image: nginx:alpine
|
|
@@ -273,7 +292,7 @@ services:
|
|
|
ports:
|
|
ports:
|
|
|
- "100.87.1.24:4319:4319"
|
|
- "100.87.1.24:4319:4319"
|
|
|
depends_on:
|
|
depends_on:
|
|
|
- - clickstack
|
|
|
|
|
|
|
+ - otel-collector
|
|
|
networks:
|
|
networks:
|
|
|
- main_ai_network
|
|
- main_ai_network
|
|
|
|
|
|