2022-03-22 00:03:20 +05:30
version : "2.4"
2023-08-23 15:03:24 +05:30
x-clickhouse-defaults : &clickhouse-defaults
2022-12-05 16:24:01 +05:30
restart : on -failure
2024-02-06 18:53:50 +05:30
image : clickhouse/clickhouse-server:24.1.2-alpine
2022-12-05 16:24:01 +05:30
tty : true
depends_on :
- zookeeper-1
# - zookeeper-2
# - zookeeper-3
logging :
options :
max-size : 50m
max-file : "3"
healthcheck :
# "clickhouse", "client", "-u ${CLICKHOUSE_USER}", "--password ${CLICKHOUSE_PASSWORD}", "-q 'SELECT 1'"
2023-08-07 21:17:53 +05:30
test :
[
"CMD" ,
"wget" ,
"--spider" ,
"-q" ,
"localhost:8123/ping"
]
2022-12-05 16:24:01 +05:30
interval : 30s
timeout : 5s
retries : 3
ulimits :
nproc : 65535
nofile :
soft : 262144
hard : 262144
2023-10-20 12:37:45 +05:30
x-db-depend : &db-depend
2022-12-05 16:24:01 +05:30
depends_on :
clickhouse :
condition : service_healthy
2023-10-20 12:37:45 +05:30
otel-collector-migrator :
condition : service_completed_successfully
2022-12-05 16:24:01 +05:30
# clickhouse-2:
# condition: service_healthy
# clickhouse-3:
# condition: service_healthy
2022-03-22 00:03:20 +05:30
services :
2022-12-05 16:24:01 +05:30
zookeeper-1 :
2023-05-02 08:02:53 +05:30
image : bitnami/zookeeper:3.7.1
2023-08-07 21:17:53 +05:30
container_name : signoz-zookeeper-1
2022-12-05 16:24:01 +05:30
user : root
ports :
- "2181:2181"
- "2888:2888"
- "3888:3888"
2022-03-22 00:03:20 +05:30
volumes :
2022-12-05 16:24:01 +05:30
- ./data/zookeeper-1:/bitnami/zookeeper
environment :
- ZOO_SERVER_ID=1
- ZOO_SERVERS=0.0.0.0:2888:3888
# - ZOO_SERVERS=0.0.0.0:2888:3888,zookeeper-2:2888:3888,zookeeper-3:2888:3888
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_AUTOPURGE_INTERVAL=1
# zookeeper-2:
# image: bitnami/zookeeper:3.7.0
2023-08-07 21:17:53 +05:30
# container_name: signoz-zookeeper-2
2022-12-05 16:24:01 +05:30
# user: root
# ports:
# - "2182:2181"
# - "2889:2888"
# - "3889:3888"
# volumes:
# - ./data/zookeeper-2:/bitnami/zookeeper
# environment:
# - ZOO_SERVER_ID=2
# - ZOO_SERVERS=zookeeper-1:2888:3888,0.0.0.0:2888:3888,zookeeper-3:2888:3888
# - ALLOW_ANONYMOUS_LOGIN=yes
# - ZOO_AUTOPURGE_INTERVAL=1
# zookeeper-3:
# image: bitnami/zookeeper:3.7.0
2023-08-07 21:17:53 +05:30
# container_name: signoz-zookeeper-3
2022-12-05 16:24:01 +05:30
# user: root
# ports:
# - "2183:2181"
# - "2890:2888"
# - "3890:3888"
# volumes:
# - ./data/zookeeper-3:/bitnami/zookeeper
# environment:
# - ZOO_SERVER_ID=3
# - ZOO_SERVERS=zookeeper-1:2888:3888,zookeeper-2:2888:3888,0.0.0.0:2888:3888
# - ALLOW_ANONYMOUS_LOGIN=yes
# - ZOO_AUTOPURGE_INTERVAL=1
clickhouse :
<< : *clickhouse-defaults
2023-08-07 21:17:53 +05:30
container_name : signoz-clickhouse
2022-12-05 16:24:01 +05:30
hostname : clickhouse
2022-05-03 15:26:32 +05:30
ports :
2022-06-23 10:15:21 +05:30
- "9000:9000"
- "8123:8123"
2022-12-05 16:24:01 +05:30
- "9181:9181"
volumes :
- ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
- ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
- ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
- ./data/clickhouse/:/var/lib/clickhouse/
# clickhouse-2:
# <<: *clickhouse-defaults
2023-08-07 21:17:53 +05:30
# container_name: signoz-clickhouse-2
2022-12-05 16:24:01 +05:30
# hostname: clickhouse-2
# ports:
# - "9001:9000"
# - "8124:8123"
# - "9182:9181"
# volumes:
# - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
# - ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
# - ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# # - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
# - ./data/clickhouse-2/:/var/lib/clickhouse/
# clickhouse-3:
# <<: *clickhouse-defaults
2023-08-07 21:17:53 +05:30
# container_name: signoz-clickhouse-3
2022-12-05 16:24:01 +05:30
# hostname: clickhouse-3
# ports:
# - "9002:9000"
# - "8125:8123"
# - "9183:9181"
# volumes:
# - ./clickhouse-config.xml:/etc/clickhouse-server/config.xml
# - ./clickhouse-users.xml:/etc/clickhouse-server/users.xml
# - ./clickhouse-cluster.xml:/etc/clickhouse-server/config.d/cluster.xml
# # - ./clickhouse-storage.xml:/etc/clickhouse-server/config.d/storage.xml
# - ./data/clickhouse-3/:/var/lib/clickhouse/
2022-03-22 00:03:20 +05:30
alertmanager :
2024-03-01 15:05:28 +05:30
image : signoz/alertmanager:0.23.5
2023-08-07 21:17:53 +05:30
container_name : signoz-alertmanager
2022-12-05 16:24:01 +05:30
volumes :
- ./data/alertmanager:/data
2022-03-29 22:59:32 +05:30
depends_on :
2022-12-05 16:24:01 +05:30
query-service :
condition : service_healthy
2022-04-06 00:05:05 +05:30
restart : on -failure
2022-03-22 00:03:20 +05:30
command :
2022-06-08 16:03:48 +05:30
- --queryService.url=http://query-service:8085
2022-03-29 22:59:32 +05:30
- --storage.path=/data
2022-03-22 00:03:20 +05:30
2023-08-07 21:17:53 +05:30
# Notes for Maintainers/Contributors who will change Line Numbers of Frontend & Query-Section. Please Update Line Numbers in `./scripts/commentLinesForSetup.sh` & `./CONTRIBUTING.md`
2022-03-22 00:03:20 +05:30
query-service :
image : signoz/query-service:latest
2023-08-07 21:17:53 +05:30
container_name : signoz-query-service
2023-09-13 14:34:07 +05:30
command :
[
"-config=/root/config/prometheus.yml" ,
2024-01-10 01:16:24 +05:30
# "--prefer-delta=true"
2023-09-13 14:34:07 +05:30
]
2022-12-05 16:24:01 +05:30
# ports:
# - "6060:6060" # pprof port
# - "8080:8080" # query-service port
2022-03-22 00:03:20 +05:30
volumes :
- ./prometheus.yml:/root/config/prometheus.yml
- ../dashboards:/root/config/dashboards
2022-12-05 16:24:01 +05:30
- ./data/signoz/:/var/lib/signoz/
2022-03-22 00:03:20 +05:30
environment :
2024-02-28 15:06:47 +05:30
- ClickHouseUrl=tcp://clickhouse:9000
2022-08-24 18:58:44 +05:30
- ALERTMANAGER_API_PREFIX=http://alertmanager:9093/api/
2022-10-03 05:48:54 +05:30
- SIGNOZ_LOCAL_DB_PATH=/var/lib/signoz/signoz.db
- DASHBOARDS_PATH=/root/config/dashboards
2022-03-22 00:03:20 +05:30
- STORAGE=clickhouse
- GODEBUG=netdns=go
- TELEMETRY_ENABLED=true
2022-12-05 16:24:01 +05:30
- DEPLOYMENT_TYPE=docker-standalone-amd
restart : on -failure
2022-04-06 00:05:05 +05:30
healthcheck :
2023-08-07 21:17:53 +05:30
test :
[
"CMD" ,
"wget" ,
"--spider" ,
"-q" ,
"localhost:8080/api/v1/health"
]
2022-04-06 00:05:05 +05:30
interval : 30s
timeout : 5s
retries : 3
2023-10-20 12:37:45 +05:30
<< : *db-depend
otel-collector-migrator :
2024-02-14 18:17:28 +05:45
image : signoz/signoz-schema-migrator:${OTELCOL_TAG:-0.88.12}
2023-10-20 12:37:45 +05:30
container_name : otel-migrator
command :
- "--dsn=tcp://clickhouse:9000"
depends_on :
clickhouse :
condition : service_healthy
# clickhouse-2:
# condition: service_healthy
# clickhouse-3:
# condition: service_healthy
2022-03-22 00:03:20 +05:30
otel-collector :
2024-02-14 18:17:28 +05:45
image : signoz/signoz-otel-collector:0.88.12
2023-08-07 21:17:53 +05:30
container_name : signoz-otel-collector
command :
[
"--config=/etc/otel-collector-config.yaml" ,
2023-10-19 20:01:58 +05:30
"--manager-config=/etc/manager-config.yaml" ,
"--copy-path=/var/tmp/collector-config.yaml" ,
2023-08-07 21:17:53 +05:30
"--feature-gates=-pkg.translator.prometheus.NormalizeName"
]
2022-12-07 17:57:55 +05:30
user : root # required for reading docker container logs
2022-03-22 00:03:20 +05:30
volumes :
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
2023-10-19 20:01:58 +05:30
- ./otel-collector-opamp-config.yaml:/etc/manager-config.yaml
2022-08-24 15:11:38 +05:30
- /var/lib/docker/containers:/var/lib/docker/containers:ro
2022-07-14 19:36:19 +05:30
environment :
- OTEL_RESOURCE_ATTRIBUTES=host.name=signoz-host,os.type=linux
2022-12-09 21:57:25 +05:30
- DOCKER_MULTI_NODE_CLUSTER=false
2023-02-10 23:50:15 +05:30
- LOW_CARDINAL_EXCEPTION_GROUPING=false
2022-03-22 00:03:20 +05:30
ports :
2022-12-05 16:24:01 +05:30
# - "1777:1777" # pprof extension
2023-08-07 21:17:53 +05:30
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver
2022-12-05 16:24:01 +05:30
# - "8888:8888" # OtelCollector internal metrics
# - "8889:8889" # signoz spanmetrics exposed by the agent
# - "9411:9411" # Zipkin port
# - "13133:13133" # health check extension
# - "14250:14250" # Jaeger gRPC
# - "14268:14268" # Jaeger thrift HTTP
# - "55678:55678" # OpenCensus receiver
# - "55679:55679" # zPages extension
restart : on -failure
2023-10-19 20:01:58 +05:30
depends_on :
clickhouse :
condition : service_healthy
2023-10-20 12:37:45 +05:30
otel-collector-migrator :
condition : service_completed_successfully
2023-10-19 20:01:58 +05:30
query-service :
condition : service_healthy
2023-08-07 21:17:53 +05:30
logspout :
image : "gliderlabs/logspout:v3.2.14"
container_name : signoz-logspout
volumes :
- /etc/hostname:/etc/host_hostname:ro
- /var/run/docker.sock:/var/run/docker.sock
command : syslog+tcp://otel-collector:2255
depends_on :
- otel-collector
restart : on -failure
2022-03-22 00:03:20 +05:30
hotrod :
2023-08-07 21:17:53 +05:30
image : jaegertracing/example-hotrod:1.30
container_name : hotrod
logging :
options :
max-size : 50m
max-file : "3"
command : [ "all" ]
environment :
- JAEGER_ENDPOINT=http://otel-collector:14268/api/traces
2022-03-22 00:03:20 +05:30
load-hotrod :
2023-06-22 15:00:31 +05:30
image : "signoz/locust:1.2.3"
2022-03-22 00:03:20 +05:30
container_name : load-hotrod
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 :
2022-12-05 16:24:01 +05:30
- ../common/locust-scripts:/locust