223 lines
7.2 KiB
YAML
223 lines
7.2 KiB
YAML
name: trace
|
|
|
|
x-common: &common
|
|
networks:
|
|
- signoz
|
|
- kompose_network
|
|
restart: unless-stopped
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
|
|
x-clickhouse-defaults: &clickhouse-defaults
|
|
<<: *common
|
|
image: ${CLICKHOUSE_IMAGE:-clickhouse/clickhouse-server:25.5.6}
|
|
tty: true
|
|
labels:
|
|
signoz.io/scrape: "true"
|
|
signoz.io/port: "9363"
|
|
signoz.io/path: "/metrics"
|
|
depends_on:
|
|
init-clickhouse:
|
|
condition: service_completed_successfully
|
|
zookeeper-1:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "0.0.0.0:8123/ping"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
ulimits:
|
|
nproc: 65535
|
|
nofile:
|
|
soft: 262144
|
|
hard: 262144
|
|
environment:
|
|
CLICKHOUSE_SKIP_USER_SETUP: 1
|
|
|
|
x-zookeeper-defaults: &zookeeper-defaults
|
|
<<: *common
|
|
image: ${ZOOKEEPER_IMAGE:-signoz/zookeeper:3.7.1}
|
|
user: root
|
|
labels:
|
|
signoz.io/scrape: "true"
|
|
signoz.io/port: "9141"
|
|
signoz.io/path: "/metrics"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -s -m 2 http://localhost:8080/commands/ruok | grep error | grep null"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
|
|
x-db-depend: &db-depend
|
|
<<: *common
|
|
depends_on:
|
|
clickhouse:
|
|
condition: service_healthy
|
|
schema-migrator-sync:
|
|
condition: service_completed_successfully
|
|
|
|
services:
|
|
init-clickhouse:
|
|
<<: *common
|
|
image: ${CLICKHOUSE_IMAGE:-clickhouse/clickhouse-server:25.5.6}
|
|
container_name: ${COMPOSE_PROJECT_NAME}_init_clickhouse
|
|
command:
|
|
- bash
|
|
- -c
|
|
- |
|
|
version="v0.0.1"
|
|
node_os=$$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
node_arch=$$(uname -m | sed s/aarch64/arm64/ | sed s/x86_64/amd64/)
|
|
echo "Fetching histogram-binary for $${node_os}/$${node_arch}"
|
|
cd /tmp
|
|
wget -O histogram-quantile.tar.gz "https://github.com/SigNoz/signoz/releases/download/histogram-quantile%2F$${version}/histogram-quantile_$${node_os}_$${node_arch}.tar.gz"
|
|
tar -xvzf histogram-quantile.tar.gz
|
|
mv histogram-quantile /var/lib/clickhouse/user_scripts/histogramQuantile
|
|
restart: on-failure
|
|
volumes:
|
|
- ./common/clickhouse/user_scripts:/var/lib/clickhouse/user_scripts/
|
|
|
|
zookeeper-1:
|
|
<<: *zookeeper-defaults
|
|
container_name: ${COMPOSE_PROJECT_NAME}_zookeeper
|
|
volumes:
|
|
- zookeeper_data:/bitnami/zookeeper
|
|
environment:
|
|
ZOO_SERVER_ID: 1
|
|
ALLOW_ANONYMOUS_LOGIN: yes
|
|
ZOO_AUTOPURGE_INTERVAL: 1
|
|
ZOO_ENABLE_PROMETHEUS_METRICS: yes
|
|
ZOO_PROMETHEUS_METRICS_PORT_NUMBER: 9141
|
|
|
|
clickhouse:
|
|
<<: *clickhouse-defaults
|
|
container_name: ${COMPOSE_PROJECT_NAME}_clickhouse
|
|
volumes:
|
|
- ./common/clickhouse/config.xml:/etc/clickhouse-server/config.xml
|
|
- ./common/clickhouse/users.xml:/etc/clickhouse-server/users.xml
|
|
- ./common/clickhouse/custom-function.xml:/etc/clickhouse-server/custom-function.xml
|
|
- ./common/clickhouse/user_scripts:/var/lib/clickhouse/user_scripts/
|
|
- ./common/clickhouse/cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
|
|
- clickhouse_data:/var/lib/clickhouse/
|
|
|
|
signoz:
|
|
<<: *db-depend
|
|
image: ${SIGNOZ_IMAGE:-signoz/signoz:v0.96.1}
|
|
container_name: ${COMPOSE_PROJECT_NAME}_app
|
|
command:
|
|
- --config=/root/config/prometheus.yml
|
|
volumes:
|
|
- ./common/signoz/prometheus.yml:/root/config/prometheus.yml
|
|
- ./common/dashboards:/root/config/dashboards
|
|
- signoz_data:/var/lib/signoz/
|
|
environment:
|
|
SIGNOZ_ALERTMANAGER_PROVIDER: signoz
|
|
SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN: tcp://clickhouse:9000
|
|
SIGNOZ_SQLSTORE_SQLITE_PATH: /var/lib/signoz/signoz.db
|
|
DASHBOARDS_PATH: /root/config/dashboards
|
|
STORAGE: clickhouse
|
|
GODEBUG: netdns=go
|
|
TELEMETRY_ENABLED: ${TELEMETRY_ENABLED:-true}
|
|
DEPLOYMENT_TYPE: docker-standalone-amd
|
|
DOT_METRICS_ENABLED: ${DOT_METRICS_ENABLED:-true}
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "localhost:8080/api/v1/health"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
ports:
|
|
- 7070:${APP_PORT}
|
|
networks:
|
|
- kompose_network
|
|
- signoz
|
|
# labels:
|
|
# - 'traefik.enable=true'
|
|
# - 'traefik.http.middlewares.$COMPOSE_PROJECT_NAME-redirect-web-secure.redirectscheme.scheme=https'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web.middlewares=$COMPOSE_PROJECT_NAME-redirect-web-secure'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web.rule=Host(`$TRAEFIK_HOST`)'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web.entrypoints=web'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web-secure.rule=Host(`$TRAEFIK_HOST`)'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web-secure.tls.certresolver=resolver'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web-secure.entrypoints=web-secure'
|
|
# - 'traefik.http.middlewares.$COMPOSE_PROJECT_NAME-web-secure-compress.compress=true'
|
|
# - 'traefik.http.routers.$COMPOSE_PROJECT_NAME-web-secure.middlewares=$COMPOSE_PROJECT_NAME-web-secure-compress'
|
|
# - 'traefik.http.services.$COMPOSE_PROJECT_NAME-web-secure.loadbalancer.server.port=$APP_PORT'
|
|
# - 'traefik.docker.network=kompose_network'
|
|
|
|
otel-collector:
|
|
image: ${OTELCOL_IMAGE:-signoz/signoz-otel-collector:v0.129.6}
|
|
container_name: ${COMPOSE_PROJECT_NAME}_otel_collector
|
|
privileged: true
|
|
pid: host
|
|
user: 0:0
|
|
networks:
|
|
- kompose_network
|
|
- signoz
|
|
restart: unless-stopped
|
|
logging:
|
|
options:
|
|
max-size: 50m
|
|
max-file: "3"
|
|
command:
|
|
- --config=/etc/otel-collector-config.yaml
|
|
- --manager-config=/etc/manager-config.yaml
|
|
- --copy-path=/var/tmp/collector-config.yaml
|
|
- --feature-gates=-pkg.translator.prometheus.NormalizeName
|
|
volumes:
|
|
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
|
|
- ./common/signoz/otel-collector-opamp-config.yaml:/etc/manager-config.yaml
|
|
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- /proc:/hostfs/proc:ro
|
|
- /sys:/hostfs/sys:ro
|
|
- /:/hostfs:ro
|
|
environment:
|
|
OTEL_RESOURCE_ATTRIBUTES: host.name=signoz-host,os.type=linux
|
|
LOW_CARDINAL_EXCEPTION_GROUPING: false
|
|
HOST_PROC: /hostfs/proc
|
|
HOST_SYS: /hostfs/sys
|
|
HOST_ROOT: /hostfs
|
|
depends_on:
|
|
signoz:
|
|
condition: service_healthy
|
|
|
|
schema-migrator-sync:
|
|
<<: *common
|
|
image: ${OTELCOL_IMAGE:-signoz/signoz-schema-migrator:v0.129.6}
|
|
container_name: ${COMPOSE_PROJECT_NAME}_migrator_sync
|
|
command:
|
|
- sync
|
|
- --dsn=tcp://clickhouse:9000
|
|
- --up=
|
|
depends_on:
|
|
clickhouse:
|
|
condition: service_healthy
|
|
restart: on-failure
|
|
|
|
schema-migrator-async:
|
|
<<: *db-depend
|
|
image: ${OTELCOL_IMAGE:-signoz/signoz-schema-migrator:v0.129.6}
|
|
container_name: ${COMPOSE_PROJECT_NAME}_migrator_async
|
|
command:
|
|
- async
|
|
- --dsn=tcp://clickhouse:9000
|
|
- --up=
|
|
restart: on-failure
|
|
|
|
networks:
|
|
signoz:
|
|
name: signoz
|
|
kompose_network:
|
|
name: ${NETWORK_NAME:-kompose}
|
|
external: true
|
|
|
|
volumes:
|
|
clickhouse_data:
|
|
name: ${COMPOSE_PROJECT_NAME}_clickhouse
|
|
signoz_data:
|
|
name: ${COMPOSE_PROJECT_NAME}_signoz
|
|
zookeeper_data:
|
|
name: ${COMPOSE_PROJECT_NAME}_zookeeper
|