SigNoz Observability Platform
SigNoz for metrics, traces, and logs.
Overview
SigNoz is an open-source observability platform that provides Application Performance Monitoring (APM) capabilities through a unified interface for metrics, traces, and logs. Built as an alternative to proprietary solutions like DataDog and New Relic, SigNoz leverages OpenTelemetry standards for data collection and ClickHouse as its storage backend, offering both cost-effectiveness and data sovereignty for organizations requiring comprehensive application monitoring. This stack combines SigNoz's query service and frontend with ClickHouse's columnar database engine and an OpenTelemetry collector, creating a complete observability solution that can handle high-volume telemetry data with real-time query capabilities. The integration provides automatic correlation between traces, metrics, and logs, enabling developers to quickly identify performance bottlenecks and troubleshoot issues across distributed systems. Organizations seeking vendor-independent observability tooling will find this combination particularly valuable, as it eliminates per-seat licensing costs while maintaining enterprise-grade monitoring capabilities through ClickHouse's analytical processing power and SigNoz's intuitive dashboards.
Key Features
- OpenTelemetry-native data collection supporting OTLP over gRPC (4317) and HTTP (4318) protocols
- ClickHouse columnar storage enabling sub-second query performance on billions of telemetry data points
- Distributed tracing with automatic service topology mapping and dependency visualization
- Custom metrics dashboards with PromQL-compatible query language support
- Log aggregation with structured search and correlation to traces and metrics
- Application performance monitoring with SLA tracking and alerting capabilities
- Service-level indicators (SLIs) and service-level objectives (SLOs) management
- Exception tracking with stack trace analysis and error rate monitoring
Common Use Cases
- 1Microservices monitoring for teams migrating from monolithic architectures requiring distributed tracing
- 2Cost-conscious startups seeking DataDog or New Relic alternatives without per-seat pricing models
- 3Enterprise environments with data residency requirements needing self-hosted observability solutions
- 4DevOps teams implementing OpenTelemetry instrumentation across polyglot application stacks
- 5SRE organizations establishing observability practices with custom SLI/SLO definitions
- 6Development teams requiring correlation between application logs, metrics, and traces in a single interface
- 7Organizations with high-volume telemetry data needing sub-second query performance on historical data
Prerequisites
- Minimum 8GB RAM allocation with 16GB+ recommended for production ClickHouse workloads
- Available ports 3301 (SigNoz UI), 4317 (OTLP gRPC), and 4318 (OTLP HTTP) on the host system
- Understanding of OpenTelemetry instrumentation libraries for your application programming languages
- Basic knowledge of PromQL query syntax for creating custom metrics dashboards
- Familiarity with distributed tracing concepts including spans, traces, and sampling strategies
- Docker host with sufficient disk space for time-series data retention based on ingestion volume
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 clickhouse: 3 image: clickhouse/clickhouse-server:latest4 container_name: signoz-clickhouse5 restart: unless-stopped6 volumes: 7 - clickhouse_data:/var/lib/clickhouse8 ulimits: 9 nofile: 10 soft: 26214411 hard: 2621441213 query-service: 14 image: signoz/query-service:latest15 container_name: signoz-query16 restart: unless-stopped17 environment: 18 - ClickHouseUrl=tcp://clickhouse:900019 depends_on: 20 - clickhouse2122 frontend: 23 image: signoz/frontend:latest24 container_name: signoz-frontend25 restart: unless-stopped26 ports: 27 - "${SIGNOZ_PORT:-3301}:3301"28 depends_on: 29 - query-service3031 otel-collector: 32 image: signoz/signoz-otel-collector:latest33 container_name: signoz-otel34 restart: unless-stopped35 ports: 36 - "${OTLP_GRPC:-4317}:4317"37 - "${OTLP_HTTP:-4318}:4318"38 depends_on: 39 - clickhouse4041volumes: 42 clickhouse_data: .env Template
.env
1# SigNoz2SIGNOZ_PORT=33013OTLP_GRPC=43174OTLP_HTTP=4318Usage Notes
- 1SigNoz UI at http://localhost:3301
- 2Send traces to port 4317/4318
- 3Configure OpenTelemetry SDKs
- 4ClickHouse for fast queries
Individual Services(4 services)
Copy individual services to mix and match with your existing compose files.
clickhouse
clickhouse:
image: clickhouse/clickhouse-server:latest
container_name: signoz-clickhouse
restart: unless-stopped
volumes:
- clickhouse_data:/var/lib/clickhouse
ulimits:
nofile:
soft: 262144
hard: 262144
query-service
query-service:
image: signoz/query-service:latest
container_name: signoz-query
restart: unless-stopped
environment:
- ClickHouseUrl=tcp://clickhouse:9000
depends_on:
- clickhouse
frontend
frontend:
image: signoz/frontend:latest
container_name: signoz-frontend
restart: unless-stopped
ports:
- ${SIGNOZ_PORT:-3301}:3301
depends_on:
- query-service
otel-collector
otel-collector:
image: signoz/signoz-otel-collector:latest
container_name: signoz-otel
restart: unless-stopped
ports:
- ${OTLP_GRPC:-4317}:4317
- ${OTLP_HTTP:-4318}:4318
depends_on:
- clickhouse
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 clickhouse:5 image: clickhouse/clickhouse-server:latest6 container_name: signoz-clickhouse7 restart: unless-stopped8 volumes:9 - clickhouse_data:/var/lib/clickhouse10 ulimits:11 nofile:12 soft: 26214413 hard: 2621441415 query-service:16 image: signoz/query-service:latest17 container_name: signoz-query18 restart: unless-stopped19 environment:20 - ClickHouseUrl=tcp://clickhouse:900021 depends_on:22 - clickhouse2324 frontend:25 image: signoz/frontend:latest26 container_name: signoz-frontend27 restart: unless-stopped28 ports:29 - "${SIGNOZ_PORT:-3301}:3301"30 depends_on:31 - query-service3233 otel-collector:34 image: signoz/signoz-otel-collector:latest35 container_name: signoz-otel36 restart: unless-stopped37 ports:38 - "${OTLP_GRPC:-4317}:4317"39 - "${OTLP_HTTP:-4318}:4318"40 depends_on:41 - clickhouse4243volumes:44 clickhouse_data:45EOF4647# 2. Create the .env file48cat > .env << 'EOF'49# SigNoz50SIGNOZ_PORT=330151OTLP_GRPC=431752OTLP_HTTP=431853EOF5455# 3. Start the services56docker compose up -d5758# 4. View logs59docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/signoz-observability/run | bashTroubleshooting
- ClickHouse 'Memory limit exceeded' errors: Increase Docker memory allocation or configure ClickHouse max_memory_usage settings
- OpenTelemetry collector connection refused on 4317/4318: Verify OTLP_GRPC and OTLP_HTTP environment variables match application endpoint configuration
- SigNoz frontend shows 'Query service unavailable': Check ClickHouseUrl environment variable and ensure ClickHouse container is healthy on port 9000
- Missing traces in SigNoz UI: Verify OpenTelemetry SDK initialization includes proper OTLP exporter endpoint configuration
- High ClickHouse disk usage: Configure data retention policies through SigNoz settings or implement ClickHouse TTL on telemetry tables
- Slow query performance in dashboards: Optimize ClickHouse table partitioning by timestamp and consider increasing clickhouse_data volume IOPS
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
signozclickhouseotel-collector
Tags
#signoz#observability#apm#opentelemetry
Category
Monitoring & ObservabilityAd Space
Shortcuts: C CopyF FavoriteD Download