1. Architecture #
OpenTelemetry et ClickHouse.
Composants #
| Composant | Rôle |
|---|---|
| SigNoz OTel Collector | Reçoit OTLP (et d'autres formats), écrit dans ClickHouse, calcule des métriques à partir des spans |
| ClickHouse | Stocke logs, traces et métriques |
| SigNoz (service principal) | API de requêtes, alertes, interface web |
| ZooKeeper / ClickHouse Keeper | Coordination de la réplication ClickHouse |
2. Installer #
Docker Compose ou Helm.
Docker Compose #
git clone -b main https://github.com/SigNoz/signoz.git
cd signoz/deploy/docker
docker compose up -d --remove-orphans
# Interface : http://localhost:8080 OTLP : 4317 (gRPC) et 4318 (HTTP)À savoir : La procédure d'installation et le port de l'interface ont évolué selon les versions : suivez le README du dossier deploy de la version que vous installez.Kubernetes #
helm repo add signoz https://charts.signoz.io && helm repo update
helm install signoz signoz/signoz -n platform --create-namespace -f values.yaml
# Collecte de l'infrastructure (métriques des nœuds et pods, logs des conteneurs, événements)
helm install k8s-infra signoz/k8s-infra -n platform \
--set otelCollectorEndpoint=signoz-otel-collector.platform.svc:4317Bonne Pratique : Dimensionnez d'abord ClickHouse (disques rapides, mémoire) : c'est lui qui porte la charge. Les autres composants sont légers.
3. Envoyer des données #
OTLP, comme partout.
Variables #
export OTEL_SERVICE_NAME=commandes
export OTEL_EXPORTER_OTLP_ENDPOINT=http://signoz-host:4318
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production
java -javaagent:opentelemetry-javaagent.jar -jar commandes.jarLogs, traces et métriques d'une application instrumentée arrivent ensemble et sont reliés par trace_id et service.name.
