This guide explains how to use systemd binary casting for deploying SigNoz.
Before running foundryctl cast, install the required dependencies.
ClickHouse is used as the telemetry store. Install both clickhouse-server and clickhouse-keeper.
Verify installation:
clickhouse-server --version
clickhouse-keeper --versionPostgreSQL is used as the metadata store.
Verify installation:
postgres --versioncurl -L https://github.com/SigNoz/signoz/releases/latest/download/signoz_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz -o signoz.tar.gz
tar -xzf signoz.tar.gz
sudo mkdir -p /opt/signoz /var/lib/signoz
sudo cp -r signoz_linux_*/* /opt/signoz/curl -L https://github.com/SigNoz/signoz-otel-collector/releases/latest/download/signoz-otel-collector_linux_$(uname -m | sed 's/x86_64/amd64/g' | sed 's/aarch64/arm64/g').tar.gz -o signoz-otel-collector.tar.gz
tar -xzf signoz-otel-collector.tar.gz
sudo mkdir -p /opt/ingester /var/lib/ingester
sudo cp -r signoz-otel-collector_linux_*/* /opt/ingester/sudo useradd -r -s /sbin/nologin signoz
sudo chown -R signoz:signoz /opt/signoz /var/lib/signoz /opt/ingester /var/lib/ingesterAlso, make sure that "signoz" user is allowed to transverse to the pours directory.
Create a casting.yaml file:
apiVersion: v1alpha1
metadata:
name: signoz
spec:
deployment:
flavor: binary
mode: systemdfoundryctl gauge -f casting.yamlsudo foundryctl cast -f casting.yamlReplace <name> with your metadata.name from casting.yaml:
systemctl status <name>-signoz.service
systemctl status <name>-ingester.service
systemctl status <name>-telemetrystore-clickhouse-0-0.service
systemctl status <name>-telemetrykeeper-clickhousekeeper-0.service
systemctl status <name>-metastore-postgres.serviceView logs:
journalctl -u <name>-signoz.service -fUse annotations to specify custom binary paths or other deployment metadata:
| Name | Type | Description |
|---|---|---|
foundry.signoz.io/signoz-binary-path |
string | Path to the SigNoz binary |
foundry.signoz.io/ingester-binary-path |
string | Path to the OTel Collector binary |
foundry.signoz.io/metastore-postgres-binary-path |
string | Path to the PostgreSQL binary |
apiVersion: v1alpha1
metadata:
name: signoz
annotations:
foundry.signoz.io/signoz-binary-path: /opt/signoz/bin/signoz
foundry.signoz.io/ingester-binary-path: /opt/ingester/bin/signoz-otel-collector
foundry.signoz.io/metastore-postgres-binary-path: /usr/bin/postgres
spec:
deployment:
flavor: binary
mode: systemd