Skip to main content
telemetrygen 是 OpenTelemetry Collector Contrib 提供的数据生成器。它会生成合成的 OTLP 日志、链路追踪和指标,并提供可用于控制数据形态的命令行参数,例如多个服务、日志级别、span 状态和子 span,以及不同的指标类型。你可以用它来确认 ClickStack OpenTelemetry collector 是否正在接收数据,以及多样化且逼真的事件是否会出现在 ClickStack UI 中。 本指南假定 collector 已在 4317 (gRPC) 和 4318 (HTTP) 上开放 OTLP 端点,并且正在运行。
1

前置条件

本指南假定你已完成托管 ClickStack 入门指南,并且已有一个正在运行的 OpenTelemetry Collector,其 OTLP gRPC (4317) 和 HTTP (4318) 端点可从运行 telemetrygen 的机器访问。如果你已使用 OTLP_AUTH_TOKEN 保护该 Collector,请将该值妥善保存备用。
2

安装 telemetrygen

直接通过它的 Docker 镜像运行 telemetrygen (无需安装) 。定义一个简单的包装命令,方便保持下面的命令简洁易读;--add-host 可让容器访问监听在主机上的 collector:
或者使用 Go 安装该二进制文件,并将目标设为 localhost
3

设置环境变量

如果 collector 已启用安全机制,请导出认证令牌:
未受保护的 collectorClickStack OpenTelemetry collector 默认不启用身份验证。如果你尚未按照保护 collector中的说明设置 OTLP_AUTH_TOKEN,请从下面的辅助命令中删除 --otlp-header 这一行。
定义一个简洁的 tg 辅助函数,这样每条命令只需指定会变化的部分 (service、severity、status、属性) :
4

生成日志

发送跨服务、贴近真实的不同严重级别日志:以信息级为主,夹杂少量警告和错误,而不是单一均匀的日志流:
最有用的日志参数:
  • --service 设置 service.name,以便将事件归因到某个服务。
  • --severity-text--severity-number 设置级别 (severity-number 的取值范围为 1 到 24) 。
  • --body 设置日志消息。
  • --otlp-attributes 设置资源级属性 (key="value"key=truekey=<integer>) 。
  • --telemetry-attributes 设置每条记录的属性。
5

生成链路追踪

发送来自多个健康服务和一个故障依赖项的多 span 链路追踪。这样可以让服务地图呈现更贴近真实的形态:大多数服务健康,只有一个服务报错,并填充错误相关视图:
最有用的 trace 标志:
  • --child-spans 为每个 trace 生成指定数量的子 span,让每个 trace 具有更真实的层次深度。
  • --span-duration 设置每个 span 的持续耗时 (例如 120ms2s) 。
  • --status-code 可设为 UnsetErrorOk (或 012) 。使用 Error 可触发 error 视图。
  • --span-links 在 span 之间添加链接。
  • --workers 并行运行多个生成器,以产生更高、更多样的流量。
6

生成指标

发送三种常见的指标类型,让仪表盘中显示计数器、Gauge 和分布。与某些生成器不同,telemetrygen 在生成指标时会遵循 --duration 设置,因此无需手动停止:
--metric-type 可接受 GaugeSumHistogramExponentialHistogram--otlp-metric-name 用于为该序列命名,便于你在 UI 中找到它;--aggregation-temporality 则可设为 deltacumulative
7

在 ClickStack 中验证

从 ClickHouse Cloud 控制台打开 ClickStack UI。在 Search 视图中,将时间范围设置为 Last 15 minutes,然后在 LogsTraces 数据源之间切换。按 ServiceName 过滤,可查看 frontendcheckoutcartpayment 服务;按 SeverityText 过滤,可查找警告和错误日志。打开一条 payment trace,查看其子 span 和错误状态。打开 Chart Explorer,选择 Metrics,并将你在上面设置的某个指标名称绘制成图表 (例如 http.server.requests) ,以验证指标摄取。
Last modified on July 2, 2026