Skip to content

Architecture

Use this page when you want to know which component does what, for example to size, secure or troubleshoot an installation.

FuseScope architecture: applications, Kubernetes and collectors send OTLP to the FuseScope OTel collector, which writes to ClickHouse (coordinated by ZooKeeper, schema by the schema migrator). The FuseScope backend queries ClickHouse, keeps metadata in PostgreSQL or SQLite, configures collectors over OpAMP, signs users in through an OIDC identity provider and sends alerts to notification channels.

fusescope server, image ghcr.io/fuseone-io/fusescope. It serves the web UI and the API on port 8080, runs queries against ClickHouse, evaluates alert rules and sends notifications through its embedded Alertmanager. It keeps users, dashboards, alert rules and SSO domains in the metadata store.

Its OpAMP server on port 4320 pushes collector configuration managed in the UI, such as log pipelines, to the collectors.

ghcr.io/fuseone-io/fusescope-otel-collector, from fusescope-otel-collector. It receives OTLP on ports 4317 (gRPC) and 4318 (HTTP), and Jaeger, computes span metrics, and writes traces, metrics and logs to ClickHouse. It scales horizontally.

The collector image also owns the ClickHouse schema. The Helm chart runs it as a Job (migrate bootstrap, migrate sync up, migrate async up) at install and as a pre-upgrade hook, so the schema is current before a new version starts.

Stores all telemetry in the signoz_traces, signoz_metrics, signoz_logs, signoz_meter and signoz_metadata databases. The chart deploys it with the Altinity ClickHouse operator; clickhouse.layout sets shards and replicas, and clickhouse.coldStorage moves older data to S3 or GCS. Use externalClickhouse to point at an existing cluster.

ClickHouse uses ZooKeeper to coordinate Replicated* tables and to run ON CLUSTER DDL across the cluster. The chart installs it with ClickHouse (clickhouse.zookeeper.enabled); clickhouse.externalZookeeper points at an existing ensemble.

SQLite on a persistent volume for a single backend replica, or PostgreSQL for several. See Metadata store.

Component Port Use
Backend 8080 UI and API
Backend 4320 OpAMP for collectors
Backend 9090 Prometheus metrics of the backend itself
Collector 4317 OTLP gRPC
Collector 4318 OTLP/HTTP
Collector 14268 Jaeger Thrift over HTTP
ClickHouse 9000 Native protocol used by the backend and collector