signoz updates
This commit is contained in:
parent
ebcc6e4d2d
commit
04e233216c
9 changed files with 491 additions and 41 deletions
|
|
@ -1,71 +1,123 @@
|
|||
name: signoz
|
||||
|
||||
services:
|
||||
# ===========================================================================
|
||||
# ZooKeeper — required for ClickHouse coordination
|
||||
# ===========================================================================
|
||||
zookeeper:
|
||||
image: signoz/zookeeper:${ZOOKEEPER_VERSION:-3.7.1}
|
||||
restart: unless-stopped
|
||||
user: root
|
||||
environment:
|
||||
ZOO_SERVER_ID: 1
|
||||
ALLOW_ANONYMOUS_LOGIN: "yes"
|
||||
ZOO_AUTOPURGE_INTERVAL: 1
|
||||
ZOO_ENABLE_PROMETHEUS_METRICS: "yes"
|
||||
ZOO_PROMETHEUS_METRICS_PORT_NUMBER: 9141
|
||||
volumes:
|
||||
- ./zookeeper-data:/bitnami/zookeeper
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- curl -s -m 2 http://localhost:8080/commands/ruok | grep error | grep null
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
networks:
|
||||
- signoz
|
||||
|
||||
# ===========================================================================
|
||||
# Init ClickHouse — installs histogramQuantile user script
|
||||
# ===========================================================================
|
||||
init-clickhouse:
|
||||
image: clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-25.5}
|
||||
restart: on-failure
|
||||
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
|
||||
echo "Done."
|
||||
volumes:
|
||||
- ./clickhouse/user_scripts:/var/lib/clickhouse/user_scripts
|
||||
networks:
|
||||
- signoz
|
||||
|
||||
# ===========================================================================
|
||||
# ClickHouse — columnar storage for all telemetry data
|
||||
# ===========================================================================
|
||||
clickhouse:
|
||||
image: clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-25.5}
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
depends_on:
|
||||
init-clickhouse:
|
||||
condition: service_completed_successfully
|
||||
zookeeper:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
CLICKHOUSE_DB: ${CLICKHOUSE_DB:-signoz}
|
||||
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-admin}
|
||||
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-change-me-clickhouse-password}
|
||||
CLICKHOUSE_SKIP_USER_SETUP: "1"
|
||||
volumes:
|
||||
- ./clickhouse/config.xml:/etc/clickhouse-server/config.xml:ro
|
||||
- ./clickhouse/users.xml:/etc/clickhouse-server/users.xml:ro
|
||||
- ./clickhouse/custom-function.xml:/etc/clickhouse-server/custom-function.xml:ro
|
||||
- ./clickhouse/user_scripts:/var/lib/clickhouse/user_scripts:ro
|
||||
- ./clickhouse/config.d/cluster.xml:/etc/clickhouse-server/config.d/cluster.xml:ro
|
||||
- ./clickhouse-data:/var/lib/clickhouse
|
||||
healthcheck:
|
||||
test: wget --no-verbose --tries=1 --spider http://localhost:8123/ping || exit 1
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 30
|
||||
start_period: 10s
|
||||
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
|
||||
networks:
|
||||
- signoz
|
||||
|
||||
# ===========================================================================
|
||||
# SigNoz — all-in-one observability platform (query service + UI + collector)
|
||||
# ===========================================================================
|
||||
# Replaces both Alloy (OTEL collector) and LGTM (Grafana/Prometheus/Tempo/Loki).
|
||||
# Accepts OTLP gRPC (4317) and OTLP HTTP (4318) from all stacks.
|
||||
# UI on port 3301.
|
||||
#
|
||||
# Docs: https://signoz.io/docs/install/docker/
|
||||
# SigNoz — query service + UI
|
||||
# ===========================================================================
|
||||
signoz:
|
||||
image: signoz/signoz:${SIGNOZ_VERSION:-latest}
|
||||
image: signoz/signoz:${SIGNOZ_VERSION:-v0.128.0}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
clickhouse:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
SIGNOZ_TELEMETRY_STORE: clickhouse
|
||||
DSN: tcp://clickhouse:9000
|
||||
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-admin}
|
||||
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-change-me-clickhouse-password}
|
||||
CLICKHOUSE_DATABASE: ${CLICKHOUSE_DB:-signoz}
|
||||
STORAGE: clickhouse
|
||||
CLICKHOUSE_ENDPOINT: tcp://clickhouse:9000
|
||||
SIGNOZ_CLICKHOUSE_DSN: tcp://clickhouse:9000
|
||||
SIGNOZ_ALERTMANAGER_PROVIDER: signoz
|
||||
SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN: tcp://clickhouse:9000
|
||||
SIGNOZ_SQLSTORE_SQLITE_PATH: /var/lib/signoz/signoz.db
|
||||
SIGNOZ_TOKENIZER_JWT_SECRET: ${SIGNOZ_JWT_SECRET:-change-me-jwt-secret}
|
||||
ports:
|
||||
# SigNoz UI
|
||||
- ${EXPOSE_SIGNOZ_UI_PORT:-3301}:3301
|
||||
# OTLP gRPC receiver
|
||||
- ${EXPOSE_OTLP_GRPC_PORT:-4317}:4317
|
||||
# OTLP HTTP receiver
|
||||
- ${EXPOSE_OTLP_HTTP_PORT:-4318}:4318
|
||||
- ${EXPOSE_SIGNOZ_UI_PORT:-8080}:8080
|
||||
volumes:
|
||||
- ./signoz-data:/var/lib/signoz
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- --no-verbose
|
||||
- --tries=1
|
||||
- --spider
|
||||
- http://localhost:3301/api/v1/health
|
||||
interval: 15s
|
||||
- -q
|
||||
- localhost:8080/api/v1/health
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
networks:
|
||||
signoz: {}
|
||||
|
|
@ -78,6 +130,66 @@ services:
|
|||
# aliases:
|
||||
# - signoz
|
||||
|
||||
# ===========================================================================
|
||||
# OTEL Collector — receives OTLP from all stacks
|
||||
# ===========================================================================
|
||||
otel-collector:
|
||||
image: signoz/signoz-otel-collector:${OTELCOL_VERSION:-v0.144.5}
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
clickhouse:
|
||||
condition: service_healthy
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
command:
|
||||
- -c
|
||||
- |
|
||||
/signoz-otel-collector migrate sync check &&
|
||||
/signoz-otel-collector --config=/etc/otel-collector-config.yaml --manager-config=/etc/manager-config.yaml --copy-path=/var/tmp/collector-config.yaml
|
||||
volumes:
|
||||
- ./otel-collector/otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
|
||||
- ./otel-collector/manager-config.yaml:/etc/manager-config.yaml:ro
|
||||
environment:
|
||||
OTEL_RESOURCE_ATTRIBUTES: host.name=signoz-host,os.type=linux
|
||||
LOW_CARDINAL_EXCEPTION_GROUPING: "false"
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN: tcp://clickhouse:9000
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_CLUSTER: cluster
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_REPLICATION: "true"
|
||||
SIGNOZ_OTEL_COLLECTOR_TIMEOUT: 10m
|
||||
ports:
|
||||
# OTLP gRPC receiver
|
||||
- ${EXPOSE_OTLP_GRPC_PORT:-4317}:4317
|
||||
# OTLP HTTP receiver
|
||||
- ${EXPOSE_OTLP_HTTP_PORT:-4318}:4318
|
||||
networks:
|
||||
- signoz
|
||||
- pipeline
|
||||
|
||||
# ===========================================================================
|
||||
# Telemetry Store Migrator — runs ClickHouse migrations
|
||||
# ===========================================================================
|
||||
migrator:
|
||||
image: signoz/signoz-otel-collector:${OTELCOL_VERSION:-v0.144.5}
|
||||
restart: on-failure
|
||||
depends_on:
|
||||
clickhouse:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_DSN: tcp://clickhouse:9000
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_CLUSTER: cluster
|
||||
SIGNOZ_OTEL_COLLECTOR_CLICKHOUSE_REPLICATION: "true"
|
||||
SIGNOZ_OTEL_COLLECTOR_TIMEOUT: 10m
|
||||
entrypoint:
|
||||
- /bin/sh
|
||||
command:
|
||||
- -c
|
||||
- |
|
||||
/signoz-otel-collector migrate bootstrap &&
|
||||
/signoz-otel-collector migrate sync up &&
|
||||
/signoz-otel-collector migrate async up
|
||||
networks:
|
||||
- signoz
|
||||
|
||||
networks:
|
||||
signoz:
|
||||
name: signoz
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue