203 lines
5.8 KiB
YAML
203 lines
5.8 KiB
YAML
x-defaults: &defaults
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
|
|
x-clickhouse-defaults: &clickhouse-defaults
|
|
restart: on-failure
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 100m
|
|
max-file: "3"
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "localhost:8123/ping"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${SIGNOZ_CLICKHOUSE_CPU_LIMIT:-2.0}
|
|
memory: ${SIGNOZ_CLICKHOUSE_MEMORY_LIMIT:-4G}
|
|
reservations:
|
|
cpus: ${SIGNOZ_CLICKHOUSE_CPU_RESERVATION:-0.5}
|
|
memory: ${SIGNOZ_CLICKHOUSE_MEMORY_RESERVATION:-1G}
|
|
|
|
services:
|
|
# ClickHouse for storing traces, metrics and logs
|
|
clickhouse:
|
|
<<: *clickhouse-defaults
|
|
image: ${GLOBAL_REGISTRY:-}clickhouse/clickhouse-server:${SIGNOZ_CLICKHOUSE_VERSION:-24.11.1-alpine}
|
|
user: "101:101" # ClickHouse user
|
|
volumes:
|
|
- clickhouse_data:/var/lib/clickhouse
|
|
- ./clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
|
|
- ./clickhouse-users.xml:/etc/clickhouse-server/users.d/logging.xml:ro
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- CLICKHOUSE_DB=${SIGNOZ_CLICKHOUSE_DB:-signoz}
|
|
|
|
# OTel Collector for receiving telemetry data
|
|
otel-collector:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}signoz/signoz-otel-collector:${SIGNOZ_OTEL_COLLECTOR_VERSION:-0.102.8}
|
|
command:
|
|
- "--config=/etc/otel-collector-config.yaml"
|
|
volumes:
|
|
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- OTEL_RESOURCE_ATTRIBUTES=${SIGNOZ_OTEL_RESOURCE_ATTRIBUTES:-host.name=signoz-host}
|
|
ports:
|
|
- "${SIGNOZ_OTEL_GRPC_PORT_OVERRIDE:-4317}:4317" # OTLP gRPC receiver
|
|
- "${SIGNOZ_OTEL_HTTP_PORT_OVERRIDE:-4318}:4318" # OTLP HTTP receiver
|
|
depends_on:
|
|
clickhouse:
|
|
condition: service_healthy
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${SIGNOZ_OTEL_COLLECTOR_CPU_LIMIT:-1.0}
|
|
memory: ${SIGNOZ_OTEL_COLLECTOR_MEMORY_LIMIT:-2G}
|
|
reservations:
|
|
cpus: ${SIGNOZ_OTEL_COLLECTOR_CPU_RESERVATION:-0.25}
|
|
memory: ${SIGNOZ_OTEL_COLLECTOR_MEMORY_RESERVATION:-512M}
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--no-verbose",
|
|
"--tries=1",
|
|
"--spider",
|
|
"http://localhost:13133/",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# Query Service for querying data
|
|
query-service:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}signoz/query-service:${SIGNOZ_QUERY_SERVICE_VERSION:-0.55.0}
|
|
command:
|
|
- "-config=/root/config/prometheus.yml"
|
|
volumes:
|
|
- ./query-service/prometheus.yml:/root/config/prometheus.yml:ro
|
|
- signoz_data:/var/lib/signoz
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
- ClickHouseUrl=${SIGNOZ_CLICKHOUSE_URL:-tcp://clickhouse:9000/?database=signoz}
|
|
- STORAGE=${SIGNOZ_STORAGE:-clickhouse}
|
|
- GODEBUG=${SIGNOZ_GODEBUG:-netdns=go}
|
|
- TELEMETRY_ENABLED=${SIGNOZ_TELEMETRY_ENABLED:-true}
|
|
- DEPLOYMENT_TYPE=${SIGNOZ_DEPLOYMENT_TYPE:-docker-standalone-amd}
|
|
depends_on:
|
|
clickhouse:
|
|
condition: service_healthy
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${SIGNOZ_QUERY_SERVICE_CPU_LIMIT:-1.0}
|
|
memory: ${SIGNOZ_QUERY_SERVICE_MEMORY_LIMIT:-1G}
|
|
reservations:
|
|
cpus: ${SIGNOZ_QUERY_SERVICE_CPU_RESERVATION:-0.25}
|
|
memory: ${SIGNOZ_QUERY_SERVICE_MEMORY_RESERVATION:-256M}
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--no-verbose",
|
|
"--tries=1",
|
|
"--spider",
|
|
"http://localhost:8080/api/v1/health",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# Frontend for the UI
|
|
frontend:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}signoz/frontend:${SIGNOZ_FRONTEND_VERSION:-0.55.0}
|
|
ports:
|
|
- "${SIGNOZ_PORT_OVERRIDE:-3301}:3301"
|
|
volumes:
|
|
- ./frontend/nginx-config.conf:/etc/nginx/conf.d/default.conf:ro
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
depends_on:
|
|
query-service:
|
|
condition: service_healthy
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${SIGNOZ_FRONTEND_CPU_LIMIT:-0.5}
|
|
memory: ${SIGNOZ_FRONTEND_MEMORY_LIMIT:-512M}
|
|
reservations:
|
|
cpus: ${SIGNOZ_FRONTEND_CPU_RESERVATION:-0.1}
|
|
memory: ${SIGNOZ_FRONTEND_MEMORY_RESERVATION:-128M}
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--no-verbose",
|
|
"--tries=1",
|
|
"--spider",
|
|
"http://localhost:3301/api/v1/health",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
# Alert Manager for managing alerts
|
|
alertmanager:
|
|
<<: *defaults
|
|
image: ${GLOBAL_REGISTRY:-}signoz/alertmanager:${SIGNOZ_ALERTMANAGER_VERSION:-0.23.5}
|
|
command:
|
|
- --queryService.url=http://query-service:8080
|
|
- --storage.path=/data
|
|
volumes:
|
|
- alertmanager_data:/data
|
|
environment:
|
|
- TZ=${TZ:-UTC}
|
|
depends_on:
|
|
query-service:
|
|
condition: service_healthy
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: ${SIGNOZ_ALERTMANAGER_CPU_LIMIT:-0.5}
|
|
memory: ${SIGNOZ_ALERTMANAGER_MEMORY_LIMIT:-512M}
|
|
reservations:
|
|
cpus: ${SIGNOZ_ALERTMANAGER_CPU_RESERVATION:-0.1}
|
|
memory: ${SIGNOZ_ALERTMANAGER_MEMORY_RESERVATION:-128M}
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD",
|
|
"wget",
|
|
"--no-verbose",
|
|
"--tries=1",
|
|
"--spider",
|
|
"http://localhost:9093/-/healthy",
|
|
]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
volumes:
|
|
clickhouse_data:
|
|
signoz_data:
|
|
alertmanager_data:
|