mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-07-25 01:44:26 +08:00
274 lines
6.5 KiB
YAML
274 lines
6.5 KiB
YAML
version: "2.4"
|
|
|
|
volumes:
|
|
metadata_data: {}
|
|
middle_var: {}
|
|
historical_var: {}
|
|
broker_var: {}
|
|
coordinator_var: {}
|
|
router_var: {}
|
|
|
|
# If able to connect to kafka but not able to write to topic otlp_spans look into below link
|
|
# https://github.com/wurstmeister/kafka-docker/issues/409#issuecomment-428346707
|
|
|
|
services:
|
|
|
|
zookeeper:
|
|
image: bitnami/zookeeper:3.6.2-debian-10-r100
|
|
ports:
|
|
- "2181:2181"
|
|
environment:
|
|
- ALLOW_ANONYMOUS_LOGIN=yes
|
|
|
|
|
|
kafka:
|
|
# image: wurstmeister/kafka
|
|
image: bitnami/kafka:2.7.0-debian-10-r1
|
|
ports:
|
|
- "9092:9092"
|
|
hostname: kafka
|
|
environment:
|
|
KAFKA_ADVERTISED_HOST_NAME: kafka
|
|
KAFKA_ADVERTISED_PORT: 9092
|
|
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
|
ALLOW_PLAINTEXT_LISTENER: 'yes'
|
|
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'true'
|
|
KAFKA_TOPICS: 'otlp_spans:1:1,flattened_spans:1:1'
|
|
|
|
healthcheck:
|
|
# test: ["CMD", "kafka-topics.sh", "--create", "--topic", "otlp_spans", "--zookeeper", "zookeeper:2181"]
|
|
test: ["CMD", "kafka-topics.sh", "--list", "--zookeeper", "zookeeper:2181"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 10
|
|
depends_on:
|
|
- zookeeper
|
|
|
|
postgres:
|
|
container_name: postgres
|
|
image: postgres:latest
|
|
volumes:
|
|
- metadata_data:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=FoolishPassword
|
|
- POSTGRES_USER=druid
|
|
- POSTGRES_DB=druid
|
|
|
|
coordinator:
|
|
image: apache/druid:0.20.0
|
|
container_name: coordinator
|
|
volumes:
|
|
- ./storage:/opt/data
|
|
- coordinator_var:/opt/druid/var
|
|
depends_on:
|
|
- zookeeper
|
|
- postgres
|
|
ports:
|
|
- "8081:8081"
|
|
command:
|
|
- coordinator
|
|
env_file:
|
|
- environment_tiny/coordinator
|
|
- environment_tiny/common
|
|
|
|
broker:
|
|
image: apache/druid:0.20.0
|
|
container_name: broker
|
|
volumes:
|
|
- broker_var:/opt/druid/var
|
|
depends_on:
|
|
- zookeeper
|
|
- postgres
|
|
- coordinator
|
|
ports:
|
|
- "8082:8082"
|
|
command:
|
|
- broker
|
|
env_file:
|
|
- environment_tiny/broker
|
|
- environment_tiny/common
|
|
|
|
historical:
|
|
image: apache/druid:0.20.0
|
|
container_name: historical
|
|
volumes:
|
|
- ./storage:/opt/data
|
|
- historical_var:/opt/druid/var
|
|
depends_on:
|
|
- zookeeper
|
|
- postgres
|
|
- coordinator
|
|
ports:
|
|
- "8083:8083"
|
|
command:
|
|
- historical
|
|
env_file:
|
|
- environment_tiny/historical
|
|
- environment_tiny/common
|
|
|
|
middlemanager:
|
|
image: apache/druid:0.20.0
|
|
container_name: middlemanager
|
|
volumes:
|
|
- ./storage:/opt/data
|
|
- middle_var:/opt/druid/var
|
|
depends_on:
|
|
- zookeeper
|
|
- postgres
|
|
- coordinator
|
|
ports:
|
|
- "8091:8091"
|
|
command:
|
|
- middleManager
|
|
env_file:
|
|
- environment_tiny/middlemanager
|
|
- environment_tiny/common
|
|
|
|
router:
|
|
image: apache/druid:0.20.0
|
|
container_name: router
|
|
volumes:
|
|
- router_var:/opt/druid/var
|
|
depends_on:
|
|
- zookeeper
|
|
- postgres
|
|
- coordinator
|
|
ports:
|
|
- "8888:8888"
|
|
command:
|
|
- router
|
|
env_file:
|
|
- environment_tiny/router
|
|
- environment_tiny/common
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://router:8888/druid/coordinator/v1/datasources/flattened_spans"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
flatten-processor:
|
|
image: signoz/flattener-processor:0.2.0
|
|
container_name: flattener-processor
|
|
|
|
depends_on:
|
|
- kafka
|
|
- otel-collector
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
environment:
|
|
- KAFKA_BROKER=kafka:9092
|
|
- KAFKA_INPUT_TOPIC=otlp_spans
|
|
- KAFKA_OUTPUT_TOPIC=flattened_spans
|
|
|
|
|
|
query-service:
|
|
image: signoz.docker.scarf.sh/signoz/query-service:0.3.1
|
|
container_name: query-service
|
|
|
|
depends_on:
|
|
- router
|
|
ports:
|
|
- "8080:8080"
|
|
|
|
environment:
|
|
- DruidClientUrl=http://router:8888
|
|
- DruidDatasource=flattened_spans
|
|
- STORAGE=druid
|
|
- POSTHOG_API_KEY=H-htDCae7CR3RV57gUzmol6IAKtm5IMCvbcm_fwnL-w
|
|
|
|
depends_on:
|
|
router:
|
|
condition: service_healthy
|
|
|
|
frontend:
|
|
image: signoz/frontend:0.3.2
|
|
container_name: frontend
|
|
|
|
depends_on:
|
|
- query-service
|
|
links:
|
|
- "query-service"
|
|
ports:
|
|
- "3000:3000"
|
|
volumes:
|
|
- ../common/nginx-config.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
create-supervisor:
|
|
image: theithollow/hollowapp-blog:curl
|
|
container_name: create-supervisor
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- "curl -X POST -H 'Content-Type: application/json' -d @/app/supervisor-spec.json http://router:8888/druid/indexer/v1/supervisor"
|
|
|
|
depends_on:
|
|
- router
|
|
restart: on-failure:6
|
|
|
|
volumes:
|
|
- ./druid-jobs/supervisor-spec.json:/app/supervisor-spec.json
|
|
|
|
|
|
set-retention:
|
|
image: theithollow/hollowapp-blog:curl
|
|
container_name: set-retention
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- "curl -X POST -H 'Content-Type: application/json' -d @/app/retention-spec.json http://router:8888/druid/coordinator/v1/rules/flattened_spans"
|
|
|
|
depends_on:
|
|
- router
|
|
restart: on-failure:6
|
|
volumes:
|
|
- ./druid-jobs/retention-spec.json:/app/retention-spec.json
|
|
|
|
otel-collector:
|
|
image: otel/opentelemetry-collector:0.18.0
|
|
command: ["--config=/etc/otel-collector-config.yaml", "--mem-ballast-size-mib=683"]
|
|
volumes:
|
|
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
|
|
ports:
|
|
- "1777:1777" # pprof extension
|
|
- "8887:8888" # Prometheus metrics exposed by the agent
|
|
- "14268:14268" # Jaeger receiver
|
|
- "55678" # OpenCensus receiver
|
|
- "55680:55680" # OTLP HTTP/2.0 legacy port
|
|
- "55681:55681" # OTLP HTTP/1.0 receiver
|
|
- "4317:4317" # OTLP GRPC receiver
|
|
- "55679:55679" # zpages extension
|
|
- "13133" # health_check
|
|
depends_on:
|
|
kafka:
|
|
condition: service_healthy
|
|
|
|
|
|
hotrod:
|
|
image: jaegertracing/example-hotrod:latest
|
|
container_name: hotrod
|
|
ports:
|
|
- "9000:8080"
|
|
command: ["all"]
|
|
environment:
|
|
- JAEGER_ENDPOINT=http://otel-collector:14268/api/traces
|
|
|
|
|
|
load-hotrod:
|
|
image: "grubykarol/locust:1.2.3-python3.9-alpine3.12"
|
|
container_name: load-hotrod
|
|
hostname: load-hotrod
|
|
ports:
|
|
- "8089:8089"
|
|
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
|
|
|