[{"data":1,"prerenderedAt":77},["ShallowReactive",2],{"seo-verification":3,"blog-opentelemetry-grafana-tempo-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":29,"sections":30,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},220,"opentelemetry-grafana-tempo-vps","Grafana Tempo et OpenTelemetry : traçage distribué sur VPS","Déployez un stack de traçage distribué complet sur votre VPS avec OpenTelemetry et Grafana Tempo, sans vendor lock-in ni coût APM.",7,0,false,"2026-08-04T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},8,"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fopentelemetry-grafana-tempo-vps-poster.svg",{"categorySlug":27,"appSlug":28},"monitoring","grafana","Les agents propriétaires comme Datadog ou New Relic facturent l'observabilité à la carte, avec un enfermement progressif dans leur écosystème. OpenTelemetry et Grafana Tempo offrent une alternative CNCF graduée, portable entre backends, que vous déployez intégralement sur votre VPS en moins d'une heure.",[31,35,44,47,66,69],{"type":32,"title":33,"body":34},"h2","Pourquoi adopter OpenTelemetry plutôt qu'un agent propriétaire","OpenTelemetry est un projet CNCF graduaté qui unifie les trois piliers de l'observabilité — traces, métriques et logs — sous un standard vendor-neutral. Contrairement aux agents Datadog ou New Relic, l'OTel Collector reçoit, transforme et exporte la télémétrie vers n'importe quel backend compatible. Vous changez de stockage sans retoucher votre code applicatif. Les SDKs couvrent Node.js, Python, Go, Java, PHP, Ruby et la plupart des langages modernes, ce qui en fait un socle d'instrumentation pérenne quelle que soit votre stack.",{"type":36,"title":37,"items":38},"ul","Ce que la stack OTel + Grafana Tempo vous donne",[39,40,41,42,43],"**Tracing distribué sans index externe** — Grafana Tempo v2.x stocke les traces en blocs compressés (parquet) sur disque local ou objet storage, sans Cassandra ni Elasticsearch.","**Requêtes TraceQL** — le langage dédié de Tempo permet de filtrer les traces par durée, service, statut d'erreur ou attributs personnalisés en quelques secondes.","**Compatibilité multi-protocoles** — Tempo accepte OTLP, Zipkin et Jaeger : vos applications existantes s'y connectent sans ré-instrumentation.","**Stack légère sur VPS** — 2 Go de RAM suffisent pour un environnement de dev ou staging ; en production avec charge, 4 Go assurent une marge confortable.","**Coût maîtrisé** — un VPS à 99 DH\u002Fmois\u002Fmois self-hosted remplace un abonnement APM Datadog facturé environ 99 DH\u002Fmois par hôte et par mois.",{"type":32,"title":45,"body":46},"Prérequis VPS","Votre VPS doit disposer d'au moins 2 Go de RAM et d'un accès root ou sudo. Docker Engine et Docker Compose v2 doivent être installés. Prévoyez un sous-domaine dédié (par exemple `grafana.votre-domaine.com`) pour exposer l'interface Grafana derrière un reverse proxy TLS. Les ports 4317 (OTLP\u002FgRPC) et 4318 (OTLP\u002FHTTP) doivent être ouverts dans votre pare-feu pour recevoir la télémétrie depuis vos applications.",{"type":48,"title":49,"steps":50},"steps","Déployer la stack OTel en cinq étapes",[51,54,57,60,63],{"title":52,"body":53},"Créer la structure Docker Compose","Organisez un dossier `otel-stack\u002F` contenant vos fichiers de configuration et un `docker-compose.yml`. Définissez quatre services : `otel-collector`, `tempo`, `prometheus` et `grafana`. Reliez-les sur un réseau Docker interne `monitoring`. Montez un volume nommé `tempo-data` pour la persistance des traces sur le disque du VPS.",{"title":55,"body":56},"Configurer l'OTel Collector (`otelcol-config.yaml`)","Déclarez deux receivers : `otlp` sur les ports 4317 (gRPC) et 4318 (HTTP). Dans la section `exporters`, ajoutez `otlp\u002Ftempo` pointant vers `tempo:4317` et `prometheus` vers le port 8889. Le pipeline `traces` relie le receiver OTLP à l'exporter Tempo ; le pipeline `metrics` relie le receiver OTLP à l'exporter Prometheus.",{"title":58,"body":59},"Configurer Grafana Tempo (`tempo-config.yaml`)","Activez le receiver OTLP (gRPC sur le port 4317). Définissez le backend de stockage en mode `local` avec le chemin `\u002Fvar\u002Ftempo`. Activez la fonctionnalité `search` pour permettre les requêtes TraceQL depuis Grafana. Pour un usage production, remplacez le backend `local` par `s3` ou `gcs` et renseignez les identifiants de votre fournisseur objet.",{"title":61,"body":62},"Lancer Grafana avec les datasources Tempo et Prometheus","Montez un fichier de provisioning `datasources.yaml` dans le dossier `\u002Fetc\u002Fgrafana\u002Fprovisioning\u002Fdatasources\u002F`. Déclarez deux datasources : une `Tempo` pointant vers `http:\u002F\u002Ftempo:3200` et une `Prometheus` vers `http:\u002F\u002Fprometheus:9090`. Lancez l'ensemble avec `docker compose up -d`. Accédez à Grafana sur le port 3000 et vérifiez que les deux datasources s'affichent en vert.",{"title":64,"body":65},"Instrumenter une première application Node.js ou Python","Pour Node.js, installez `@opentelemetry\u002Fsdk-node` et `@opentelemetry\u002Fauto-instrumentations-node`. Initialisez le SDK avec l'exporter OTLP pointant vers `http:\u002F\u002Fvotre-vps:4318` et définissez la variable d'environnement `OTEL_SERVICE_NAME` avec le nom de votre service. Pour Python, utilisez `opentelemetry-distro` et `opentelemetry-exporter-otlp`. Relancez votre application et consultez Grafana Explore pour voir apparaître vos premières traces.",{"type":67,"body":68},"tip","TraceQL est le langage de requête natif de Grafana Tempo. Il permet de filtrer les traces par durée, service, statut HTTP ou attribut personnalisé. Par exemple, la requête `{ duration > 500ms && status = error }` isole immédiatement les appels lents en erreur sur l'ensemble de votre infrastructure. Combinez plusieurs conditions avec `&&` ou `||` pour affiner le diagnostic sans parcourir des milliers de spans manuellement.",{"type":32,"title":70,"body":71},"Aller plus loin : corréler traces, métriques et logs","Ajoutez Grafana Loki à votre stack pour centraliser les logs applicatifs dans le même environnement. Grafana Explore vous permet de passer d'une trace à ses logs associés en un clic, puis de vérifier les métriques Prometheus correspondantes sur la même fenêtre temporelle. Si vous préférez un seul binaire tout-en-un, OpenObserve est une alternative légère qui regroupe traces, métriques et logs dans un seul service — disponible lui aussi en auto-hébergement sur VPS.","Grafana est dans le catalogue ServOrbit","Déployez Grafana en un clic depuis notre Marketplace et connectez-y votre stack OTel + Tempo sans configuration manuelle.","Déployer Grafana sur VPS","\u002Fmarketplace\u002Fmonitoring\u002Fgrafana",[],1785852598477]