TL;DRCapturez les traces distribuées de Nginx dans ClickStack à l’aide du module OpenTelemetry Nginx. Comprend un jeu de données de démonstration et un tableau de bord préconfiguré.
Intégration à une installation Nginx existante
Prérequis
- Une instance ClickStack en cours d’exécution avec des endpoints OTLP accessibles (ports 4317/4318)
- Une installation Nginx existante (version 1.18 ou ultérieure)
- Un accès root ou sudo pour modifier la configuration de Nginx
- Le nom d’hôte ou l’adresse IP de votre instance ClickStack
Installer le module Nginx OpenTelemetry
Le moyen le plus simple d’ajouter le traçage à Nginx consiste à utiliser l’image Nginx officielle avec la prise en charge intégrée d’OpenTelemetry.Utilisation de l’image nginx:otel
Remplacez votre image Nginx actuelle par la version avec OpenTelemetry activé :ngx_otel_module.so, préinstallé et prêt à l’emploi.Si vous exécutez Nginx en dehors de Docker, consultez la documentation Nginx OpenTelemetry pour les instructions d’installation manuelle.
Configurer Nginx pour envoyer des traces à ClickStack
Ajoutez la configuration OpenTelemetry à votre fichiernginx.conf. Elle charge le module et envoie les traces vers l’endpoint OTLP de ClickStack.Commencez par récupérer votre clé API :- Ouvrez HyperDX à l’URL de votre instance ClickStack
- Accédez à Settings → API Keys
- Copiez votre clé API d’ingestion
- Définissez-la comme variable d’environnement :
export CLICKSTACK_API_KEY=your-api-key-here
nginx.conf :<clickstack-host> par le nom d’hôte ou l’adresse IP de votre instance ClickStack.- Le port 4317 est l’endpoint gRPC utilisé par le module Nginx
- otel_service_name doit décrire clairement votre instance Nginx (par ex. : “api-gateway”, “frontend-proxy”)
- Adaptez otel_service_name à votre environnement pour faciliter l’identification dans HyperDX
Comprendre la configuration
Ce qui est tracé : Chaque requête vers Nginx crée un span de trace affichant :- La méthode et le chemin de la requête
- Le code d’état HTTP
- La durée de la requête
- L’horodatage
otel_span_attr ajoutent des métadonnées à chaque trace, ce qui vous permet de filtrer et d’analyser les requêtes dans HyperDX par code d’état, méthode, route, etc.Après avoir effectué ces modifications, testez votre configuration Nginx :Vérifier les traces dans HyperDX
Une fois la configuration terminée, connectez-vous à HyperDX et vérifiez que les traces arrivent. Vous devriez voir quelque chose comme ceci. Si vous ne voyez pas de traces, essayez d’ajuster votre plage de temps :Jeu de données de démonstration
Démarrer ClickStack
Si ClickStack n’est pas encore en cours d’exécution, démarrez-le avec :- Port 8080 : interface web HyperDX
- Port 4317 : endpoint OTLP gRPC (utilisé par le module nginx)
- Port 4318 : endpoint OTLP HTTP (utilisé pour les traces de démonstration)
Télécharger le jeu de données d’exemple
Téléchargez le fichier d’exemple de traces et mettez les horodatages à l’heure actuelle :- 1 000 spans de trace avec une chronologie réaliste
- 9 endpoints différents avec des profils de trafic variés
- ~93 % de réussite (200), ~3 % d’erreurs client (404), ~4 % d’erreurs serveur (500)
- Des latences allant de 10ms à 800ms
- Les profils de trafic d’origine sont conservés, mais décalés à l’heure actuelle
Envoyer les traces à ClickStack
Définissez votre clé API comme variable d’environnement (si ce n’est pas déjà fait) :- Ouvrez HyperDX à l’URL de votre ClickStack
- Accédez à Settings → API Keys
- Copiez votre clé API d’ingestion
Exécution sur localhostCette démonstration suppose que ClickStack s’exécute localement sur
localhost:4318. Pour les instances distantes, remplacez localhost par le nom d’hôte de votre ClickStack.{"partialSuccess":{}}, indiquant que les traces ont bien été envoyées. Les 1 000 traces seront toutes ingérées dans ClickStack.Vérifier les traces dans HyperDX
- Ouvrez HyperDX et connectez-vous à votre compte (vous devrez peut-être d’abord en créer un)
- Accédez à la vue Search et définissez la source sur
Traces - Réglez l’intervalle de temps sur 2025-10-25 13:00:00 - 2025-10-28 13:00:00
Affichage du fuseau horaireHyperDX affiche les horodatages dans le fuseau horaire local de votre navigateur. Les données de démonstration couvrent 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC). Cette large plage horaire garantit que vous verrez les traces de démonstration quel que soit votre emplacement. Une fois les traces visibles, vous pourrez réduire la plage à une période de 24 heures pour obtenir des visualisations plus claires.
Tableaux de bord et visualisations
la configuration du tableau de bord
Importez le tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Dashboards.
- Cliquez sur “Import Dashboard” dans le coin supérieur droit, sous les points de suspension.
- Téléversez le fichier nginx-trace-dashboard.json, puis cliquez sur Finish Import.
Le tableau de bord sera créé avec toutes les visualisations préconfigurées.
Pour le jeu de données de démonstration, définissez l’intervalle de temps sur 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC) (ajustez-le en fonction de votre fuseau horaire local). Le tableau de bord importé n’aura pas d’intervalle de temps défini par défaut.
Dépannage
Aucune trace n’apparaît dans HyperDX
Étapes suivantes
- Configurez des alertes pour les métriques critiques (taux d’erreur, seuils de latence)
- Créez des tableaux de bord supplémentaires pour des cas d’usage spécifiques (supervision des API, événements de sécurité)