version: "3.9" services: clickhouse: image: yandex/clickhouse-server:21.12.3.32 # ports: # - "9000:9000" # - "8123:8123" volumes: - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml - ./data/clickhouse/:/var/lib/clickhouse/ deploy: restart_policy: condition: on-failure logging: options: max-size: 50m max-file: "3" healthcheck: # "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'" test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"] interval: 30s timeout: 5s retries: 3 alertmanager: image: signoz/alertmanager:0.23.0-0.1 volumes: - ./data/alertmanager:/data command: - --queryService.url=http://query-service:8080 - --storage.path=/data depends_on: - query-service deploy: restart_policy: condition: on-failure query-service: image: signoz/query-service:0.8.0 command: ["-config=/root/config/prometheus.yml"] ports: - "8080:8080" volumes: - ./prometheus.yml:/root/config/prometheus.yml - ../dashboards:/root/config/dashboards - ./data/signoz/:/var/lib/signoz/ environment: - ClickHouseUrl=tcp://clickhouse:9000/?database=signoz_traces - STORAGE=clickhouse - GODEBUG=netdns=go - TELEMETRY_ENABLED=true - DEPLOYMENT_TYPE=docker-swarm healthcheck: test: ["CMD", "wget", "--spider", "-q", "localhost:8080/api/v1/version"] interval: 30s timeout: 5s retries: 3 deploy: restart_policy: condition: on-failure depends_on: - clickhouse frontend: image: signoz/frontend:0.8.0 deploy: restart_policy: condition: on-failure depends_on: - alertmanager - query-service ports: - "3301:3301" volumes: - ../common/nginx-config.conf:/etc/nginx/conf.d/default.conf otel-collector: image: signoz/otelcontribcol:0.43.0-0.1 command: ["--config=/etc/otel-collector-config.yaml"] volumes: - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml ports: - "4317:4317" # OTLP gRPC receiver - "4318:4318" # OTLP HTTP receiver # - "8889:8889" # Prometheus metrics exposed by the agent # - "13133" # health_check # - "14268:14268" # Jaeger receiver # - "55678:55678" # OpenCensus receiver # - "55679:55679" # zpages extension # - "55680:55680" # OTLP gRPC legacy receiver # - "55681:55681" # OTLP HTTP legacy receiver deploy: mode: replicated replicas: 3 restart_policy: condition: on-failure resources: limits: memory: 2000m depends_on: - clickhouse otel-collector-metrics: image: signoz/otelcontribcol:0.43.0-0.1 command: ["--config=/etc/otel-collector-metrics-config.yaml"] volumes: - ./otel-collector-metrics-config.yaml:/etc/otel-collector-metrics-config.yaml deploy: restart_policy: condition: on-failure depends_on: - clickhouse hotrod: image: jaegertracing/example-hotrod:1.30 command: ["all"] environment: - JAEGER_ENDPOINT=http://otel-collector:14268/api/traces logging: options: max-size: 50m max-file: "3" load-hotrod: image: "grubykarol/locust:1.2.3-python3.9-alpine3.12" hostname: load-hotrod environment: ATTACKED_HOST: http://hotrod:8080 LOCUST_MODE: standalone NO_PROXY: standalone TASK_DELAY_FROM: 5 TASK_DELAY_TO: 30 QUIET_MODE: "${QUIET_MODE:-false}" LOCUST_OPTS: "--headless -u 10 -r 1" volumes: - ../common/locust-scripts:/locust