Skip to main content
telemetrygen est le générateur de données d’OpenTelemetry Collector Contrib. Il émet des logs, traces et métriques OTLP synthétiques, et propose des flags permettant de modeler les données : services multiples, niveaux de sévérité des logs, statuts de span et spans enfants, ainsi que différents types de métriques. Utilisez-le pour vérifier qu’un collector OpenTelemetry ClickStack accepte bien les données et que des événements variés et réalistes s’affichent dans la ClickStack UI. Ce guide suppose que le collector est déjà en cours d’exécution avec des endpoints OTLP sur 4317 (gRPC) et 4318 (HTTP).
1

Prérequis

Ce guide part du principe que vous avez terminé le Guide de démarrage de Managed ClickStack et qu’un collecteur OpenTelemetry est en cours d’exécution, avec des endpoints OTLP gRPC (4317) et HTTP (4318) accessibles depuis la machine sur laquelle vous exécutez telemetrygen. Si vous avez sécurisé le collecteur avec un OTLP_AUTH_TOKEN, conservez cette valeur à portée de main.
2

Installer telemetrygen

Exécutez telemetrygen depuis son image Docker (aucune installation requise). Définissez un petit wrapper pour que les commandes ci-dessous restent lisibles ; --add-host permet au conteneur d’atteindre un collecteur en écoute sur l’hôte :
Ou installez le binaire avec Go et utilisez localhost comme cible :
3

Définir les variables d’environnement

Exportez le jeton d’authentification si le collector est sécurisé :
Collecteur non sécuriséLe ClickStack OpenTelemetry collector ne nécessite aucune authentification par défaut. Si vous n’avez pas suivi Sécurisation du collecteur pour définir un OTLP_AUTH_TOKEN, supprimez la ligne --otlp-header de l’utilitaire ci-dessous.
Définissez un petit utilitaire tg pour que chaque commande n’indique que ce qui change (service, sévérité, status, attributs) :
4

Générer des logs

Envoyez des logs avec un mélange réaliste de niveaux de gravité selon les services, majoritairement informatifs, avec aussi un avertissement et une erreur, plutôt qu’un flux uniforme :
Les options de log les plus utiles :
  • --service définit service.name afin que les événements puissent être attribués à un service.
  • --severity-text et --severity-number définissent le niveau (severity-number va de 1 à 24).
  • --body définit le message de log.
  • --otlp-attributes définit des attributs au niveau de la ressource (key="value", key=true, ou key=<integer>).
  • --telemetry-attributes définit les attributs propres à chaque enregistrement.
5

Générer des traces

Envoyez des traces à plusieurs spans provenant de plusieurs services sains, ainsi que d’une dépendance défaillante. Cela donne au Service Map une forme réaliste, globalement saine, avec un service en erreur, et alimente les vues d’erreur :
Les options de trace les plus utiles :
  • --child-spans génère ce nombre de spans enfants par trace, ce qui donne à chacune une vraie profondeur.
  • --span-duration définit la durée de chaque span (par exemple 120ms, 2s).
  • --status-code accepte l’une des valeurs Unset, Error, Ok (ou 0, 1, 2). Utilisez Error pour tester les vues d’erreur.
  • --span-links ajoute des liens entre les spans.
  • --workers exécute plusieurs générateurs en parallèle afin d’obtenir un volume plus élevé et plus varié.
6

Générer des métriques

Envoyez les trois types de métriques les plus courants afin que les tableaux de bord disposent de compteurs, de jauges et d’une distribution. Contrairement à certains générateurs, telemetrygen prend en compte --duration pour les métriques ; aucun arrêt manuel n’est donc nécessaire :
--metric-type accepte Gauge, Sum, Histogram ou ExponentialHistogram. --otlp-metric-name donne un nom à la série afin que vous puissiez la retrouver dans l’UI, et --aggregation-temporality vaut delta ou cumulative.
7

Vérifiez dans ClickStack

Ouvrez la ClickStack UI depuis la console ClickHouse Cloud. Dans la vue Search, réglez la plage de temps sur Last 15 minutes et basculez la source entre Logs et Traces. Filtrez sur ServiceName pour afficher les services frontend, checkout, cart et payment, puis sur SeverityText pour trouver les logs d’avertissement et d’erreur. Ouvrez une trace payment pour voir les spans enfants et le statut d’erreur. Ouvrez le Chart Explorer, sélectionnez Metrics et créez un graphique à partir de l’un des noms de métrique définis ci-dessus (par exemple http.server.requests) pour vérifier l’ingestion des métriques.
Last modified on July 2, 2026