Skip to content

SigNoz — Commands & Recipes

Runnable commands, configuration snippets, and troubleshooting recipes for SigNoz.

Installation

Helm (Kubernetes)

helm repo add signoz https://charts.signoz.io
helm repo update
kubectl create namespace signoz
helm install signoz signoz/signoz --namespace signoz

Docker Compose

git clone https://github.com/SigNoz/signoz.git
cd signoz/deploy/docker/clickhouse-setup
docker compose up -d

Operational Recipes

Check ClickHouse Disk Usage

kubectl exec -n signoz $(kubectl get pod -n signoz -l app=clickhouse -o name | head -1) -- \
  clickhouse-client --query "
    SELECT database, table,
      formatReadableSize(sum(bytes_on_disk)) as size,
      sum(rows) as rows
    FROM system.parts
    WHERE active
    GROUP BY database, table
    ORDER BY sum(bytes_on_disk) DESC"

Adjust Retention via ClickHouse TTL

# Set traces retention to 14 days
kubectl exec -n signoz $(kubectl get pod -n signoz -l app=clickhouse -o name | head -1) -- \
  clickhouse-client --query "
    ALTER TABLE signoz_traces.signoz_index_v2
    MODIFY TTL timestamp + INTERVAL 14 DAY"

# Set logs retention to 30 days
kubectl exec -n signoz $(kubectl get pod -n signoz -l app=clickhouse -o name | head -1) -- \
  clickhouse-client --query "
    ALTER TABLE signoz_logs.logs
    MODIFY TTL timestamp + INTERVAL 30 DAY"

View Collector Metrics

# Check OTel Collector internal metrics
kubectl port-forward -n signoz svc/signoz-otel-collector 8888:8888
curl http://localhost:8888/metrics | grep otelcol_receiver_accepted

Restart Components

# Restart query service
kubectl rollout restart deployment signoz-query-service -n signoz

# Restart frontend
kubectl rollout restart deployment signoz-frontend -n signoz

# Restart OTel Collector
kubectl rollout restart deployment signoz-otel-collector -n signoz

Check Logs

# Query service logs
kubectl logs -n signoz -l app=signoz-query-service --tail=100

# Collector logs
kubectl logs -n signoz -l app=signoz-otel-collector --tail=100

# Docker Compose
docker compose logs -f signoz-query-service
docker compose logs -f signoz-otel-collector

Upgrade

helm repo update signoz
helm upgrade signoz signoz/signoz -n signoz -f values.yaml

# Verify
kubectl get pods -n signoz

Useful ClickHouse Queries

-- Top services by trace count (last 1h)
SELECT serviceName, count() as cnt
FROM signoz_traces.signoz_index_v2
WHERE timestamp >= now() - INTERVAL 1 HOUR
GROUP BY serviceName
ORDER BY cnt DESC
LIMIT 20;

-- Error rate by service (last 1h)
SELECT serviceName,
  countIf(statusCode = 2) / count() as error_rate
FROM signoz_traces.signoz_index_v2
WHERE timestamp >= now() - INTERVAL 1 HOUR
GROUP BY serviceName
HAVING count() > 100
ORDER BY error_rate DESC;

-- Log volume by severity (last 1h)
SELECT severityText, count() as cnt
FROM signoz_logs.logs
WHERE timestamp >= now() - INTERVAL 1 HOUR
GROUP BY severityText
ORDER BY cnt DESC;

Sources