feat: signoz
This commit is contained in:
parent
dc39e02242
commit
ebcc6e4d2d
4 changed files with 219 additions and 30 deletions
35
docker/signoz/.env.example
Normal file
35
docker/signoz/.env.example
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# =============================================================================
|
||||
# SigNoz — OpenTelemetry Observability Platform
|
||||
# =============================================================================
|
||||
# Copy to .env and edit for your deployment.
|
||||
# cp .env.example .env
|
||||
# The actual .env is deployed by Dockhand and should not be committed.
|
||||
#
|
||||
# Replaces both Alloy (OTEL collector) and LGTM (Grafana/Prometheus/Tempo/Loki).
|
||||
# All stacks should point their OTLP exporters to signoz on the pipeline network.
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# SigNoz Image Version
|
||||
# -----------------------------------------------------------------------------
|
||||
# Pin a specific version for reproducibility. Check releases at:
|
||||
# https://github.com/SigNoz/signoz/releases
|
||||
SIGNOZ_VERSION=latest
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# ClickHouse
|
||||
# -----------------------------------------------------------------------------
|
||||
CLICKHOUSE_VERSION=25.5
|
||||
CLICKHOUSE_DB=signoz
|
||||
CLICKHOUSE_USER=admin
|
||||
CLICKHOUSE_PASSWORD=change-me-clickhouse-password
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Exposed Ports
|
||||
# -----------------------------------------------------------------------------
|
||||
# SigNoz UI
|
||||
EXPOSE_SIGNOZ_UI_PORT=3301
|
||||
# OTLP gRPC receiver (used by instrumented apps/services)
|
||||
EXPOSE_OTLP_GRPC_PORT=4317
|
||||
# OTLP HTTP receiver (used by instrumented apps/services)
|
||||
EXPOSE_OTLP_HTTP_PORT=4318
|
||||
92
docker/signoz/compose.yaml
Normal file
92
docker/signoz/compose.yaml
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
name: signoz
|
||||
|
||||
services:
|
||||
# ===========================================================================
|
||||
# ClickHouse — columnar storage for all telemetry data
|
||||
# ===========================================================================
|
||||
clickhouse:
|
||||
image: clickhouse/clickhouse-server:${CLICKHOUSE_VERSION:-25.5}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
CLICKHOUSE_DB: ${CLICKHOUSE_DB:-signoz}
|
||||
CLICKHOUSE_USER: ${CLICKHOUSE_USER:-admin}
|
||||
CLICKHOUSE_PASSWORD: ${CLICKHOUSE_PASSWORD:-change-me-clickhouse-password}
|
||||
volumes:
|
||||
- ./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
|
||||
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:
|
||||
image: signoz/signoz:${SIGNOZ_VERSION:-latest}
|
||||
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
|
||||
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
|
||||
volumes:
|
||||
- ./signoz-data:/var/lib/signoz
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- wget
|
||||
- --no-verbose
|
||||
- --tries=1
|
||||
- --spider
|
||||
- http://localhost:3301/api/v1/health
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
networks:
|
||||
signoz: {}
|
||||
pipeline:
|
||||
aliases:
|
||||
- signoz
|
||||
- otel
|
||||
- lgtm
|
||||
# swag:
|
||||
# aliases:
|
||||
# - signoz
|
||||
|
||||
networks:
|
||||
signoz:
|
||||
name: signoz
|
||||
driver: bridge
|
||||
pipeline:
|
||||
name: pipeline
|
||||
external: true
|
||||
# swag:
|
||||
# name: swag
|
||||
# external: true
|
||||
|
||||
volumes: {}
|
||||
37
docker/signoz/swag/signoz.subdomain.conf
Normal file
37
docker/signoz/swag/signoz.subdomain.conf
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
## -----------------------------------------------------------------------------
|
||||
## SWAG proxy config for SigNoz
|
||||
## Domain: signoz.ld50.xyz
|
||||
## Upstream: signoz:3301 (shared Docker network: ${NETWORKS_EXTERNAL_NAME:-swag})
|
||||
##
|
||||
## Install:
|
||||
## 1) Copy this file into SWAG: /config/nginx/proxy-confs/signoz.subdomain.conf
|
||||
## 2) Ensure both stacks share the same external Docker network (e.g. `swag`).
|
||||
## 3) In curated_compose/signoz/compose.yaml, uncomment the swag network + service attachment.
|
||||
## 4) Reload SWAG.
|
||||
## -----------------------------------------------------------------------------
|
||||
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
|
||||
server_name signoz.ld50.xyz;
|
||||
|
||||
include /config/nginx/ssl.conf;
|
||||
|
||||
location / {
|
||||
include /config/nginx/proxy.conf;
|
||||
|
||||
set $upstream_app signoz;
|
||||
set $upstream_port 3301;
|
||||
set $upstream_proto http;
|
||||
|
||||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||||
|
||||
# SigNoz UI uses WebSocket for live query results
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
|
||||
proxy_read_timeout 3600s;
|
||||
proxy_send_timeout 3600s;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue