RousselTMLEARNING

Observabilité

SigNoz : architecture et installation

Les composants de SigNoz (collecteur OpenTelemetry, ClickHouse, service de requêtes, interface, alertes), son installation avec Docker Compose et Helm, et la collecte de l'infrastructure Kubernetes.

1. Architecture #

OpenTelemetry et ClickHouse.

Composants #

Architecture de SigNoz
Le collecteur de SigNoz est une distribution de l'OpenTelemetry Collector.
ComposantRôle
SigNoz OTel CollectorReçoit OTLP (et d'autres formats), écrit dans ClickHouse, calcule des métriques à partir des spans
ClickHouseStocke logs, traces et métriques
SigNoz (service principal)API de requêtes, alertes, interface web
ZooKeeper / ClickHouse KeeperCoordination 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:4317
Bonne 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.jar

Logs, traces et métriques d'une application instrumentée arrivent ensemble et sont reliés par trace_id et service.name.

Articles liés

L'observabilité sur ClickHouse : pourquoi une base colonne change la donne

Pourquoi de plus en plus de plateformes d'observabilité stockent logs, traces et métriques dans ClickHouse : …

Utiliser SigNoz : APM, traces, logs, dashboards et alertes

Exploiter SigNoz au quotidien : vue APM des services, explorateur de traces et de logs, query builder, requêt…

ClickStack : ClickHouse, HyperDX et OpenTelemetry

La pile d'observabilité officielle de ClickHouse : installation tout-en-un, interface HyperDX (recherche, tra…

Pour aller plus loin