Reference¶
Scope
Look-up facts for SigNoz as of 2026-09-25: versions, editions, pricing, components and ports, ClickHouse databases and tables, default retention, configuration keys, Foundry casting keys, Helm values, capacity figures, benchmark results and a hardening checklist. For why the pieces fit together, see Explanation. For step-by-step tasks, see How-to Guides.
Versions and Release Cadence¶
| Artifact | Latest (date) | Source |
|---|---|---|
SigNoz (signoz/signoz) |
v0.143.0 (2026-09-23) | Release notes, upgrade guide |
SigNoz OTel Collector (signoz/signoz-otel-collector) |
v0.144.11 (2026-09-22) | Release |
Helm chart signoz/signoz |
0.143.0 (appVersion v0.143.0) | Chart.yaml |
Foundry (foundryctl) |
v0.3.0 (2026-09-23) | Foundry releases |
| ClickHouse image shipped by Foundry and the chart | clickhouse/clickhouse-server:25.12.5 |
Foundry compose example, chart values.yaml |
| Release type | Frequency | Notes |
|---|---|---|
| Minor (v0.N.0) | Weekly, every Wednesday | Features, improvements and possibly breaking changes |
| Patch (v0.N.x) | As needed | Urgent fixes and security patches |
Source: Upgrade SigNoz, release cycle.
Required upgrade stops
Some releases are required stops because they carry schema migrations that later releases depend on. Use the Upgrade Path Tool and pin each stop. An unpinned upgrade jumps straight to the latest release.
Notable version milestones¶
| Version | Change |
|---|---|
| v0.130.0 | install.sh and the Compose/Swarm files under deploy/ deprecated. Foundry becomes the supported installer (Docker install docs). |
| v0.143.0 | AI Observability (overview, explorer, attribute mapping, per-model pricing). Login sessions default to opaque tokens. The JWT provider now refuses to start without an explicit secret. Needs collector v0.144.11 with the signozspanmapper and signozllmpricing processors. Legacy logs explorer and v1 dashboards backend removed. |
Editions and Licensing¶
| Edition | Hosting | License / terms | Notes |
|---|---|---|---|
| Community | Self-hosted | MIT (Expat) for everything outside ee/ and cmd/enterprise/ |
Free, no seat or host limits |
| Enterprise Self-Hosted | Self-hosted | SigNoz Enterprise License (ee/LICENSE) |
Paid license needed for production. Dev/test use is free. |
| SigNoz Cloud (Teams) | SaaS | Subscription | Usage-based. 30-day free trial, no credit card needed. |
| Enterprise Cloud / BYOC | SaaS or customer cloud | Subscription | Compliance, custom retention, data residency, support |
| SigNoz OTel Collector | Any | GNU AGPL v3.0 | Separate repository, SigNoz/signoz-otel-collector |
| Helm charts | Any | MIT | SigNoz/charts |
Sources: LICENSE, ee/LICENSE, collector README, README.
Feature availability by edition¶
| Feature | Community | Cloud | Enterprise Self-Hosted | Source |
|---|---|---|---|---|
| Google Workspace SSO (OAuth2) | Yes | Yes | Yes | SSO overview |
| SAML 2.0 and OIDC SSO | No | Yes | Yes | SSO overview |
| Service accounts and API keys | Yes | Yes | Yes | Service accounts |
| Custom roles, fine-grained access (beta) | No | Yes | Yes (license required) | Roles |
| Anomaly-based alerts | No | Yes | Yes | Anomaly alerts |
| Ingestion keys with per-signal limits | Not needed | Yes | TBD | Ingestion keys |
| Noz (in-product AI assistant) | No | Yes | No | Noz |
| MCP server | Self-deployed via Foundry | Hosted | Self-deployed | MCP server |
SigNoz Cloud Pricing¶
| Item | Price | Default retention |
|---|---|---|
| Teams base fee | $49/month, which includes $49 of usage (earlier $199/month) | — |
| Logs | $0.30 per GB ingested | 15 days |
| Traces | $0.30 per GB ingested | 15 days |
| Metrics | $0.10 per million samples | 30 days (1 month) |
| Seats, hosts, custom metrics | Not charged | — |
| Enterprise | Custom. Third-party trackers report "from $4,000/month" (unverified with SigNoz). | Custom |
Sources: SigNoz pricing, Cloud Teams plan now at $49, SigNoz FAQ on hidden costs. The Enterprise figure comes from costbench and CubeAPM.
Available Cloud retention tiers: logs and traces 15, 30, 90 or 180 days, or 1 year. Metrics 1, 3, 6 or 13 months (retention docs). Longer retention costs more.
Components and Ports¶
| Component | Image / binary | Role | Default ports |
|---|---|---|---|
| SigNoz (single binary) | signoz/signoz (./signoz server) |
API server, bundled React UI, ruler, Alertmanager, OpAMP server | 8080 (UI + API), 6060 (pprof) |
| Ingester (SigNoz OTel Collector) | signoz/signoz-otel-collector |
OTLP receive, process, write to ClickHouse | 4317 (OTLP gRPC), 4318 (OTLP HTTP), 13133 (health), 1777 (pprof), 8888 (internal metrics, Helm) |
| Telemetry store migrator | signoz/signoz-otel-collector migrate ... |
ClickHouse schema bootstrap and migrations (one-shot job) | — |
| Telemetry store | ClickHouse | Logs, traces, metrics, meter, metadata | 9000 (native TCP), 8123 (HTTP), 9363 (Prometheus metrics, Helm) |
| Telemetry keeper | ClickHouse Keeper (Foundry default) or ZooKeeper (Helm default image signoz/zookeeper:3.7.1) |
ClickHouse replication and DDL coordination | 9181 (Keeper), 2181 (ZooKeeper) |
| Metastore | SQLite (binary default, /var/lib/signoz/signoz.db) or PostgreSQL (Foundry default, postgres:16) |
Users, orgs, dashboards, alerts, pipelines, pricing rules | 5432 (Postgres) |
| SigNoz MCP server (optional) | signoz-mcp |
MCP access for AI clients | 8000 |
Sources: Foundry compose example, moldings, conf/example.yaml, Docker install docs.
Health endpoints: GET http://<signoz>:8080/api/v1/health (SigNoz). http://<clickhouse>:8123/ping (ClickHouse). The collector exposes the signoz_health_check extension on port 13133.
Collector Default Pipelines¶
The Foundry-generated ingester.yaml for v0.143.0 / collector v0.144.11 wires these pipelines:
| Pipeline | Receivers | Processors | Exporters |
|---|---|---|---|
traces |
otlp |
signozspanmetrics/delta, signozspanmapper, signozllmpricing, batch |
clickhousetraces, signozmeter, metadataexporter |
metrics |
otlp |
batch |
signozclickhousemetrics, signozmeter, metadataexporter |
logs |
otlp |
batch |
clickhouselogsexporter, signozmeter, metadataexporter |
metrics/meter |
signozmeter (connector) |
batch/meter |
signozclickhousemeter |
Default batch processor: send_batch_size: 50000, send_batch_max_size: 55000, timeout: 5s.
SigNoz-specific collector components¶
| Kind | Components |
|---|---|
| Receivers | httplogreceiver, signozkafkareceiver, signozawsfirehosereceiver, clickhousesystemtablesreceiver |
| Processors | signozspanmetricsprocessor, signozlogspipelineprocessor, signoztailsampler, signoztransformprocessor, signozspanmapperprocessor, signozllmpricingprocessor |
| Exporters | clickhousetracesexporter, clickhouselogsexporter, signozclickhousemetrics, signozclickhousemeter, metadataexporter, signozkafkaexporter |
| Connectors / extensions | signozmeterconnector, healthcheckextension |
The distribution also bundles many upstream Collector-Contrib components. Among them are jaeger, zipkin, prometheus, prometheusremotewrite, fluentforward, syslog, filelog, kafka, loki, datadog, influxdb, splunkhec, skywalking, k8scluster, kubeletstats and hostmetrics receivers, plus memory_limiter, tail_sampling, k8sattributes, transform and filter processors. None of these is in the default pipelines, so you must configure one before it does anything. Source: components.go.
ClickHouse Databases and Tables¶
| Database | Main tables (local; distributed_* counterparts exist) |
Default TTL |
|---|---|---|
signoz_traces |
signoz_index_v3 (spans), traces_v3_resource (resource fingerprints), trace_summary, dependency_graph_minutes*, tag_attributes_v2, span_attributes_keys |
15 days (1,296,000 s) |
signoz_logs |
logs_v2, logs_v2_resource, tag_attributes_v2, logs_attribute_keys, logs_resource_keys |
15 days |
signoz_metrics |
samples_v4, time_series_v4 (+ _6hrs, _1day, _1week rollups), exp_hist, metadata, updated_metadata, samples_v4_reduced_*, metric_reduction_rules |
30 days (2,592,000 s) |
signoz_meter |
samples, samples_agg_1d |
1 year |
signoz_metadata |
attributes_metadata, column_evolution_metadata, field-keys tables |
15 to 30 days |
signoz_analytics |
rule_state_history_v0 (alert state history) |
TBD |
Source: schema migrator definitions in cmd/signozschemamigrator. Legacy tables such as signoz_traces.signoz_index_v2 and signoz_logs.logs belong to older schemas and do not appear in current migrations.
signoz_traces.signoz_index_v3 (key columns)¶
| Column | Type | Notes |
|---|---|---|
ts_bucket_start |
UInt64 | Time bucket used for pruning; filter with BETWEEN start - 1800 AND end |
resource_fingerprint |
String | Joins to traces_v3_resource.fingerprint |
timestamp |
DateTime64(9) | Span start |
trace_id |
FixedString(32) | Alias traceID |
span_id, parent_span_id |
String | Aliases spanID, parentSpanID |
name |
LowCardinality(String) | Operation name |
kind, kind_string |
Int8, String | Span kind |
duration_nano |
UInt64 | Alias durationNano |
status_code, status_code_string, has_error |
Int16, String, Bool | Error status |
attributes_string / _number / _bool |
Map(LowCardinality(String), String/Float64/Bool) | Span attributes by type |
resources_string |
Map(LowCardinality(String), String) | Resource attributes |
events, links |
Array(String), String | Span events and links |
http_method, http_url, db_name, db_operation, ... |
LowCardinality(String) | Promoted semantic-convention columns |
serviceName, httpRoute, dbSystem, peerService, ... |
alias | Aliases onto materialized attribute columns |
Engine MergeTree, PARTITION BY toDate(timestamp), ORDER BY (ts_bucket_start, resource_fingerprint, has_error, name, timestamp), ttl_only_drop_parts = 1.
signoz_logs.logs_v2 (columns)¶
| Column | Type | Notes |
|---|---|---|
ts_bucket_start, resource_fingerprint |
UInt64, String | Same bucket/fingerprint pattern as traces |
timestamp, observed_timestamp |
UInt64 | Unix nanoseconds |
id |
String | Log ID |
trace_id, span_id, trace_flags |
String, String, UInt32 | Trace correlation |
severity_text, severity_number |
LowCardinality(String), UInt8 | Level |
body |
String (ZSTD(2)) | Message |
attributes_string / _number / _bool |
Map | Log attributes by type |
resources_string (deprecated), resource |
Map, JSON | Resource attributes |
scope_name, scope_version, scope_string |
String, String, Map | Instrumentation scope |
Source: Logs ClickHouse queries, Traces ClickHouse queries. When a key is promoted, it gets a materialized column named attribute_string_<key> plus an _exists flag.
Default Retention¶
| Signal | Self-hosted default | Cloud default | Configure via |
|---|---|---|---|
| Traces | 15 days | 15 days | Settings, Workspace, Retention Controls (self-hosted). Support request (Cloud). |
| Logs | 15 days | 15 days | Same |
| Metrics | 30 days | 30 days | Same |
A retention change applies only to newly ingested data. Expired data cannot be recovered (retention docs).
SigNoz Server Configuration Keys¶
Configuration comes from YAML (conf/example.yaml) or environment variables. The env name is SIGNOZ_ plus the section and key in upper case, and a __ in the name becomes a literal _ in the key.
| Key | Env var | Default | Purpose |
|---|---|---|---|
sqlstore.provider |
SIGNOZ_SQLSTORE_PROVIDER |
sqlite |
sqlite or postgres metastore |
sqlstore.sqlite.path |
SIGNOZ_SQLSTORE_SQLITE_PATH |
/var/lib/signoz/signoz.db |
SQLite file |
sqlstore.postgres.dsn |
SIGNOZ_SQLSTORE_POSTGRES_DSN |
— | Postgres DSN (Foundry sets it) |
telemetrystore.provider |
SIGNOZ_TELEMETRYSTORE_PROVIDER |
clickhouse |
Telemetry store |
telemetrystore.clickhouse.dsn |
SIGNOZ_TELEMETRYSTORE_CLICKHOUSE_DSN |
tcp://localhost:9000 |
ClickHouse DSN |
telemetrystore.clickhouse.cluster |
— | cluster |
ClickHouse cluster name |
apiserver.address |
— | 0.0.0.0:8080 |
HTTP listen address |
querier.max_concurrent_queries |
— | 8 |
Querier concurrency |
alertmanager.provider |
SIGNOZ_ALERTMANAGER_PROVIDER |
signoz |
Built-in Alertmanager |
emailing.enabled |
SIGNOZ_EMAILING_ENABLED |
false |
SMTP invitations and alerts |
tokenizer.provider |
SIGNOZ_TOKENIZER_PROVIDER |
opaque (since v0.143.0) |
Session tokens: opaque or jwt |
tokenizer.jwt.secret |
SIGNOZ_TOKENIZER_JWT_SECRET |
must be set for jwt |
JWT signing secret |
tokenizer.lifetime.idle / .max |
— | 168h / 720h |
Session idle and absolute lifetime |
authz.provider |
— | openfga |
Authorization engine |
analytics.enabled |
— | false |
Product analytics |
statsreporter.enabled |
— | true |
Usage stats reporting |
Foundry Casting Keys¶
| Key | Values | Notes |
|---|---|---|
apiVersion / kind |
v1alpha1 / Installation |
— |
spec.deployment.mode |
docker, kubernetes, systemd, plus platform targets (ecs, coolify, railway, render) |
Target platform |
spec.deployment.flavor |
compose, swarm, helm, kustomize, binary, terraform, stack, template, blueprint |
Output format |
spec.telemetrystore |
ClickHouse | spec.cluster.shards, spec.cluster.replicas, spec.image, spec.config.data |
spec.telemetrykeeper.kind |
clickhousekeeper (default), zookeeper |
zookeeper is not supported with mode: systemd |
spec.metastore.kind |
postgres (default), sqlite |
SQLite is single-node only |
spec.signoz |
SigNoz binary | image, env, cluster.replicas |
spec.ingester |
SigNoz OTel Collector | spec.config.data.ingester.yaml merges using JSON Merge Patch (lists are replaced) |
spec.mcp.spec.enabled |
true / false |
Adds signoz-mcp on port 8000 |
spec.patches |
JSON-Patch style operations on generated files | For platform-level overrides |
CLI: foundryctl gauge (validate tools), forge (render into ./pours), cast (gauge + forge + deploy), gen (example castings). Flags: -f/--file, -p/--pours, --format json|text, --no-ledger, --no-updater. Source: Foundry README.
Helm Chart Values (signoz/signoz 0.143.0)¶
| Value | Default | Notes |
|---|---|---|
signoz.image.tag |
v0.143.0 |
SigNoz StatefulSet named after the release |
signoz.service.port |
8080 |
UI and API |
signoz.env.signoz_telemetrystore_provider |
clickhouse |
— |
otelCollector.image.tag |
v0.144.11 |
Deployment <release>-otel-collector |
telemetryStoreMigrator.enableReplication |
true |
Migrator job (older docs call this schemaMigrator) |
telemetryStoreMigrator.timeout |
10m |
— |
clickhouse.image.tag |
25.12.5 |
Via Altinity clickhouse-operator 0.21.2 |
clickhouse.layout.shardsCount / replicasCount |
1 / 1 |
Marked experimental in values.yaml |
clickhouse.zookeeper.replicaCount |
1 |
Image signoz/zookeeper:3.7.1 |
postgresql.enabled |
false |
SQLite metastore by default |
signoz-otel-gateway.enabled |
false |
Licensed component |
| Prerequisites (chart README) | Kubernetes 1.16+, Helm 3.0+ | — |
Source: charts/signoz/values.yaml.
Capacity Planning¶
Reference sizing from the official resources planning guide (page dated 2026-07-31):
| Component | Replicas | CPU per instance | Memory per instance (GiB) | Total CPU | Total memory (GiB) |
|---|---|---|---|---|---|
| Collectors | 3 | 4 | 16 | 12 | 48 |
| ClickHouse | 2 shards | 16 | 32 (depends on data volume) | 32 | 64 |
| SigNoz Core | 1 | 4 | 8 | 4 | 8 |
| PostgreSQL | 1 | 2 | 8 | 2 | 8 |
| ZooKeeper | 3 | 2 | 8 | 6 | 24 |
| Cloud | General purpose (collectors, SigNoz, Postgres, ZooKeeper) | ClickHouse |
|---|---|---|
| AWS | T3+ (Intel), T4g+ (Arm). Smallest fit: t3.xlarge / t4g.xlarge |
C5+ (Intel), C6g/C7g+ (Arm). Smallest fit: c5.4xlarge |
| GCP | E2+. Smallest fit: e2-standard-4 |
C3 / C3D+. Smallest fit: c3-highcpu-22 |
| Azure | Dsv5 / Dasv5 / Dpsv5+ | Fsv2 / Fasv6+ |
Minimum for a single-machine Docker install: 4 GB of memory allocated to Docker (Docker install docs).
Benchmark Results (Vendor)¶
| Metric (logs) | SigNoz vs Elasticsearch (ELK) | Source |
|---|---|---|
| Ingestion speed | About 2.5x faster | SigNoz logs benchmark |
| Ingestion resource use | About 50% less | same |
| Aggregate queries | Up to 13x faster (ELK was faster for some queries, such as COUNT) | same |
| Storage for the same logs | About half of ELK | same |
| Loki | Could not ingest high-cardinality labels in the test setup | same |
Test versions: signoz-otel-collector 0.55.3, ClickHouse 22.4.5, Elasticsearch/Logstash 8.4.3, Loki/Promtail 2.6.1 (logs-benchmark repo). The benchmark was published in January 2023 and is vendor-run. See Explanation for caveats.
Hardening Checklist¶
| Area | Recommendation |
|---|---|
| Sessions | Keep the default opaque tokenizer. If you use jwt, set a strong SIGNOZ_TOKENIZER_JWT_SECRET. |
| OTLP ingestion (self-hosted) | No auth by default. Keep 4317/4318 on private networks, or put an authenticating proxy or gateway collector in front. |
| Ingestion keys (Cloud) | One key per source. Set expiry dates and per-signal daily limits, especially on keys used in browsers. |
| API access | Use service accounts with the narrowest role. Set key expiry. Keep keys in a secrets manager. |
| ClickHouse user | Dedicated user limited to the signoz_* databases. Keep 9000/8123 internal. |
| ClickHouse TLS | Native TLS on 9440 or HTTPS on 8443 for client and interserver traffic |
| Keeper / ZooKeeper | Private network only. Use digest auth and TLS where supported. |
| SSO | Enforce SSO per authenticated domain. Deprovision users manually after they leave the IdP. |
| TLS termination | Put a reverse proxy or ingress with HTTPS in front of port 8080 |
| Metastore | Back up SQLite/Postgres before every upgrade (dashboards, alerts, pricing rules live there) |
| Encryption at rest | ClickHouse encrypted disks or volume-level encryption |
| Migrations | Run migrations with a privileged ClickHouse user. Use a restricted user at runtime. |